Skip to contents

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

toto



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.

toto

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:

  1. You “open” your new storey block. In our example we have chosen to call it storey_basement
  2. 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.
  3. 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