Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
1

EMS for Thermochromic Paints

asked 2022-12-17 18:39:50 -0500

updated 2022-12-18 19:07:47 -0500

Hi,

I am trying to test thermochromic paints with only two options (darker and lighter color), under 28 degrees and over 28 degrees, but there is a severe error during the simulation.

How could I fix it?

This is the script that I am using:

 <ForAllExternalSurfaces>
 EnergyManagementSystem:Sensor,
   Surface_Outside_Face_Temperature_<LoopSurfaceVariableName>,
   <LoopSurfaceIDFName>,
   Surface Outside Face Temperature;
<LoopNextSurface>

<ForAllExternalSurfaces>
EnergyManagementSystem:Actuator,
  Surface_Cons_State_<LoopSurfaceVariableName>,
  <LoopSurfaceIDFName>,
  Surface,
  Construction State;
<LoopNextSurface>

EnergyManagementSystem:ConstructionIndexVariable,
  EMS_Cons_High_Abs,    !- Name
  High Absorptance Construction;              !- Material, 3_1_10061

EnergyManagementSystem:ConstructionIndexVariable,
  EMS_Cons_Low_Abs,    !- Name
  Low Absorptance Construction;              !- Material, 19_1_10062

EnergyManagementSystem:ProgramCallingManager,
  Thermo,
  BeginTimestepBeforePredictor,
  Thermo;

EnergyManagementSystem:Program,
  Thermo,
  <ForAllExternalSurfaces>
  if Surface_Outside_Face_Temperature_<LoopSurfaceVariableName> < 28,
  set Surface_Cons_State_<LoopSurfaceVariableName> = Material, 3_1_10061
  elseif Surface_Outside_Face_Temperature_<LoopSurfaceVariableName> > 28,
  set Surface_Cons_State_<LoopSurfaceVariableName> = Material, 19_1_10062,
  endif,
  <LoopNextSurface>
  ;

And this is the error message:

** Severe  ** GetRuntimeLanguageUserInput: EnergyManagementSystem:ConstructionIndexVariable="EMS_CONS_HIGH_ABS invalid field.
**   ~~~   ** Invalid Construction Object Name=HIGH ABSORPTANCE CONSTRUCTION
**   ~~~   ** Construction was not found.
** Severe  ** GetRuntimeLanguageUserInput: EnergyManagementSystem:ConstructionIndexVariable="EMS_CONS_LOW_ABS invalid field.
**   ~~~   ** Invalid Construction Object Name=LOW ABSORPTANCE CONSTRUCTION
**   ~~~   ** Construction was not found.
**  Fatal  ** Errors found in getting EMS Runtime Language input. Preceding condition causes termination.

Thanks! Camila

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-12-21 10:49:12 -0500

updated 2022-12-21 10:52:03 -0500

The first severe error message indicates that the construction assembly name referenced by the EMS Construction Index Variable EMS_Cons_High_Abs is not found in the model. In DesignBuilder, you need to create a construction assembly named High Absorptance Construction to match what the EMS Construction Index Variable is referencing. While you're doing that, you should also make sure that there is a construction assembly named Low Absorptance Construction that the EMS_Cons_Low_Abs EMS Construction Index Variable is referencing.

For more background, you can see an example of using EMS to apply thermochromic windows here.

Besides that fix, another issue that I see is that in your EMS Program, you are setting the Actuator for each surface to the name of a Material object instead of the name of the EMS Construction Index Variable. Your program should be updated like below (assuming you want high absorptance when surface temperature is < 28 C):

EnergyManagementSystem:Program,
  Thermo,
  <ForAllExternalSurfaces>
  if Surface_Outside_Face_Temperature_<LoopSurfaceVariableName> < 28,
  set Surface_Cons_State_<LoopSurfaceVariableName> = EMS_Cons_High_Abs,  ! High absorptance (darker) 
  elseif Surface_Outside_Face_Temperature_<LoopSurfaceVariableName> > 28,
  set Surface_Cons_State_<LoopSurfaceVariableName> = EMS_Cons_Low_Abs,  ! Low absorptance (lighter) 
  endif,
  <LoopNextSurface>
  ;
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Careers

Question Tools

1 follower

Stats

Asked: 2022-12-17 18:39:50 -0500

Seen: 124 times

Last updated: Dec 21 '22