Network: Difference between revisions

From Tygron Support wiki
Jump to navigation Jump to search
mNo edit summary
Line 34: Line 34:
==Generating Networks==
==Generating Networks==
It is possible to have the Tygron Engine generate networks for your projects.
It is possible to have the Tygron Engine generate networks for your projects.
===Load generation===
[[Net load]]s can be generated based on buildings and the addresses within them. When selecting this option, you can select which [[neighborhood]], [[stakeholder]], and [[building]] [[category]] to cluster for. Load generation makes use of the following settings:
* Address Threshold. When the building has more than this many addresses, rather than generate an individual load for each address one single load is created for the entire building.
* Floors Threshold. When the building has more than this many floors, rather than generate an individual load for each address one single load is created for the entire building.
* Skip buildings with Load. When a building already has a load in it, that building is no longer checked to see whether loads have to be generated in it. The building is skipped.
* Create Paths. Whether to also generate the [[net line]]s for the network in the same process. This is often desirable, as a network is not valid when there are net loads unconnected to the net lines.
===Path generation===
[[Net line]]s can be generated automatically, based on the net loads present in the 3D world (or when generating as part of the process of generating net loads, also based on the net loads generated by the net load generation process). When selecting this option, you can select the [[net line definition]]s the generated net lines should be based on. Network generation makes use of the following settings:
* Merge range. When generating a path from a given net load, immediately check whether these is an existing net line or net node nearby within this distance. If there is, directly connect this net load to the found net line or net node.
* Search range. When generating a path from a given net load, nodes are placed on a path to the root node. If any of those nodes are placed within this distance of an existing node, a connection will be made between the placed node and the existing node.
The Merge range is meant to emulate the connecting of buildings to existing pipes already in place. The Search range is meant to emulate the creation of new sections of network, including connecting those new sections of network to a network already in place.
When generating net lines, a root load must be placed somewhere in the world, from where the network will be generated''*''. If a root load does not yet exist, an option will be offered to place a root load in the world.
''*'' Strictly speaking, the network generation algorithm will work its way from unconnected net loads to the node connected to the root node.
===Cluster generation===
There are a number of ways to have clusters generated by the Tygron Engine. When selecting this option, you can select which neighborhoods and stakeholders to cluster for. Net loads which are already clustered will not be removed from their clusters or moved to other clusters. Net loads which are not located in the selected neighborhoods are not taken into consideration (Note that this is the position of the net load and not of its connected net node). Net loads which are taken into consideration are not limited by their neighborhoods. This means net loads from different neighborhoods can be placed in the same cluster. No matter the used algorithm, clusters will always only contain net loads of the same stakeholder.
====Map Sectors====
The map is divided into squares of equal sides, dubbed "sectors". All buildings are checked to see in which sector they reside the most, so that each is considered part of exactly one map sector. All loads in all buildings in the same sector are grouped in the same cluster. This algorithm makes use of the following settings:
* The size of the sectors in which the map is divvied up. This is a numeric setting, indicating the side of one edge of the sectors in meters.
* Whether to cluster [[net loads|collective loads]] separately. This is a yes-or-no option. If this option is selected, collective net loads are placed in individual clusters, and not grouped into the cluster generated based on the sectors in which they reside.
* The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
====Per attribute====
An [[attribute]] of the net loads indicates in which cluster the net load is placed. Every net load with the same value for that attribute is placed in the same cluster. This algorithm makes use of the following settings:
* The attribute to use. When 2 or more loads have the same value for this attribute, they are placed in the same cluster. Net loads which do not have this attribute explicitly defined are ignored.
* Whether to cluster [[net loads|collective loads]] separately. This is a yes-or-no option. If this option is selected, collective net loads are placed in individual clusters, and not grouped in a cluster with other net loads which share the same attribute value.
* The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
====Per building====
All the net loads linked to the same building are placed in the same cluster. Each building with net loads will have their own cluster. Net loads which are not linked to buildings are not clustered. If a building already has a cluster and more unclustered loads exist linked to the same building, a new cluster is created for the loads which were not yet clustered. This algorithm makes use of the following settings:
* Whether to cluster [[net loads|collective loads]] separately. This is a yes-or-no option. If this option is selected, collective net loads are placed in individual clusters, and not grouped in a cluster with other net loads which share the same attribute value.
====Per load====
Each net load will be placed in a separate cluster. This algorithm makes use of the following settings:
* The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
====Per load with unique stakeholders====
Each net load will be placed in a separate cluster. Additionally, for each cluster created with this algorithm an additional [[stakeholder]] is added to the project. This algorithm makes use of the following settings:
* The default stakeholder. When a net load has an owner (because the net load is linked to a building), the net load is considered to be owner by that stakeholder. When the net load does not have an owner, it is considered to be owned by the default stakeholder selected.
====Add to existing clusters by building====
For each cluster, all net loads are checked for the buildings to which they are linked. Those buildings are checked for net loads which are linked to that building but are not yet clustered. If any unclustered net loads are found in buildings this way, those net loads are added to the existing cluster. If multiple net loads, part of different clusters, are linked to the same building, it is random to which cluster any unclustered net loads will be added. This algorithm does not have any settings.


