Networks tutorial: Difference between revisions

From Tygron Preview Support Wiki
Jump to navigation Jump to search
mNo edit summary
Line 120: Line 120:
{{page_break}}
{{page_break}}


<!--
==Network generation==
 
 
 
 
 
Add loads to network
Set load to root (anchor the network)
Producer load
Consumer load
Test run
Flow variables calculated
 
 
 
 
-->

Revision as of 12:36, 5 June 2019

Template:Learned

This article is a stub.
Please note: This page is currently being updated.

Prerequisites

The following prerequisites should be met before starting this tutorial:

  • This tutorial relies on base knowledge about the editor interface. If you have not yet followed the tutorials related to those subjects please do so first.
  • This tutorial can be followed with any project of any arbitrary location. Recommended is to create or load a project in the editor with an urban residential area with multiple neighborhoods.
  • Microsoft Excel is required for completing this tutorial. 

Preparations

Take the following steps as preparation for following this tutorial:

  • Start your project. This can be a pre-existing project, or a newly created project.

Introduction to networks

Networks are a separate data layer in a 3D world, intended to model actual resource transport networks, such as for gas, heat, and internet. They are modeled as a mathematical graph consisting of vertices (points) and edges (lines connecting the points).

Networks are composed of a number of datatypes:

  • Net Nodes: These form the vertices of the network graph; the individual points which can be connected by lines. Net nodes cannot be directly edited as a discrete datatype as such, but are a relevant datatype to be aware of when working with networks.
  • Net Lines: These form the edges of the network; the connections between the points. Net lines are defined by the net nodes they connect, and for the connections between one point on the network and another.
  • Net Loads: These form a collection of properties for end-points on the network, and must be connected to any net node which forms an end-point on the network. This means that any net node which has only 1 net line connecting to it should have a net load connected to it. The net load defines the amount of the specified resource the endpoint produces or consumes.

These datatypes form the actual network. However, when discussing networks in the Tygron Platform, the following datatypes are of importance when dealing with networks:

  • Net Functions: Just like constructions being defined by a function definition, net lines have a net function definition as well. Any values not defined specifically for an individual net line, are derived from the net function definition.
  • Net Clusters: Net loads can be grouped together into clusters, to make interacting with the net loads more manageable for end users. Clusters are not directly part of the network but serve as an interface between the network and end-user methods to interact with the 3D world.

Creating a simple network

A good way to learn how these items work in tandem is to create a small network in which each of these parts are represented.

Pick a location in your map with a little bit of space. You're going to create a small network in this location.

Editor → Current Situation (Ribbon tab) → Networks (Ribbon bar)
The location of the network configurations.

First, activate the electrical network. Select the "Electricity" net type.

Select the currently inactive electricity network.

Make sure it's activated in the right panel, by checking the "Active" checkbox.

Set the network to be active.

Drawing networks

Next, we can draw the network.

Editor → Current Situation (Ribbon tab) → Networks (Ribbon bar) → Edit network (Dropdown)
The network editing options in the bottom panel.

Click in a location in the 3D world to set the first net node location. Click in another location to set the second net node location. You will see a net line appear in the 3D world.

The first drawn net line.

As you move the cursor, you will see a predicted line in bright yellow, which indicates where the next line will be placed when you click again.

The next potential line is visualized as you move the cursor.

Make the network circle back on itself, letting the last net line connect to one of the intermediate nodes.

A relatively simple network.

If at any point during this proces you place a net line where you don't want one, select the "remove" option in the bottom panel. You can then click on the net line you misplaced to remove it. Then, you can switch the setting back to "Add" to resume drawing new net lines.

Click on the "Add" radio button in the bottom panel to "unfocus" the cursor from the current drawing action. Then click on any node to focus the drawing action there, and create a small offshoot from the network. Repeat this process a few times so the network has a couple of endpoints.

A relatively simple network with a few offshoots.

Adding net loads

