Home   /   Support   /  iVN   /  download   /  custom-installation

iVN Custom Installations

Custom installation is a 2D iVN (level 1) licensable object situated in the Asset library. Custom installations are script driven and allow users to write their own python script to drive installation behaviour. Scripts must follow the format set out by iVN engine. Python script format is laid out in the ‘Basic’ Python script.

Sample scripts are provided here and further detail on how to import the scripts can be found in the user guide. Custom installation python scripts are compatible with iVN 2021.0.0 and onwards.

Sample Scripts

Basic.py

This python script provides a basic template that can be used to write a model of an installation or distributed energy resource not available in the iVN, which can then be applied to one or more custom installations in the iVN. The custom installation can generate and consume various resources (or commodities) using the model defined here in the script and can then pass that data to the iVN for inclusion into the rest of the iVN calculations. The iVN can also pass a set of custom parameters to the script to assist in model set-up and can receive custom results variables to assist in the interpretation of results.

GasTurbinePowerStation.py

The gas turbine power station is an example python script. This model uses a simple component-based model based on the Brayton cycle with air as the working fluid, with a combustor, compressor and turbine. This script is also capable of modelling several different gas turbine power stations using the one script. This is achieved by defining custom parameters in the iVN metadata and then initialising the gas turbine power stations in iVN_initialise_installation() instead of iVN_initialise().

WindTurbine.py

The wind turbine is an example python script similar to the iVN wind turbine model using a power curve to relate output power to the wind speed at the hub height. It models a single installation, so it doesn't include any custom parameters; they are instead set here in the script.