Skip to contents

Extract elementary damages by room

Usage

extract_damage_detail_by_room(x, room, external_wall)

Arguments

x

the list of elementary damaging in a model, as given in the slot "detail" of the slot "damaging" of a model

room

character, names of the rooms in the model

external_wall

List with the names of each of the external walls of the model. Each storey must be included separately and using the same name as the set of external walls of that storey in the input file

Value

a list

Details

This function is meant to be called during the calculation of damage functions

See also

extract_elementary_component_from_detail() and extract_damage_detail_external_wall(), to handle the calculation of damage functions by rooms

Examples

model = analyse_model(
 model = adu_t_basement,
 stage = c("extract", "damaging")
)
#> Extracting building information for 'adu_t_basement'...
#> 	- extracted:
#> 		- parameter
#> 		- storey
#> 		- room
#> 		- wall
#> 		- opening
#> 		- coating
#> 		- furniture
#> 	- missing (not found):
#> 	... Informations successfully extracted for 'adu_t_basement'
#> Computing some values for 'adu_t_basement'...
#> 	... Informations successfully extracted for 'adu_t_basement'
#> Computing damage for 'adu_t_basement'...
#> 	... Damaging successfully computed for 'adu_t_basement'
#> End of analysis for 'adu_t_basement'. Total elapsed time 0.94 secs
#> More information availabe at /tmp/R-test/model/adu/adu_t_basement/adu_t_basement.log

selection = grepl(
 "external_wall",
 levels(model[["data_table"]][["wall"]][["room"]])
)

external_wall = split(
 as.character(model[["data_table"]][["wall"]][["wall"]]), 
 model[["data_table"]][["wall"]][["room"]]
)[selection]

test = extract_damage_detail_by_room(
 x = model[["damaging"]][["detail"]], 
 room = levels(model[["data_table"]][["room"]][["room"]]),
 external_wall = external_wall
)