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

Revision history [back]

click to hide/show revision 1
initial version

Can I manipulate a Material:RoofVegetation object through a python plugin?

The "Material:RoofVegetation" has internal parameters such as Height, LAI (Leaf Area Index), RStomata, etc. Some of these parameters will change in a multi-week simulation. For example, the plants will grow in height and the leaf area will increase (or decrease by if leaves are shed). There are good relations to predict trajectories of these parameters using the solar radiance, zone temperature and humidity history.

I would like to write a plugin where I monitor and possibly change the RoofVegetation parameters at every simulation step. There are plugin examples (e.g. PythonPlugin1ZoneUncontrolledCondFD.idf) where material properties such as thermal conductivity are changed using the api.exchange.set_actuator_value method.

Can I do similar with RoofVegetation parameters Height and LAI?

Can I manipulate a Material:RoofVegetation object through a python plugin?

The "Material:RoofVegetation" has internal parameters such as Height, LAI (Leaf Area Index), RStomata, etc. Some of these parameters will change in a multi-week simulation. For example, the plants will grow in height and the leaf area will increase (or decrease by if leaves are shed). There are good relations to predict trajectories of these parameters using the solar radiance, zone temperature and humidity history.

I would like to write a plugin where I monitor and possibly change the RoofVegetation parameters at every simulation step. There are plugin examples (e.g. PythonPlugin1ZoneUncontrolledCondFD.idf) where material properties such as thermal conductivity are changed using the api.exchange.set_actuator_value method.

Can I do similar with RoofVegetation parameters Height and LAI?

NOTE : I initially thought that this would be possible _if and only if_ I can access these variables as "EnergyManagementSystem:Actuator" objects. But I now do not believe this is true. The available Actuators are listed in the EDD file and, for Material objects seem to be limited to surface absorptance values. However, there are plugin examples distributed with EnergyPlus where the thermal conductivity of a material layer is changed in the plugin.

Can I manipulate a Material:RoofVegetation object through a python plugin?

The "Material:RoofVegetation" has internal parameters such as Height, LAI (Leaf Area Index), RStomata, etc. Some of these parameters will change in a multi-week simulation. For example, the plants will grow in height and the leaf area will increase (or decrease by if leaves are shed). There are good relations to predict trajectories of these parameters using the solar radiance, zone temperature and humidity history.

I would like to write a plugin where I monitor and possibly change the RoofVegetation parameters at every simulation step. There are plugin examples (e.g. PythonPlugin1ZoneUncontrolledCondFD.idf) where material properties such as thermal conductivity are changed using the api.exchange.set_actuator_value method.

Can I do similar with RoofVegetation parameters Height and LAI?

NOTE : I initially thought that this would be possible _if and only if_ I can access these variables as "EnergyManagementSystem:Actuator" objects. But I now do not believe this is true. The available Actuators are listed in the EDD file and, for Material objects seem to be limited to surface absorptance values. However, there are plugin examples distributed with EnergyPlus where the thermal conductivity of a material layer is changed in the plugin.plugin. So it is possible to manipulate an internal parameter even if it is not listed in the EDD file. The question remains if this can be done for the RoofVegetation object.

Can I manipulate a Material:RoofVegetation object through a python plugin?

The "Material:RoofVegetation" has internal parameters such as Height, LAI (Leaf Area Index), RStomata, etc. Some of these parameters will change in a multi-week simulation. For example, the plants will grow in height and the leaf area will increase (or decrease by if leaves are shed). There are good relations to predict trajectories of these parameters using the solar radiance, zone temperature and humidity history.

I would like to write a plugin where I monitor and possibly change the RoofVegetation parameters at every simulation step. There are plugin examples (e.g. PythonPlugin1ZoneUncontrolledCondFD.idf) where material properties such as thermal conductivity are changed using the api.exchange.set_actuator_value method.

Can I do similar with RoofVegetation parameters Height and LAI?

NOTE : I initially thought that this would be possible _if and only if_ I can access these variables as "EnergyManagementSystem:Actuator" objects. But I now do not believe this is true. The available Actuators are listed in the EDD file and, for Material objects seem to be limited to surface absorptance values. However, there are plugin examples distributed with EnergyPlus where the thermal conductivity of a material layer is changed in the plugin. So it is possible to manipulate an internal parameter even if it is not listed in the EDD file. The question remains if this can be done for the RoofVegetation object.

Can I manipulate a Material:RoofVegetation object through a python plugin?

The "Material:RoofVegetation" has internal parameters such as Height, LAI (Leaf Area Index), RStomata, etc. Some of these parameters will change in a multi-week simulation. For example, the plants will grow in height and the leaf area will increase (or decrease by if leaves are shed). There are good relations to predict trajectories of these parameters using the solar radiance, zone temperature and humidity history.

I would like to write a plugin where I monitor and possibly change the RoofVegetation parameters at every simulation step. There are plugin examples (e.g. PythonPlugin1ZoneUncontrolledCondFD.idf) where material properties such as thermal conductivity are changed using the api.exchange.set_actuator_value method.

Can I do similar with RoofVegetation parameters Height and LAI?

NOTE : I initially thought that this would be possible _if and only if_ I can access these variables as "EnergyManagementSystem:Actuator" objects. But I now do not believe this is true. The available Actuators are listed in the EDD file and, for Material objects seem to be limited to surface absorptance values. However, there are plugin examples distributed with EnergyPlus where the thermal conductivity of a material layer is changed in the plugin. So it is possible to manipulate an internal parameter even if it is not listed in the EDD file. The question remains if this can be done for the RoofVegetation object.