wall transfer function coefficient error in TRNSYS

wall_transfer_function_coefficient_errorwall_transfer_function_coefficient_errorwall transfer function

This error shows up at the first place when I give the insulation layer a big thickness.

I wrote an E-Mail to transsolar support, and the trick is the Timebase setting in Output of Type 56, which is mentioned in the manual page 5-24.

more was discussed in the paper and presentation of Benoit Delcroix etc.


There are a few known workarounds when Type56 is not able to calculate transfer functions. I believe they have been discussed in the past but here are the ones I know:

– Sometimes the problem occurs for highly insulated walls that are not particularly thick or heavy. In that case replacing some insulation layers with mass-less layers can do the trick. Usually the thermal mass of the insulation layer can be neglected so this is my preferred approach.

– Split the wall in two (or more) parts. You should split the wall as you describe (e.g. half of the thickness in each wall for a uniform wall) but then add a fictitious zone between the two parts of the wall. You basically use that fictitious zone as an infinitely small and infinitely conductive air layer. You should set a very small volume and infinite convection coefficients in the fictitious zone. I think it is best to handle windows separately from the wall if you adopt that approach (windows do not need to be part of a wall in Type56).

– Increase the time base. This is obviously not a great idea if you also have much lighter walls in the building, but if you are simulating a castle with 3-m thick walls all over I guess that would be acceptable.

In any case I would setup a test model with standard walls that are OK, apply the workaround (e.g. add the fictitious zone) and check that the results are the same. Then you can replace the walls with the one that causes the problem.

I hope this helps,

Michaël Kummert
ESRU, University of Strathclyde

Building Controls Virtual Test Bed

The Building Controls Virtual Test Bed (BCVTB) is a software environment that allows expert users to couple different simulation programs for co-simulation, and to couple simulation programs with actual hardware. For example, the BCVTB allows to simulate a building in EnergyPlus and the HVAC and control system in Modelica, while exchanging data between the software as they simulate. The BCVTB is based on the Ptolemy II software environment. The BCVTB allows expert users of simulation to expand the capabilities of individual programs by linking them to other programs. Due to the different programs that may be involved in distributed simulation, familiarity with configuring programs is essential.

Programs that are linked to the BCVTB are



Modelica Library for Building Energy and Control Systems

The Modelica Buildings library is a free open-source library with dynamic simulation models for building energy and control systems. The library contains models for

  • air-based HVAC systems,
  • water-based heating systems,
  • controls,
  • heat transfer among rooms and the outside, and
  • multizone airflow, including natural ventilation and contaminant transport.

The primary use of the library is for flexible and fast modeling of building energy and control systems to accelerate innovation leading to cost-effective very low energy systems for new and existing buildings. The library is particularly suited for

  • rapid prototyping of new building systems,

  • analysis of the operation of existing building systems,

  • development, specification, verification and deployment of building controls within a model-based design process, and

  • reuse of models during operation for functional testing, for verification of control sequences, for energy-minimizing controls, fault detection and diagnostics.



The Ptolemy Project

The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interaction between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. A software system called Ptolemy II is being constructed in Java. The work is conducted in the Center for Hybrid and Embedded Software Systems (CHESS) in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer.


First cell height

for the coupling process of ES and CFD, a reasonable first cell height is important for determining the convective heat transfer coefficient between wall and air [1]. So the challenge is how to make the mesh in OpenFoam properly. I was told, it is related to a Term called Y+, so now I’m looking into it. Right now, I’m not truly cared about the meaning of this value, I just want to know how can I do it in the pre-processing.

after further reading, I think the “Layer addition” option of snappyHexMesh itself can take over this job [4].

[1] Z. Zhai, “Developing an integrated building design tool by coupling building energy simulation and computational fluid dynamics programs,” Thesis, Massachusetts Institute of Technology, 2003.

Trnsys Functions


How to create new component for TRNSYS 17

the basic is desribed in TRNSYS 17 Manual Volumen 1 Getting Started in 1.8. Creating a new component. The problem is, the tutorial was created for a long time, something changed since the Visual Studio .NET 2003 is not availble. When Visual Studio 2003 was used, the TRNSYS Studio compiles the DLL file directly and save them to the UserLib folder. Now, without Visual Studio 2003, you get a notification, and get two file exported. One .cpp file(C++ source file) and one .dsp(project description for Visual Studio). If you have new generation Visual Studio installed, then open the .dsp file with it, then a new .vcxproj file will be created as project desription file for the new Visual Studio – I use Visual Studio Express 2012. Then build the DLL is quite easy. If TRNSYS.h is not found, copy it form “Trnsys17\Compilers\Cpp-Mvs2003\Include”.

actually I wanna do it with MingW and Code::Blocks, somehow I cannot get it working, I will try later. The .dsp file has some configurations for the compiler and Code::Blocks cannot read it properly, I think. If someone knows how it works, please let me know.