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

Data Aggregation (Grouping & Summarizing) in R

A data frame or table has several columns as conditions and the rest as results, now I want to summary the table by the same conditions. That means, the results columns of the rows with same conditions will be added together.

  1. Using tapply()
  2. Using plyr package








Object reference not set to an instance of an object.

This is an error occurred  in the devlopment of a Grasshopper Plugin, when using following code:

protected override void SolveInstance(IGH_DataAccess DA)
string searchFor = “%”;

GH_String pattern = null;
DA.GetData<GH_String>(0, ref pattern);

GH_Number thickness = null;
DA.GetData<GH_Number>(1, ref thickness);

GH_String type = null;
DA.GetData<GH_String>(2, ref type);

GH_String strNew = null;

strNew.Value = pattern.Value.Replace(searchFor, thickness.Value.ToString());

// output has two fields, one new string and the type name

List<GH_String> output = new List<GH_String>();


DA.SetData(0, output);


David Rutten explained the question in the discussion:  http://www.grasshopper3d.com/forum/topics/error-object-reference-not-set-to-an-instance-of-an-object-1

“Object reference not set to an instance of an object” is the most common exception in .NET as far as I know. It means you’re trying to call a method on a class which doesn’t exist. Or rather, a class which hasn’t been instantiated.

GH_Structure & IGH_Goo

GH_Structure and IGH_Goo Interface are two terms that appear a lot while I try to develop a Grasshopper Component. I’m trying to understand them in C#.

Definations from Grasshopper SDK Help

GH_Structure<T> Class: Represents a data tree where each branch has a unique path

IGH_Goo Interface: Base interface for all Data inside Grasshopper. Every parameter must implement a type of Goo.


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