# Function Value

Function values are specific values which form the general properties of any construction with a specific function. A function has many function values, and any construction of that function also has those function values.

Function values can be changed for an individual construction, or for a function, which in turn would affect all constructions of that function.

## Contents

### Overwrites

Function Values can be defined on several levels. Primarily, they can be defined on Functions. The Function Values of Functions can be overwritten by adding them to the Function Values window. Additionally, a Function can be duplicated, and that new Function will effectively have the same values of the original Function. Lastly, regardless of the Function a Construction has, it can have its own Function Values as well. This means the used Function Values are determined as follows:

- If a Construction has their own Function Value set, that value is used.
- Otherwise, if the Construction's Function has an explicit Function Value defined, that value is used.
- Otherwise, if that Function was created by duplicating another Function, that Function's value is used. This step is repeated until either a value is found, or the original Function (from which all the others are derived) is found.
- The original Function always has a valid Function Value.

### Category values

Some function values are construction-related, and some function values are category-related. The difference between them is only applicable if a single function consists of multiple function categories. For example, the function value indicating the maximum amount of floors for the construction is related to the construction as a whole. However, if the function contains both social housing and luxury housing, the individual types of housing can have different unit sizes configured, as one type of housing may offer bigger housing units than the other.

When accessing a category value as an attribute, the attribute's name is prefixed by the category's name. For example: `UNIT_SIZE_M2`

becomes `SOCIAL_UNIT_SIZE_M2`

.

## Overview of all function values

Most function values have specific effects in the context of the Tygron Platform. Individual function values can be grouped into categories based on their effects or themes.

### Name

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Name | (Property of function value) | text | The name of the Function. |

### Assets and visualisation

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Image | (Property of function value) | Image (png, 200x100) | The image used to represent this function. This property is currently unused. | |

Extra color | EXTRA_COLOR | color | The color of the walls of the floors of the construction which are neither the top nor bottom floor. | |

Ground color | GROUND_COLOR | color | The color of the walls of the bottom floor of a construction. | |

Roof color | ROOF_COLOR | color | The color of the roof of a construction. For flat constructions (such as gardens and roads), it is also the color of the ground surface. | |

Terrain mix | TERRAIN_MIX | value ranging from 0 to 1 | The transparency of the ground color of the function. | |

Top color | TOP_COLOR | color | The color of the walls of the top floor of a construction, unless that floor is also the bottom floor. | |

Description | (Property of function value) | text | The textual description of this function, which is displayed to the user when using this function as as action. |

### Construction

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Align Elevation | ALIGN_ELEVATION | Boolean | Attribute that determines whether a construction is aligned relative to the elevation model (in case of an uneven surface), flat on the ground, or floating. | |

Category weight | CATEGORY_WEIGHT | weight | Yes | How much of a construction of this function is classified under the specified category. |

Construction time in months | CONSTRUCTION_TIME_IN_MONTHS | months | How long it takes to construct a construction of this function during a timeline session. | |

Default floors | DEFAULT_FLOORS | integer | How many floors a construction of this function will have by default, unless otherwise specified. When using this Function as an Action, this is the default amount of floors created, unless the user changes this setting while performing the Action. This values must always be in the range of min floors and max floors (inclusive). | |

Demolish time in months | DEMOLISH_TIME_IN_MONTHS | months | How long it takes to demolish a construction of this functon during a timeline session. | |

Floating | FLOATING | boolean | Whether this construction should be visualized with a "floating" animation, as if on water. | |

Floor height m | FLOOR_HEIGHT_M | m | The height of each floor of the construction. | |

Height offset | HEIGHT_OFFSET_M | m | How many meters above or below the calculated ground this construction should be visualized. This is intended for bridges or other constructions on water, so that they can be lined up appropriately with the surrounding land, or float at an appropriate height. | |

Max floors | MAX_FLOORS | integer | The maximum amount of floors this construction (or any of its sections) can have. This also limits how many floors a construction can have when used as an action during a session. | |

Min floors | MIN_FLOORS | integer | The minimum amount of floors this construction (or any of its sections) should have. This also limits how many floors a construction must have when used as an action during a session. | |

Monumental | MONUMENTAL | boolean | Whether this construction is monumental. Monumental constructions can be disallowed for demolition by the zoning plan. | |

Slanting roof height | SLANTING_ROOF_HEIGHT | m | How high the slanting roof at the top of the construction should be visualized at its peak. The roof will slant inwards equally from all sides. This is a visual effect only, but it is possible to reference this value in custom calculations. | |

