
Input file for a n-storey building
David Nortes Martínez
plan_to_input_file_several_storeys.Rmd
Before starting
We assume that you have read and successfully model the single-storey building in our vignette From the architect’s plan to the input file of floodam.building. If you have not yet done it, now it is the best time to do so.
Modelling a two-storey building from scratch
To do this model we count on the information displayed in the plans and table below. You have the plan of the house, a focus over each type of opening and a table summarizing key information. As an extra, we also include three perspective views so you can have a very clear idea of the building.
PLANS
MATERIALS & INFORMATION
structural group | type of element | material | other information |
---|---|---|---|
ceiling | ceiling | concrete | ceiling made of concrete withe cellular plastic insulation and a paint coating |
floor | floor | concrete | floor covered of glued tiling and wood coverstrips; ground level = street level |
wall | load bearing wall | concrete | single layer render |
wall | lining | polyplac | vegetal insulation, paint coating and tile baseboard. Interior face of external walls |
wall | partition | placostil | paint coating and tile baseboard. Wall used to separate rooms |
opening | window | pvc | solid PVC shutter |
opening | interior door | alveolar door with wooden frame | |
opening | exterior door | solid wood | |
building | building | main use: dwelling. Thickness of load-bearing walls = 0.3m / Thickness of non-load-bearing walls = 0.1m |
As you can see in the figure below, we are adding a room in the ground floor (room5) and a two-room basement to our single-storey building from the vignette From the architect’s plan to the input file of floodam.building. We will not repeat the whole process. Instead we will focus on the additions and modifications to the input file to successfully add a storey.
The first thing that we should do is to determine the coordinates of the modified rooms in the ground floor and all of the coordinates of the basement. As you can see in the perspective views of the building, the basement is located bellow rooms 2 and 4 and accessed through rooms 5 and 6.
Once you have the coordinates of the new storey (all coordinates are available in the figure for self-evaluation), it is time to introduce them in your input file. As we did in the vignette From the architect’s plan to the input file of floodam.building, we will provide the code chunks in both XML and YAML languages.
Let us start with the modifications in the ground floor. Rooms 4 and 5 should be introduced in your input file as follows:
XML
<room_4>
<name>room_4</name>
<floor>floor_1</floor>
<baseboard>baseboard_1</baseboard>
<ceiling>ceiling_1</ceiling>
<wall_1>
<coordinates>4.4,4.4</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
<opening>
<name>door3</name>
<coordinates>6.95,4.35</coordinates>
<type>door_int</type>
<H>0</H>
</opening>
</wall_1>
<wall_2>
<coordinates>8.4,4.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_2>
<wall_3>
<coordinates>8.4,7.3</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
<opening>
<name>door5</name>
<coordinates>7.9,7.35</coordinates>
<type>door_int</type>
<H>0</H>
</opening>
</wall_3>
<wall_4>
<coordinates>7.3,7.3</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_4>
<wall_5>
<coordinates>7.3,8.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_5>
<wall_6>
<coordinates>4.4,8.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
<opening>
<name>window3</name>
<coordinates>4.25,5.95</coordinates>
<type>window_t1</type>
<H>90</H>
</opening>
</wall_6>
</room_4>
<room_5>
<name>room_5</name>
<floor>empty</floor>
<ceiling>ceiling_1</ceiling>
<wall_1>
<coordinates>7.4,7.4</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
<opening>
<name>door5</name>
<coordinates>7.9,7.35</coordinates>
<type>door_int</type>
<H>0</H>
</opening>
</wall_1>
<wall_2>
<coordinates>8.4,7.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_2>
<wall_3>
<coordinates>8.4,8.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_3>
<wall_4>
<coordinates>7.4,8.4</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_4>
</room_5>
YAML
room_4:
name: room_4
floor: floor_1
baseboard: baseboard_1
ceiling: ceiling_1
wall_1:
coordinates:
- 4.4
- 4.4
type: partition_1
coating:
type: coating_1
opening_15:
name: door3
coordinates:
- 6.95
- 4.35
type: door_int
H: 0.0
wall_2:
coordinates:
- 8.4
- 4.4
type: lining_1
coating:
type: coating_1
wall_3:
coordinates:
- 8.4
- 7.3
type: partition_1
coating:
type: coating_1
opening_16:
name: door5
coordinates:
- 7.9
- 7.35
type: door_int
H: 0.0
wall_4:
coordinates:
- 7.3
- 7.3
type: partition_1
coating:
type: coating_1
wall_5:
coordinates:
- 7.3
- 8.4
type: lining_1
coating:
type: coating_1
wall_6:
coordinates:
- 4.4
- 8.4
type: lining_1
coating:
type: coating_1
opening_17:
name: window3
coordinates:
- 4.25
- 5.95
type: window_t1
H: 90.0
room_5:
name: room_5
floor: empty
ceiling: ceiling_1
wall_1:
coordinates:
- 7.4
- 7.4
type: partition_1
coating:
type: coating_1
opening_18:
name: door5
coordinates:
- 7.9
- 7.35
type: door_int
H: 0.0
wall_2:
coordinates:
- 8.4
- 7.4
type: lining_1
coating:
type: coating_1
wall_3:
coordinates:
- 8.4
- 8.4
type: lining_1
coating:
type: coating_1
wall_4:
coordinates:
- 7.4
- 8.4
type: partition_1
coating:
type: coating_1
Next, before you introduce the basement, you should rename both the storey and external_wall in the building block in the single-storey building input file. We will rename storey as storey_groundfloor and external_wall as external_wall_groundfloor. The reason behind is fairly intuitive: each storey in the input file is treated as a block with its own features and XYZ disposition. To avoid errors, labels should be different.
Once storey and external_wall are renamed, you can add your new storey. As you can see in the XML and YAML code chunks below, the way to introduce your new storey is the same as the one you already know from the vignette From the architect’s plan to the input file of floodam.building:
- You “open” your new storey block. In our example we have chosen to call it storey_basement
- you provide the general features of this new storey: height at which the storey is located in relation to the ground level (H), height of the storey (height) and name.
- you provide the sub-blocks dedicated to the external wall and room(s). Please pay attention to the names used in the example.
XML
<storey_basement>
<name>basement</name>
<H>-300</H>
<height>300</height>
<external_wall_basement>
<wall_A>
<coordinates>4.1,0</coordinates> <!--Initial x-y coordinate of the wall-->
<type>empty</type>
</wall_A>
<wall_B>
<coordinates>8.7,0</coordinates> <!--Initial x-y coordinate of the wall-->
<type>empty</type>
</wall_B>
<wall_C>
<coordinates>8.7,8.7</coordinates>
<type>empty</type>
</wall_C>
<wall_D>
<coordinates>4.1,8.7</coordinates>
<type>empty</type>
</wall_D>
</external_wall_basement>
<room_7>
<name>room_7</name>
<floor>floor_1</floor>
<baseboard>baseboard_1</baseboard>
<ceiling>ceiling_1</ceiling>
<wall_1>
<coordinates>4.4,0.3</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_1>
<wall_2>
<coordinates>8.4,0.3</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_2>
<wall_3>
<coordinates>8.4,7.3</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
<opening>
<name>door6</name>
<coordinates>7.9,7.35</coordinates>
<type>door_int</type>
<H>0</H>
</opening>
</wall_3>
<wall_4>
<coordinates>7.3,7.3</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_4>
<wall_5>
<coordinates>7.3,8.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_5>
<wall_6>
<coordinates>4.4,8.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_6>
</room_7>
<room_6>
<name>room_6</name>
<floor>floor_1</floor>
<baseboard>baseboard_1</baseboard>
<ceiling>empty</ceiling>
<wall_1>
<coordinates>7.4,7.4</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
<opening>
<name>door6</name>
<coordinates>7.9,7.35</coordinates>
<type>door_int</type>
<H>0</H>
</opening>
</wall_1>
<wall_2>
<coordinates>8.4,7.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_2>
<wall_3>
<coordinates>8.4,8.4</coordinates>
<type>lining_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_3>
<wall_4>
<coordinates>7.4,8.4</coordinates>
<type>partition_1</type>
<coating>
<type>coating_1</type>
</coating>
</wall_4>
</room_6>
</storey_basement>
YAML
storey_basement:
name: basement
H: -300.0
height: 300.0
external_wall_basement:
wall_A:
coordinates:
- 4.1
- 0.0
type: empty
wall_B:
coordinates:
- 8.7
- 0.0
type: empty
wall_C:
coordinates:
- 8.7
- 8.7
type: empty
wall_D:
coordinates:
- 4.1
- 8.7
type: empty
room_7:
name: room_7
floor: floor_1
baseboard: baseboard_1
ceiling: ceiling_1
wall_1:
coordinates:
- 4.4
- 0.3
type: lining_1
coating:
type: coating_1
wall_2:
coordinates:
- 8.4
- 0.3
type: lining_1
coating:
type: coating_1
wall_3:
coordinates:
- 8.4
- 7.3
type: partition_1
coating:
type: coating_1
opening_1:
name: door6
coordinates:
- 7.9
- 7.35
type: door_int
H: 0.0
wall_4:
coordinates:
- 7.3
- 7.3
type: partition_1
coating:
type: coating_1
wall_5:
coordinates:
- 7.3
- 8.4
type: lining_1
coating:
type: coating_1
wall_6:
coordinates:
- 4.4
- 8.4
type: lining_1
coating:
type: coating_1
room_6:
name: room_6
floor: floor_1
baseboard: baseboard_1
ceiling: empty
wall_1:
coordinates:
- 7.4
- 7.4
type: partition_1
coating:
type: coating_1
opening_2:
name: door6
coordinates:
- 7.9
- 7.35
type: door_int
H: 0.0
wall_2:
coordinates:
- 8.4
- 7.4
type: lining_1
coating:
type: coating_1
wall_3:
coordinates:
- 8.4
- 8.4
type: lining_1
coating:
type: coating_1
wall_4:
coordinates:
- 7.4
- 8.4
type: partition_1
coating:
type: coating_1
It is worth noting that the external walls of the basement are “empty”. This type of wall does not add any damage to the damage estimation. Why do we do that ? well, the main goal of the floodam building library is to estimate damage functions. If the basement’s external walls are underground, a flood will not touch them, therefore they should not be “considered”.
You should now be able to create your own building file for this building. To help the learning process and be able to self-evaluate, you can access the XML and YAML finished versions of the building file here