==Checking for errors==
==Checking for errors==

Revision as of 07:45, 9 May 2018

Template:Learned

This article is a stub.

What is a network

A network is broadly defined as an interconnected system of things. More specifically, networks used here are transport and distribution networks. These are systems composed of interconnected points of supply and demand for specific resources, and the routes connecting them.

How networks relate to the Tygron Engine

In the Tygron Engine, it is possible to add network information to a project.

Network functionality is currently an advanced feature, and not available to new projects by default. Please contact Tygron Support if you wish to make use of networks in your projects.

Network structure

Networks are not themselves an individual component in a project, but are composed of multiple constituent components.

Network type

Each network is related to a predefined resource type. This is known as the network type. The network then is the system through which that resource travels from elements of supply to elements of demand. Each network of a separate type is a separate entity, and networks of different types do not affect each other.

Network components

Networks in the engine consist first and foremost out of net lines and net nodes. The net lines are the principle element in this structure. The two ends of net lines are defined by net nodes. Each net node has at least one net line connected to it, but any arbitrary number of net lines can start or end at a node. The collection of net lines and net nodes between two arbitrary net nodes is called a path.

Networks also have net loads, which are a definition of supply and demand. These net loads are linked to net nodes, to indicate the supply and demand on that node. A net load is a geographical element, which should be connected to a net node, with data concerning the amount of supply or demand that net node represents. Not every net node needs to have a net load connected to it. However, net loads are only relevant and valid when they are connected to a net node.

Lastly, clusters are also used in conjunction with networks. Clusters group together net loads, and serve as an intermediary to use queries on the loads of networks, or to add panels to the network for reading out information and controlling the network. Clusters are not formally an element of the network. Their existence (or lack thereof) does not inherently influence the validity, functioning, or meaning of the network.

Restrictions on networks

  • Networks cannot contain any cycles. All networks should be defined as a tree. If the network is not structured as a tree, network generation and other calculations may have unexpected results.
  • A net node can be connected to 1, 2, or more net lines, except when that node is a load node. In that case, a net node can only be connected to exactly 1 net line.
  • Behavior for networks linked with buildings which are altered during a session are undefined. When using network functionality, the buildings linked to by the network should not be demolished, upgraded, sold to other stakeholders, or otherwise changed.

Network settings

There are a number of settings available with which to tweak how networks functions in your project. For more information on the settings available, see Network settings.

Generating Networks

It is possible to have the Tygron Engine generate networks for your projects.

Checking for errors

When there is doubt on whether the network has been created correctly, there are options to have the engine check for issues automatically.

Network wizard

When creating or importing network data using the net wizard, but also when stepping through the available steps of the wizard without effecting any changes, there are 2 validation steps where all preceding information is checked. These validation steps will check the following for all active network types:

  • There is a root node
  • All net lines are connected directly or indirectly to the root node
  • All net loads are connected via paths composed of net lines to the root note
  • All net nodes with only 1 net line connected to them have a net load connected to them
  • All net nodes with a net load connected to them only have 1 net line connected to them
  • There are no cycles in the network (except for the GAS network type)
  • All net loads are part of a cluster

Net validation

The net validation panel will check the following for a given network type:

  • There is a root node
  • All net lines are connected directly or indirectly to the root node
  • All net nodes with only 1 net line connected to them have a net load connected to them
  • All net nodes with a net load connected to them only have 1 net line connected to them

You will also be able to "highlight" the network. This will highlight all segments of the network that are connected to the root node. All sections of the network that aren't connected in any way to the root node are not connected. This allows you to find small fractures which disconnect sections of the network.