Solar Panels | SOLAR_PANELS | Boolean | Attribute that determines whether a Construction has solar panels or not. | |

Unit size | UNIT_SIZE_M2 | m²/unit | Yes | How large a single housing unit within this construction is. This is only relevant for residential categories. |

Zoning permit required | ZONING_PERMIT_REQUIRED | boolean | Whether the municipal stakeholder should be requested permission, when another user uses this function as an action to plan a new construction during a session. |

### Environment

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Bowen ratio | BOWEN_RATIO | ratio | The ratio between two forms of heat transfer between this construction's surface and the atmosphere. | |

Critical infrastructure | CRITICAL_INFRASTRUCTURE | boolean | Whether this construction is a form of critical infrastructure in case of calamities. | |

Distance zone | DISTANCE_ZONE_M | m | The distance drawn in Distance Overlays by this Construction. | |

Disturbance distance | DISTURBANCE_DISTANCE_M | m | The distance drawn in the Disturbance Distance Overlay by this construction. | |

Foliage crown factor | FOLIAGE_CROWN_FACTOR | ratio | The ratio between the height of tree trunks and the radius of the foliage of the tree. | |

Green space | GREEN_M2 | m²/m² | The amount of green which this construction provides per m². Generally, this number is used along with the constructon's footprint, rather than its total floor size. | |

Heat effect | HEAT_EFFECT | °C | The capacity of this construction for heat retention. | |

Livability effect | LIVABILITY_EFFECT | decimal | The effect this construction has on the Livability Overlay calculations. | |

Safety distance | SAFETY_DISTANCE_M | m | The distance drawn in the Safety Distance Overlay by this construction. |

### Financial

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Buyout cost | BUYOUT_COST_M2 | currency/m² | Yes | How much it costs, in addition to the demolition costs, to demolish this construction during a session, when the construction is not vacant. These costs are due to eviction or buyout of existing tenants. |

Construction cost | CONSTRUCTION_COST_M2 | currency/m² | Yes | How much it costs to create a new construction, when using this function as an action during a session. |

Demolition cost | DEMOLISH_COST_M2 | currency/m² | Yes | How much it costs to demolish this construction during a session. If the construction is not vacant, the buyout costs are applicable as well, in addition to the demolition costs. |

Sell price | SELL_PRICE_M2 | currency/m² | Yes | How much revenue is generated for the owner, when a construction of this function is created during a session. The income is only generated once, when the construction of the Construction has completed. |

### Network

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Heat flow change per year | HEAT_FLOW_M2_CHANGE_PER_YEAR | m²/year | Yes | For any net load connected to an address part of a construction of this function, the amount of resources (FLOW) requested in addition to those in the starting year during every subsequent year. The amount of resources requested starts at HEAT_FLOW_M2_START_VALUE in the start year, and is then increased by this value every year until the building's year of construction, and finally multiplied by the size of the address(es) the net load is associated with to get a default FLOW value for the net load. |

Heat flow formula start year | HEAT_FLOW_M2_START_YEAR | year | Yes | For any net load connected to an address part of a construction of this function, the start year for the calculation of the amount of resources (FLOW) requested. The amount of resources requests starts at HEAT_FLOW_M2_START_VALUE in this year, and is then increased by HEAT_FLOW_M2_CHANGE_PER_YEAR every year until the building's year of construction, and finally multiplied by the size of the address(es) the net load is associated with to get a default FLOW value for the net load. |

Heat flow to power multiplier | HEAT_POWER_TO_FLOW_MULTIPLIER | factor | Yes | For any net load connected to an address part of a construction of this function, the divisor used to convert the automatically calculated FLOW to an automatically calculated POWER attribute. The automatically calculated FLOW divided by this value is the automatically calculated POWER. Note that an explicitly defined FLOW attribute is not used in this calculation. |

Heat flow value at start year | HEAT_FLOW_M2_START_VALUE | m² | Yes | For any net load connected to an address part of a construction of this function, the amount of resources (FLOW) requested by the net load in the defined starting year. This value is increased with the HEAT_FLOW_M2_CHANGE_PER_YEAR, until the building's year of construction, and finally multiplied by the size of the address(es) the net load is associated with to get a default FLOW value for the net load. |

Pipes permitted | PIPES_PERMITTED | boolean | Whether net lines are allowed to be generated under this construction. |

### Traffic

