Tutorial de análisis paramétrico - Variable de script personalizado - Fachada paramétrica avanzada
Edición en español con correcciones revisadas · Estado de revisión

Tutorial de análisis paramétrico - Variable de script personalizado - Fachada paramétrica avanzada

Este tutorial explica cómo configurar un análisis paramétrico utilizando variables de script personalizado para modificar la configuración de sombra de un modelo mediante la carga de distintas configuraciones de fachada desde varios archivos XML. Cada configuración que se probará en las simulaciones paramétricas se establece en el modelo añadiendo bloques de componente y guardándolos en un archivo XML externo. Un script sencillo de Python carga el archivo XML adecuado en el modelo para cada configuración de variable personalizada.

 

Este enfoque es ideal para investigar y optimizar sistemas de sombra con formas más complejas o no estándar que las que pueden modelarse mediante el mecanismo de sombra local ,

 

Los principales objetivos de aprendizaje son:

 

  1. Cómo guardar una serie de archivos XML de bloques de componente para representar cada configuración de sombra que se probará.

  2. Escribir un script sencillo de Python para cargar los archivos XML necesarios durante las simulaciones paramétricas.

 

Los objetivos secundarios refuerzan aspectos del tutorial más básico de variable de script personalizado para optimización:

 

  1. Los objetivos de diseño para minimizar la falta de confort de los ocupantes y las emisiones anuales de carbono se configuran de la forma habitual.
  2. Las variables de diseño para las temperaturas de consigna de calefacción y refrigeración se configuran mediante la categoría de tipos de variables Script personalizado , incluidos los valores mínimo, máximo e intervalo.
  3. Se escribe un script correspondiente para el punto de conexión on_design_variable_changed que responda a los cambios del modelo.

Paso 1: crear un modelo base

1. Crea un modelo nuevo situado en London Gatwick.

 

2. Añade un edificio con los ajustes predeterminados y dibuja un bloque rectangular de 20m por 10m y una altura de 3.5m, como se muestra a continuación.

 

 

3. Elimina las ventanas de las fachadas norte, este y oeste.

 

4. Carga la plantilla de actividad Generic Office Area a nivel de edificio en la pestaña Actividad, si no está ya seleccionada.

Paso 2 - Preparar los archivos XML paramétricos

En este paso crearemos 3 archivos XML para representar 3 de las 4 opciones de variable previstas:

 

  • Sin voladizo (no se carga ningún archivo)

  • Voladizo de 0.5m

  • Voladizo de 1.0m

  • Voladizo de 1.5m

 

Para crear los 3 archivos sigue estos pasos, todos ellos a nivel de edificio.

 

1. Dibuja un bloque de componente sobre las ventanas de la fachada sur para representar el caso de voladizo de 0.5m. El modelo debería tener este aspecto.

 

 

2. Selecciona el bloque de componente y guárdalo como archivo XML mediante el comando de menú Archivo > Exportar > Exportar bloques de componente seleccionados como XML . Usa el nombre "Overhang 0.5m.xml".

 

3. Aumenta ahora la profundidad del voladizo a 1.0m. Puedes utilizar el comando Arrastrar cara para hacerlo.

 

4. Como antes, selecciona el bloque de componente y guárdalo como archivo XML con el nombre "Overhang 1.0m.xml".

 

5. Aumenta la profundidad del voladizo a 1.5m y sigue el mismo procedimiento para guardar el archivo XML que representa el voladizo de 1.5m.

 

Ahora deberías tener una lista de 3 archivos XML:

 

  • Overhang 0.5m.xml

  • Overhang 1.0m.xml

  • Overhang 1.5m.xml

 

6. Conviene importar manualmente los archivos XML para comprobarlos antes de ejecutar los análisis paramétricos. Utiliza el comando de menú Archivo > Importar > Importar bloques de componente desde XML . Primero tendrás que eliminar el bloque de componente original para permitir la importación desde archivo. Las comprobaciones de intersección impedirán las importaciones paramétricas de XML si se deja el bloque.

 

Anota dónde has guardado estos archivos y asegúrate de establecer esta carpeta en la variable XML_DIR del script que escribiremos en el siguiente paso.

 

7. La última tarea, imprescindible, es eliminar el bloque de componente del voladizo para permitir la importación de los archivos XML durante las ejecuciones paramétricas. Como se ha indicado, las comprobaciones de intersección impedirán las importaciones paramétricas de XML si se deja el bloque.

Paso 3 - Editar el cuadro Ajustes paramétricos

Para definir el análisis paramétrico, sigue estos pasos:

Paso 3.a - Abre el cuadro Ajustes paramétricos haciendo clic en el icono de la barra de herramientas.

 

Paso 3.b - En la pestaña Tipo de análisis , establece Tipo de análisis en 1-Análisis paramétrico.

 

Paso 3.c - En la pestaña Resultados añade los resultados del estudio paramétrico. Utilizaremos la energía eléctrica de refrigeración como KPI de este análisis:

 

  1. Haz clic en el enlace Añadir resultado del panel de información.

  2. En el cuadro Resultados del análisis selecciona el KPI Cooling Electricity de la categoría «Energy and Loads» e introduce el nombre «Cooling Elec Energy». Pulsa Aceptar. La pestaña Resultados debería tener ahora este aspecto:

 

