Construction and Operation

../_images/Inputs_Config_ConstructionOperation.png

Data source

There is the option to use constructions based on pre-defined snippet IDF’s or read the information from GraphDB. For retrofit you must use GraphDB, as retrofit constructions are only available in the Graph DB. See config file of construction for switching. Note that the IDF snippet based construction database is DEPRECATED and will be removed in the next version.

For more infos on GraphDB see: GraphDB - Read data

Construction - Internal ceiling/floor

As with EnergyPlus we split the building into Zones, we need to define a pair of internal ceiling and floor, so the floor and ceiling are assigned to the zone they are facing (https://bigladdersoftware.com/epx/docs/9-3/input-output-reference/group-thermal-zone-description-geometry.html#buildingsurfacedetailed) In the archetype, only the ceiling construction is specified. The mirrored construction is created on-the-fly when writing the IDF.

Custom assignment of operation parameters

Built in options for assigning operational parameters is either the same parameter set for all buildings (A) or parameters according to SIA2024-2016 based on the building type (B).

Full configuration set for option A, fixed parameters, is:

MANAGER:
    BUILDING_OPERATION_FACTORY_CLASS: "cesarp.operation.fixed.FixedBuildingOperationFactory.FixedBuildingOperationFactory"
OPERATION:
    FIXED: # to enable FIXED operation parameters set config MANAGER - BUILDING_OPERATION_FACTORY_CLASS to "cesarp.operation.fixed.FixedBuildingOperationFactory.FixedBuildingOperationFactory"
        FLOOR_AREA_PER_PERSON: 25.64103 m**2
        SCHED_OCCUPANCY_PATH: "./occupancy.csv"
        SCHED_ACTIVITY_PATH: "./activity.csv"
        SCHED_APPLIANCES_PATH: "./appliances.csv"
        APPLIANCES_WATT_PER_ZONE_AREA: 6.4 W/m**2
        SCHED_LIGHTING_PATH: "./lighting.csv"
        LIGHTING_WATT_PER_ZONE_AREA: 10.3104 W/m**2
        SCHED_DHW_PATH: "./dhw.csv"
        DHW_WATTS_PER_ZONE_AREA: 4.216667 W/m**2
        SCHED_THERMOSTAT_HEATING: "./thermostat_heating.csv"
        SCHED_THERMOSTAT_COOLING: "./thermostat_cooling.csv"
        OUTDOOR_AIR_FLOW_PER_ZONE_FLOOR_AREA: 1.297222e-03 m**3/(s * m**2)
        SCHED_VENTILATION: "./ventilation.csv"
        SCHED_PROPS:
        NUM_OF_HOURS: 8760
        SEPARATOR: ","
        NUM_OF_HEADER_ROWS: 0
        DATA_COLUMN: 1

In the OPERATION block you only specify the parameters where you do not want to use the default profile files or values. Relative pathes (“./xxx”) are considered to be relative to the location of your configuration file.

Full configuration set for option B, SIA2024 is:

MANAGER:
    BUILDING_OPERATION_FACTORY_CLASS: "cesarp.SIA2024.SIA2024Facade.SIA2024Facade"  # this is actually the default
    SIA2024_VARIABILITY: False # variability for demand values and profiles generated with SIA2024 module, False is the default
    BLDG_TYPE_PER_BLDG_FILE:
        PATH: "TBD_BLDG_TYPE_PER_BLDG_FILE.csv"  # point to project file
        SEPARATOR: ","  # , is the default
        LABELS:  # change if you do not use the default column headers
            gis_fid: "ORIG_FID"
            sia_bldg_type: "SIA2024BuildingType"

To allow the user to apply a project, custom specific assignment of operational parameters, an own Factory class can be used.

MANAGER:
    BUILDING_OPERATION_FACTORY_CLASS: "MyBuildingOperationFactory"

Your Factory class, here MyBuildingOperationFactory, needs to meet following criteria:

  • initialization method (__init__) having identical parameters as cesarp.operation.fixed.FixedBuildingOperationFactory.FixedBuildingOperationFactory

  • satisfy protocol definition cesarp.manager.manager_protocols.BuildingOperationFactoryProtocol

  • make sure your class is in the PYTHONPATH, e.g. in the same folder as your main script is (make sure to change to that directory when calling the script)

CESAR-P also allows that you specify different sets of operational parameters for different floors of you buidling (see cesarp.model.BuildingOperationMapping)

Custom assignment of constructional Archetype

Per default, the constructional archetype is assigned to each building depending on its building age.

Full configuration is:

MANAGER:
    BLDG_AGE_FILE:
        PATH: "TBD_BLDG_AGE_FILE.csv"
        SEPARATOR: ","
        LABELS:
            gis_fid: "ORIG_FID"
            year_of_construction: "BuildingAge"
CONSTRUCTION:
    CONSTRUCTION_DB: "GRAPH_DB"  # this is the default, just for completness
GRAPHDB_ACCESS:
    ARCHETYPE_CONSTRUCTION_FACTORY_CLASS: "cesarp.graphdb_access.GraphDBArchetypicalConstructionFactory.GraphDBArchetypicalConstructionFactory"  # this is also the default

You can create your own Factory class to implement a project specific mapping of the Archetype. For example, you can specify an Archetype URI existing in the GraphDB for each of your buildings. To configure your own class, set following configuration:

GRAPHDB_ACCESS:
    ARCHETYPE_CONSTRUCTION_FACTORY_CLASS: "YourConstructionArchetypeFactory.YourConstructionArchetypeFactory"
    # activate connection to remote GraphDB instead of using the local TTL-file if you did add new Archetypes to the DB (alternative is to export a TTL and point to that)
    LOCAL:
        ACTIVE: False
    REMOTE:
        ACTIVE: True
        SPARQL_ENDPOINT: "http://GRAPH_DB_URL:PORT/repositories/YOUR_REPO_ENDPOINT"

Your Factory needs to meet following criteria:

  • initialization method (__init__) having identical parameters as cesarp.graphdb_access.GraphDBArchetypicalConstructionFactory.GraphDBArchetypicalConstructionFactory

  • satisfy protocol definition cesarp.construction.construction_protocols.ArchetypicalConstructionFactoryProtocol

  • make sure your class is in the PYTHONPATH, e.g. in the same folder as your main script is (make sure to change to that directory when calling the script)

Note: a custom Factory in the scope of IDF based constructional Archetype is not possible. IDF based construction package is deprecated and will be removed in a future version of CESAR-P.