11# BSD 3-Clause License
22#
3- # Copyright (c) 2022-2025 , Denis Bourgeois
3+ # Copyright (c) 2022-2026 , Denis Bourgeois
44# All rights reserved.
55#
66# Redistribution and use in source and binary forms, with or without
@@ -530,7 +530,7 @@ def resetUo(lc = nil, film = nil, index = nil, uo = nil, uniq = false)
530530 mt . setName ( id )
531531
532532 unless mt . setThermalResistance ( r )
533- return invalid ( "Failed #{ id } : RSi#{ de_r . round ( 2 ) } " , mth )
533+ return invalid ( "Failed #{ id } : RSi#{ r . round ( 2 ) } " , mth )
534534 end
535535
536536 lc . setLayer ( index , mt )
@@ -546,7 +546,7 @@ def resetUo(lc = nil, film = nil, index = nil, uo = nil, uniq = false)
546546 k = ( m . thickness / ( r + dR ) ) . clamp ( KMIN , KMAX )
547547 d = ( k * ( r + dR ) ) . clamp ( DMIN , DMAX )
548548 r = d / k
549- id = "OSUT :K#{ format ( '%4.3f' , k ) } :#{ format ( '%03d' , d *1000 ) [ -3 ..-1 ] } "
549+ id = "OSut :K#{ format ( '%4.3f' , k ) } :#{ format ( '%03d' , d *1000 ) [ -3 ..-1 ] } "
550550 mt = lc . model . getStandardOpaqueMaterialByName ( id )
551551
552552 # Existing material?
@@ -928,7 +928,6 @@ def genConstruction(model = nil, specs = {})
928928 if u and a [ :glazing ] . empty?
929929 ro = 1 / u - film
930930
931-
932931 if ro > RMIN
933932 if specs [ :type ] == :door # 1x layer, adjust conductivity
934933 layer = c . getLayer ( 0 ) . to_StandardOpaqueMaterial
@@ -944,27 +943,7 @@ def genConstruction(model = nil, specs = {})
944943 return invalid ( "#{ id } construction" , mth , 0 ) if lyr [ :r ] . to_i . zero?
945944
946945 index = lyr [ :index ]
947- layer = c . getLayer ( index ) . to_StandardOpaqueMaterial
948- return invalid ( "#{ id } material @#{ index } " , mth , 0 ) if layer . empty?
949-
950- layer = layer . get
951-
952- k = ( layer . thickness / ( ro - rsi ( c ) + lyr [ :r ] ) ) . clamp ( KMIN , KMAX )
953- d = ( k * ( ro - rsi ( c ) + lyr [ :r ] ) ) . clamp ( DMIN , DMAX )
954-
955- nom = "OSut:"
956- nom += layer . nameString . gsub ( /[^a-z]/i , "" ) . gsub ( "OSut" , "" )
957- nom += ":K#{ format ( '%4.3f' , k ) } :#{ format ( '%03d' , d *1000 ) [ -3 ..-1 ] } "
958-
959- lyr = model . getStandardOpaqueMaterialByName ( nom )
960-
961- if lyr . empty?
962- layer . setName ( nom )
963- layer . setConductivity ( k )
964- layer . setThickness ( d )
965- else
966- c . setLayer ( index , lyr . get )
967- end
946+ resetUo ( c , film , index , u )
968947 end
969948 end
970949 end
0 commit comments