Paso 3.d - Ve a la pestaña Variables de diseño .

 

  1. Elimina todas las variables de la lista menos una seleccionando cada fila y pulsando el enlace Eliminar variable del panel de información.

  2. La lista de variables de diseño debería contener ahora 1 elemento.

  3. Selecciónalo y haz clic en el enlace Editar variable del panel de información.

  4. En el cuadro Editar variables de análisis selecciona el tipo de variable «Custom Script» bajo la categoría «Custom script». Pulsa Aceptar.

  5. Bajo el encabezado Rango establece Valor mínimo en 0 y Valor máximo en 1.5. Esto permitirá probar voladizos de longitud entre 0 y 1.5m.

  6. Bajo el encabezado Incremento de paso establece Paso (paramétrico) en 0.5 para probar los voladizos en pasos de 0.5m, es decir, se probarán los valores 0, 0.5, 1.0 y 1.5m. También podrías establecer Paso (optimización) en 0.5, aunque no tenemos previsto ejecutar una optimización en este ejemplo.

  7. La clave de variable no se utiliza en este análisis y puede dejarse en blanco.

  8. Establece el nombre de la variable de diseño en «Overhang».

    Nota importante: El nombre «Overhang» introducido aquí en el cuadro Editar variables de análisis debe coincidir con el nombre correspondiente utilizado en el script personalizado descrito a continuación. Puedes copiarlo y guardarlo en un lugar accesible para utilizarlo después al escribir el script.

  9. Pulsa Aceptar para cerrar el cuadro de variables de análisis y volver a la pestaña Variables de diseño del cuadro Ajustes paramétricos, que debería tener este aspecto:

Paso 4 - Escribir el script de la variable personalizada

 

Sigue los pasos siguientes para configurar el script de Python para el análisis.

1. Haz clic en el icono Scripts de la barra de herramientas para abrir el gestor de scripts y marca la casilla Activar scripts .

 

2. Haz clic en el elemento de selección Script. En el panel de información de la derecha aparecerá una lista de scripts existentes.

3. Haz clic en la categoría Python-Script y pulsa el icono Añadir del panel de información para crear un script de Python.

 

4. Cambia el nombre del script a «Overhang Custom Variable». Es un nombre para tu comodidad y no necesita coincidir con otros ajustes.

 

5. Edita el script para aplicar los ajustes del voladizo al modelo de la siguiente manera:

 

import os
import ctypes

def show_message(title, text):
    ctypes.windll.user32.MessageBoxW(0, text, title, 0)

XML_DIR = r"C:\Users\<USERNAME>\Documents\DesignBuilder Data"

def on_design_variable_changed(opt_var_id, variable_current_value):

    site = api_environment.Site
    table = site.GetTable("OptimisationVariables")
    record = table.Records.GetRecordFromHandle(opt_var_id)
    opt_variable_name = record["Name"]

    if opt_variable_name == 'Overhang' and float(variable_current_value) > 0:
        overhang_length = "{:.1f}".format(float(variable_current_value))
        xml_name = "Overhang {}m.xml".format(overhang_length)
        xml_path = os.path.join(XML_DIR, xml_name)
        if os.path.exists(xml_path):
            active_building.ImportComponentBlocksFromXMLFile(xml_path)
        else:
            show_message("Error", "Cannot find xml file: '{}'.".format(xml_path))

Consejo: Para ahorrar tiempo puedes copiar el script anterior y pegarlo en el cuadro. Python requiere sangrías como parte de su sintaxis y podrían perderse al pegarlo. En ese caso debes insertarlas manualmente después de pegar. La forma más sencilla es utilizar la tecla <Tab>.

Nota: Si copias el script anterior, tendrás que cambiar XML_DIR para definir la ruta de tu ordenador donde se han guardado los archivos XML.

El punto de conexión on_design_variable_changed se llama una vez por cada variable mientras se prepara el modelo para la simulación. El valor de opt_variable_name, transmitido mediante opt_var_iddefine la variable que se está tratando y el valor de variable_current_value , también transmitido, proporciona el valor de esta variable para la simulación. El script carga el archivo XML adecuado según variable_current_value.

 

active_building en este caso es una referencia al clon paramétrico copiado del modelo base para cada simulación, por lo que se pueden aplicar cambios paramétricos sin afectar al modelo base.

 

6. Marca la casilla Activar programa para garantizar que el script se ejecuta durante el cálculo.

 

7. Pulsa Aceptar para confirmar los cambios del script.

Paso 5 - Ejecutar una simulación estándar

Haz clic en la pestaña Simulación y pulsa actualizar para ejecutar una simulación anual base, paso necesario antes de la optimización. Antes de pulsar Aceptar, aplica los siguientes ajustes:

 

1. Asegúrate de simular todo el año haciendo clic en el enlace Simulación anual del panel de información.

 

2. Asegúrate de generar solo resultados anuales o mensuales marcando el intervalo Mensual y Run period y desactivando todos los demás resultados.

 

Deja todos los demás ajustes con sus valores predeterminados.

Paso 6 - Ejecutar el análisis paramétrico

Ve a la pestaña Paramétrico y pulsa el icono Actualizar de la barra de herramientas para abrir el cuadro Opciones de cálculo y ejecutar las simulaciones paramétricas. Acepta los ajustes predeterminados y pulsa el botón Iniciar .

 

Las 4 simulaciones deberían ejecutarse rápidamente. Al finalizar, pulsa el botón Cerrar para volver a la pantalla principal.

Paso 7 - Analizar los resultados

Una vez completadas las simulaciones del análisis paramétrico y cerrado el cuadro Opciones de cálculo, la pantalla principal debería ser similar a la captura siguiente.

 

 

Los resultados muestran rendimientos decrecientes al aumentar el voladizo de 1.0m a 1.5m.

Nota: El tutorial muestra cómo probar el efecto de varios voladizos rectangulares en la energía de refrigeración del edificio. Para centrarse en los principales objetivos de aprendizaje se ha utilizado un caso muy sencillo que podría haberse implementado más fácilmente mediante el mecanismo de Voladizo de sombra local . Sin embargo, también pueden probarse configuraciones de sombra de geometría mucho más compleja mediante un proceso muy parecido al mostrado.