Traffic is split up into two further categories, to differentiate between traffic which may apply to Traffic Overlays and alternative types of traffic.

#### Car traffic

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Buses per hour | NUM_BUSES | vehicles/h | How many buses move over any given cross-section of the road per hour, spread across all lanes. | |

Cars per hour | NUM_CARS | vehicles/h | How many cars move over any given cross-section of the road per hour, spread across all lanes. | |

Trucks per hour | NUM_TRUCKS | vehicles/h | How many trucks move over any given cross-section of the road per hour, spread across all lanes. | |

Vans per hour | NUM_VANS | vehicles/h | How many vans move over any given cross-section of the road per hour, spread across all lanes. | |

Bus jam factor | JAM_FACTOR_BUSES | fraction | The fraction of buses considered to be in traffic jam. | |

Car jam factor | JAM_FACTOR_CARS | fraction | The fraction of cars considered to be in traffic jam. | |

Truck jam factor | JAM_FACTOR_TRUCKS | fraction | The fraction of trucks considered to be in traffic jam. | |

Van jam factor | JAM_FACTOR_VANS | fraction | The fraction of vans considered to be in traffic jam. | |

Lanes | TRAFFIC_LANES | integer | How many lanes of traffic there are on this road. A negative value causes vehicles to move in the opposite direction. This is only relevant for roads, intersections, and bridges. This only affects the visualization. | |

Noise sigma | TRAFFIC_NOISE_SIGMA | dB(A) | Difference in noise intensity of vehicles at their reference speed. Effectively a flat modifier in noise. | |

Noise tau | TRAFFIC_NOISE_TAU | dB(A) | Difference in noise intensity of vehicles for every order of magnitude difference with their reference speed. Effectively a speed-dependent modifier in noise. | |

Parking lots | PARKING_LOTS_PER_M2 | parking lot/m² | Yes | How many parking lots are available per m² of this construction. |

Parking lots demand | PARKING_LOTS_DEMAND_PER_M2 | parking lot/m² | Yes | How many parking lots are required per m² of this construction. |

Speedlimit | TRAFFIC_SPEED | km/h | How fast vehicles move on this construction. This is only relevant for roads, intersections, and bridges. This affects the visualization, and the calculations for the [Traffic Noise Overlay]]. |

#### Other traffic

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Airplanes per hour | NUM_AIRPLANES | vehicles/h | How many airplanes move over the given air traffic route, per hour. | |

Bicycles per hour | NUM_BICYCLES | vehicles/h | How many bicycles move over the given bicycle traffic route, per hour. | |

Pedestrians per hour | NUM_AIRPLANES | pedestrians/h | How many pedestrians move over the given route, per hour. | |

Ships per hour | NUM_SHIPS | vehicles/h | How many ships move over the given ship traffic route, per hour. | |

Trains per hour | NUM_TRAINS | vehicles/h | How many trains move over the given tracks, per hour. | |

Trams per hour | NUM_TRAMS | vehicles/h | How many trams move over the tracks, per hour. |

### Water

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

Connected to sewer area | SEWERED | boolean | Whether this construction can be connected to a sewer. | |

Depth of plant roots | ROOT_DEPTH_M | m | The depth of the roots of the plants of this construction. | |

Drainage | DRAINAGE | m | Whether this construction has drainage, which affects the calculation of the Subsidence Overlay. | |

Ground infiltration per day | GROUND_INFILTRATION_MD | m/day | The permeability of this construction to water trying to infiltrate into the ground. | |

Manning value | WATER_MANNING | s/(m^{1/3}) |
The manning value of the construction, which is a roughness in regards to water flow. | |

Water evaporation | WATER_EVAPORATION_FACTOR | factor | How much this construction facilitates water evaporating from the underground. | |

Water storage | WATER_STORAGE_M2 | m³/m² | How much water can be stored in this construction. |

### Attributes

Besides the function values which are provided by default, it is possible to add user-defined attributes to function values as well. Any attribute added is automatically available as an attribute for all functions, and all constructions, although the default value of the attribute will be 0.

User-defined attributes added to a function value always apply to the construction as a whole, and cannot be category-specific.

Function value | Attribute | Unit | Per category | Description |
---|---|---|---|---|

(user defined) | (user defined) | (user defined) | Attributes can be used to assign any additional values or properties to functions and the constructions which derive from them. |

## How-to's

- How to add Functions for editing
- How to change Function Values for a Function
- How to add an Attribute to a Function
- How to change Attributes for a Function