U-value and Skin List Label for Composite Walls

Home Forums Problems and solutions in GDL Documentation elements, text handling U-value and Skin List Label for Composite Walls

This topic contains 7 replies, has 3 voices, and was last updated by  Balázs Fürtön 1 year ago.

  • Author
    Posts
  • #3770

    Balázs Fürtön
    Participant

    Hi,

    So I’ve started to play with obtaining material-level information from composite walls.
    Although the Energy Evaluation module is capable to calculate the U-value of a given wall, it is not a parameter accessible to scheduling or to show in labels.

    It would look something like the picture in the attachment.

    My problem is, that I cannot get the proper values stored in the building material physical properties (as you can see, the thermal conductivity is properly assigned, but after that the density gets the same value…).

    	for i=1 to n
    	
    	! building material name
    		_wallSkins[i][1] = WALL_SKINS_BMAT_NAMES[i][1]
    		text2 0,-i*0.1, _wallSkins[i][1]
    	
    	! building material width in cm
    		_wallSkins[i][2] = WALL_SKINS_PARAMS[i][2]
    		text2 dist_thickness,-i*0.1, STR ("%m", _wallSkins[i][2]*100) + " cm"
    
    	! thermal conductivity
    		thermCond = REQUEST{2} ("Building_Material_info", _wallSkins[i][1], "gs_bmat_physical_properties", thermalConductivity)
    		_wallSkins[i][3] = thermalConductivity
    		text2 dist_thermCond,-i*0.1, STR ("%m", _wallSkins[i][3]) + " W/mK"
    
    	! density
    		matDensity = REQUEST{2} ("Building_Material_info", _wallSkins[i][1], "gs_bmat_physical_properties", density)
    		_wallSkins[i][4] = density
    		text2 dist_density,-i*0.1, STR ("%m", _wallSkins[i][4]) + " kg/m³"
    	
    	! heat capacity
    		heatCap = REQUEST{2} ("Building_Material_info", _wallSkins[i][1], "gs_bmat_physical_properties", heatCapacity)
    		_wallSkins[i][5] = heatCapacity
    		text2 dist_heatCap,-i*0.1, STR ("%m", _wallSkins[i][5]) + " J/kgK"
    
    	! embodied energy
    		embEnergy = REQUEST{2} ("Building_Material_info", _wallSkins[i][1], "gs_bmat_physical_properties", embodiedEnergy)
    		_wallSkins[i][6] = embodiedEnergy
    		text2 dist_embEnergy, -i*0.1, STR ("%m", _wallSkins[i][6]) + " MJ/kg"
    
    !	! embodied carbon
    !		embCarb = REQUEST{2} ("Building_Material_info", _wallSkins[i][1], "gs_bmat_physical_properties", embodiedCarbon)
    !		_wallSkins[i][7] = embodiedCarbon
    !		text2 dist_embCarbon, -i*0.1, STR ("%m", _wallSkins[i][7]) + " kgCO2/kg"
    
    	
    	next i
    

    For some reason I thought, if I store the request in a variable and use that, it would work, but it works when the requested physical property (e.g. thermalConductivity instead thermCond) is used. Which confuses me, that I used the same logic with the density, but no success.:(

    For the U-value calculation itself these values are not that important, but to double check the used composites, I would say it is useful. (Wish: if the U value of the layers would show up in the composite editor, that would be awesome!)

    If the U-value is stored in a label object, is it possible to assign this value back to the wall? Theoretically, there would be a ,,calculated U-value” property, and a ,,required U-value” (already given) property, and a third value, ,,U-value is sufficient” boolean to create graphic overrides.

    Balazs Furton

    Student of architecture @ Budapest University of Technology and Economics

  • #3772

    Balázs Fürtön
    Participant

    Oh, is it just me, that the code block gets messed up and renders unreadable? (macOS, Safari)

    Another thing, that remains blurry: how do I request the bMat description or manufacturer?

    REQUEST Options

    ! description
    matDescription = REQUEST{2} (“Building_Material_info”, _wallSkins[1], “gs_bmat_description”)
    _wallSkins[3] = matDescription

    In my head the requested string is now stored in the array I’m building (_wallSkins), and I should be able to use it in a text2 command. It doesn’t work though.

    Any suggestions?

    Balazs Furton

    Student of architecture @ Budapest University of Technology and Economics

  • #3773

    Barry Kelly
    Participant

    Oh, is it just me, that the code block gets messed up and renders unreadable? (macOS, Safari)

    It is all there if you select over the text in your message.
    I have noticed this in other posts as well.

    Barry.

    Versions 6.5 to 22
    Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
    Dell Precision M6800 - i7 4700MQ @ 2.40GHz, 16GB RAM, AMD FirePro M6100 (2GB), Windows 7 64bit

  • #3774

    Gergely Fehér
    Keymaster

    You need to use a single request with the exact number of variables, to get all the physical properties in one step:
    n = REQUEST{2} (“Building_Material_info”, “Brick”, “gs_bmat_physical_properties”, thermalConductivity, density, heatCapacity, embodiedEnergy, embodiedCarbon)
    You can not split it up to 5 requests…

    Gergely Fehér
    Team Leader, Library Team
    GRAPHISOFT SE

  • #3776

    Balázs Fürtön
    Participant

    Actually it’s not there:

    e.g. these lines from above:
    ! thermal conductivity
    thermCond = REQUEST{2} (“Building_Material_info”, _wallSkins[1], “gs_bmat_physical_properties”, thermalConductivity)
    _wallSkins[3] = thermalConductivity
    text2 dist_thermCond,-i*0.1, STR (“%m”, _wallSkins[3]) + ” W/mK”

    but the _wallSkins array is two dimensional, so instead e.g. _wallSkins[3] it should look like _wallSkins[i][3], etc.

    ! thermal conductivity
    thermCond = REQUEST{2} (“Building_Material_info”, _wallSkins[i][1], “gs_bmat_physical_properties”, thermalConductivity)
    _wallSkins[i][3] = thermalConductivity
    text2 dist_thermCond,-i*0.1, STR (“%m”, _wallSkins[i][3]) + ” W/mK”

    I don’t know why it happened. Can I edit an older post, or is it disabled by design?

    —–

    In the previous post, I asked how to obtain the description or manufacturer: I had a problem with the apostrophes, I didn’t notice, that they were different… The GDL error said ,,missing comma”, but apparently the upper ones count as comma as well.

    The physical properties apart from conductivity are still a mistery though.

    Balazs Furton

    Student of architecture @ Budapest University of Technology and Economics

  • #3777

    Balázs Fürtön
    Participant

    [ i ] doesn’t show up for me in the posts (Chrome, Windows). I thought it’s a problem with the code block in my post, but plain text is wrong as well.

    _wallSkins[ 3 ] should be _wallSkins[ i ][ 3 ], etc.

    You need to use a single request with the exact number of variables, to get all the physical properties in one step:

    Thanks, I will try to get them at once.

    Balazs Furton

    Student of architecture @ Budapest University of Technology and Economics

  • #3778

    Gergely Fehér
    Keymaster

    [ i ] doesn’t show up for me in the posts (Chrome, Windows). I thought it’s a problem with the code block in my post, but plain text is wrong as well.

    It is caused by the BBCode formatting: [ i ] stands for italic, read more here: http://gdl.graphisoft.com/forum-functions

    Gergely Fehér
    Team Leader, Library Team
    GRAPHISOFT SE

  • #3779

    Balázs Fürtön
    Participant

    It is caused by the BBCode formatting: [ i ] stands for italic, read more here: http://gdl.graphisoft.com/forum-functions

    Thank you Gergo, I will keep this in mind. Perhaps I should name my running indeces appropriately…:)

    I rewrote the part to pull all physical properties in a single request, now it works!
    From the GDL Guide it wasn’t clear that you don’t request the specific values by name, rather it’s an array that will always contain all the values in the given order.

    Balazs Furton

    Student of architecture @ Budapest University of Technology and Economics

You must be logged in to reply to this topic.