This series of net lines together form a very simple network. However, right now the network is just a collection of lines between points. The next step is to add net loads, the set of definitions which indicate what happens at a given endpoint.

Editor → Current Situation (Ribbon tab) → Networks (Ribbon bar) → Show Loads (Dropdown)
The location of the net loads editing option.

Add a net load to the project.

Add a net load.

The net load will be grouped in the "Unclustered" category, and then the "Electricity" network category. Select it.

The net load can be selected in the left menu.

The net load has been created, but it must be connected to a valid endpoint on the network, and it must be given attributes which for the definition of what happens at that endpoint.

First, we connect the node to an endpoint. Select "Select Node" at the bottom of the right panel.

The options to relate the net load to net nodes, and to geographical locations.

Next, click on the first endpoint of the network. You will see the load is placed on the exact same location of the net node you clicked on.

Click on the endpoint to connect the load to it.

Often times, the indicative location of the net load is not identical to the exact location of the endpoint of the network. For this reason, it is also possible to set a location for the net load which is more representative of where the load for the network is really coming from. At the bottom of the right panel, select "Set Position".

Next, click near the endpoint where the net load is connected. You will see the net load appear in the location that you clicked. It will still indicate the net node it is connected to via a line.

The net load now has a different location than the net node.

Notice that the network itself is unaltered. The net lines as we have drawn them are still the same.

Now that the net load has been associated with the network, attributes must be added to it to define its effect on the flow of the network. Switch the right panel to the "attributes" tab, and add a "FLOW" attribute with a value of 1000.

Add a "FLOW" attribute to the net load.

This net load now defines the connected net node to be a point of resource production. In terms of an electricity network, this would for example be a power station.

Add 2 more net loads to the project. Give them a "FLOW" attribute of -100, and connect them to different end-points on the network.

The leftmost net load is a "producer". The other net loads are "consumers".

Because the net loads have a negative "FLOW" attribute, their associated net nodes are points of resource consumption. In terms of an electricity network, this would for example be a house, or a factory.

For our initial inspection of the network, it will also be desirable to set the timestate of all net loads to "READY". The timestate predicates whether the net load is actually "active" on the network. In other words, it sets a net load to be connected or disconnected to the network, and thus whether to take their "FLOW" into account during calculations. "NOTHING" means the net load is disconnected. "READY" means the net load is connected and active.

For each net load, change the timestate from "NOTHING" to "READY".

The timestate setting dictates whether the net load is active or not.

Lastly, we need to set a "root" for the network. This is a net load which serves as a sort of anchor for calculations. By convention, if a network only has a single producer it is usually set as root.

Select the producer net load, and in the "General" tab make sure "Is Root" is checked. This sets this net load as the root of the network.

The "Is Root" setting anchors the network at this net load's net node.

It will now also be listed in the left panel under the "Roots" category, rather than "Unclustered".

Network calculations

Now start a testrun. You may see parts of the network disappear. Specifically, the parts of the network which are not on the path between the consumers and the producer.

The network appears to be only partially active during a testrun.
Editor → Current Situation (Ribbon tab) → Networks (Ribbon bar) → Show Lines (Dropdown)
Open the net lines menu.

Select a net line, and inspect the "FLOW" attribute. Repeat this for a number of net lines, and see that the net lines have varying "FLOW" attributes.

Net lines now have a calculated flow.

This forms the basis of simple, manual network creation and configuration.

Assignments

These assignments guide you to further explore the basic calculation functionality already exposed with a basic network.

  1. Increase the amount of electricity the consumers require, so that the sum of their consumption exceeds that of the producer. Inspect the net lines during a testrun to see the consequences.
  2. Add an additional branch to the network, which then branches into two endpoints. Add an additional consumer to one endpoint, and an additional producer to the other endpoint. Inspect the net lines during a testrun to see the consequences.
  3. Set the timestate of one or two net loads to "NOTHING". Inspect the net lines during a testrun to see the consequences.

Network generation