PluginHKESim

How to install?

Step by step

To install PluginHKESim: you need to do the following (in the root directory of the repo, here is the pyproject.toml file)

pip install -e '.[PluginHKESim]'

The bim2sim core installation needs to be done before.

Test install

Examples

Please also take a look at bim2sim/plugins/PluginHKESim/bim2sim_hkesim/examples, which provides some runnable examples for the HKESim plugin. You can use these examples to test your installation and learn from them. Additionally, they serve as good starting points for your own projects.”

Structure of the plugin

The following figure shows the structure of the HKESim plugin. Here you see which tasks are used and how they are combined.

        ---
title: plugin HKESim
---
flowchart TB
    
subgraph taskLoadIFC["task LoadIFC"]
 subgraph "" 

  tLoadIFC["bim2sim > tasks > common >  
 LoadIFC"]
  extLoadIFC(" Load all IFC files from PROJECT. " )
 end

stateLoadIFC[("state
 (reads/touches)")]
    
tLoadIFC -- ifc_files --> stateLoadIFC

end
    
subgraph taskCheckIfc["task CheckIfc"]
 subgraph "" 

  tCheckIfc["bim2sim > tasks > common >  
 CheckIfc"]
  extCheckIfc("  Check ifc files for their quality regarding
simulation. " )
 end

stateCheckIfc[("state
 (reads/touches)")]
    
stateCheckIfc -- ifc_files --> tCheckIfc
direction RL
end
    
subgraph taskCreateElementsOnIfcTypes["task CreateElementsOnIfcTypes"]
 subgraph "" 

  tCreateElementsOnIfcTypes["bim2sim > tasks > common >  
 CreateElementsOnIfcTypes"]
  extCreateElementsOnIfcTypes(" Create bim2sim elements based on information of
IFC types. " )
 end

stateCreateElementsOnIfcTypes[("state
 (reads/touches)")]
    
stateCreateElementsOnIfcTypes -- ifc_files --> tCreateElementsOnIfcTypes

tCreateElementsOnIfcTypes -- elements, _initial_elements, ifc_files --> stateCreateElementsOnIfcTypes

end
    
subgraph taskConnectElements["task ConnectElements"]
 subgraph "" 

  tConnectElements["bim2sim > tasks > hvac >  
 ConnectElements"]
  extConnectElements(" Analyses IFC, creates element elements and
connects them. " )
 end

stateConnectElements[("state
 (reads/touches)")]
    
stateConnectElements -- elements --> tConnectElements

tConnectElements -- elements --> stateConnectElements

end
    
subgraph taskMakeGraph["task MakeGraph"]
 subgraph "" 

  tMakeGraph["bim2sim > tasks > hvac >  
 MakeGraph"]
  extMakeGraph(" None. " )
 end

stateMakeGraph[("state
 (reads/touches)")]
    
stateMakeGraph -- elements --> tMakeGraph

tMakeGraph -- graph --> stateMakeGraph

end
    
subgraph taskExpansionTanks["task ExpansionTanks"]
 subgraph "" 

  tExpansionTanks["bim2sim > tasks > hvac >  
 ExpansionTanks"]
  extExpansionTanks(" None. " )
 end

stateExpansionTanks[("state
 (reads/touches)")]
    
stateExpansionTanks -- graph --> tExpansionTanks

tExpansionTanks -- graph --> stateExpansionTanks

end
    
subgraph taskReduce["task Reduce"]
 subgraph "" 

  tReduce["bim2sim > tasks > hvac >  
 Reduce"]
  extReduce(" None. " )
 end

stateReduce[("state
 (reads/touches)")]
    
stateReduce -- graph --> tReduce

tReduce -- graph --> stateReduce

end
    
subgraph taskDeadEnds["task DeadEnds"]
 subgraph "" 

  tDeadEnds["bim2sim > tasks > hvac >  
 DeadEnds"]
  extDeadEnds(" None. " )
 end

stateDeadEnds[("state
 (reads/touches)")]
    
stateDeadEnds -- graph --> tDeadEnds

tDeadEnds -- graph --> stateDeadEnds

end
    
subgraph taskLoadLibrariesHKESim["task LoadLibrariesHKESim"]
 subgraph "" 

  tLoadLibrariesHKESim[" 
 LoadLibrariesHKESim"]
  extLoadLibrariesHKESim(" Load HKESim library for export. " )
 end

stateLoadLibrariesHKESim[("state
 (reads/touches)")]
    
tLoadLibrariesHKESim -- libraries --> stateLoadLibrariesHKESim

end
    
subgraph taskExport["task Export"]
 subgraph "" 

  tExport["bim2sim > tasks > hvac >  
 Export"]
  extExport(" Export to Dymola/Modelica. " )
 end

stateExport[("state
 (reads/touches)")]
    
stateExport -- libraries, graph --> tExport

tExport -- modelica_model --> stateExport

end
    taskLoadIFC --> taskCheckIfc 
taskCheckIfc --> taskCreateElementsOnIfcTypes 
taskCreateElementsOnIfcTypes --> taskConnectElements 
taskConnectElements --> taskMakeGraph 
taskMakeGraph --> taskExpansionTanks 
taskExpansionTanks --> taskReduce 
taskReduce --> taskDeadEnds 
taskDeadEnds --> taskLoadLibrariesHKESim 
taskLoadLibrariesHKESim --> taskExport 
    

This figure is generated by the script template_mermaid.py (see Visualization of bim2sim plugin structure).

How to create a project?

How to load an IFC file?

How to configure my project?

Simulation settings

Configuration file

Default tasks

Additional templates

How to run the project?

How to run the simulation?

How to analyze the project?

What kind of results exist?

What programs/tools to use for further analysis?