How to override surface temperaure
I want to override the temperature of surfaces (BuildingSurface:Detailed
) with Schedule:File
. I won't detail the reason here, but it's just for modelling simplification of high-rise buildings with conditioned floors and unconditioned floors.
It's easy to set the floor/ceiling surfaces of the Typical floor as Adiabatic, but I want to do a little more accurate modeling.
When I look at the edd file, the Component Type "Surface" has only the following Control Types. I can't choose the surface temperature as Actuator.
- Construction State,[ ]
- ExteriorSurface Convection Heat Transfer Coefficient,[W/m2-K]
- Interior Surface Convection Heat Transfer Coefficient,[W/m2-K]
- View Factor To Ground,[ ]
- Outdoor Air Drybulb Temperature,[C]
- Outdoor Air Wetbulb Temperature,[C]
- Outdoor Air Wind Speed,[m/s]
- Outdoor Air Wind Direction,[degree]
Therefore, I came up with the following workaround.
I decided to override Outdoor Air Drybulb Temperature of the surface. Outside Boundary Condition of the surface was set to Outdoors
(NoSun
and NoWind
). However, the surface temperature is different from the outdoor air temperature.
In order to minimize the effect of the outside Air Film, Outside Convection Coefficient of the surface was set to 1000W/m2-K which is the maximum value that can be entered.
BuildingSurface:Detailed,
2to50F_Office_1_Floor, !- Name
FLOOR, !- Surface Type
Interior_Floor, !- Construction Name
2to50F_Office_1, !- Zone Name
, !- Space Name
Outdoors, !- Outside Boundary Condition
, !- Outside Boundary Condition Object
NoSun, !- Sun Exposure
NoWind, !- Wind Exposure
autocalculate, !- View Factor to Ground
4, !- Number of Vertices
-154.48095703125, !- Vertex 1 X-coordinate {m}
-66.984489440917969, !- Vertex 1 Y-coordinate {m}
123.80000305175781, !- Vertex 1 Z-coordinate {m}
-155.17350769042969, !- Vertex 2 X-coordinate {m}
-64.064559936523438, !- Vertex 2 Y-coordinate {m}
123.80000305175781, !- Vertex 2 Z-coordinate {m}
-150.95506286621094, !- Vertex 3 X-coordinate {m}
-63.064018249511719, !- Vertex 3 Y-coordinate {m}
123.80000305175781, !- Vertex 3 Z-coordinate {m}
-150.26249694824219, !- Vertex 4 X-coordinate {m}
-65.983940124511719, !- Vertex 4 Y-coordinate {m}
123.80000305175781; !- Vertex 4 Z-coordinate {m}
SurfaceProperty:ConvectionCoefficients,
2to50F_Office_1_Floor, !- Surface Name
Outside, !- Convection Coefficient 1 Location
Value, !- Convection Coefficient 1 Type
1000; !- Convection Coefficient 1 {W/m2-K}
After that, I wrote a small EMS program to override the Outdoor Air Drybulb Temperature. The simulation result looks ok. The surface temperature became almost the same value as the temperature in Schedule:File
.
Is there a better way to override the surface temperature?
Hey @Keigo. Did you consider OtherSideCoefficients as an option? From what you describe, I think it could be easier - no need to bring in EMS. Maybe I'm missing something.
@Denis Bourgeois I want all the conditioned floors on the left side of the atachetd image to be represented by one typical floor with multiplier on the right. It is very difficult to properly adjust the heat transfer coefficient of the floor/ceiling of the typical floor on the right because the typical floor is adjacent to outdoors while the actual conditioned floors on the left are not exposed to outdoors. There is heat transfer between the conditioned floor and the unconditioned floor. I want to take the heat transfer into account with one typical floor model.
@Keigo the
OtherSideCoefficients
object type has a constant temperature field for "...either of the surface or outside air temperature." This can also be defined via schedule. The tricky part is knowing what value to apply to all the other heat transfer parameters of the object.Also, wouldn't you want an unmultiplied top and bottom floor surrounding the multiplied typical floor in the middle? The typical floor should be adjacent to outdoors only at the walls, not the floor or ceiling surfaces.
@Denis Bourgeois@Aaron Boranian You guys are right. I didn't know
SurfaceProperty:OtherSideCoefficients
could specify the surface temperature, given its class name. Thank you for your answer!