### ===================================================================================================================
### L3-M strengthening measure
### ===================================================================================================================
# Copyright ©VIIA 2024
### ===================================================================================================================
### 1. Import modules
### ===================================================================================================================
# General imports
from __future__ import annotations
from typing import Union, TYPE_CHECKING
# References for functions and classes in the rhdhv_fem package
from rhdhv_fem.shapes import Roof
# References for functions and classes in the viiaPackage
from viiapackage.strengthening.l3.l3_multiplex_panel import viia_l3_multiplex_panel
if TYPE_CHECKING:
from viiapackage.viiaStatus import ViiaProject
### ===================================================================================================================
### 2. Function to create L3-M strengthening measure
### ===================================================================================================================
[docs]def viia_l3m(project: ViiaProject, variant: int, roof: Union[str, Roof]) -> Roof:
"""
This function creates an L3-M-measure for a selected roof. With this measure, one layer of OSB panels is glued
or screwed onto the existing roof. In the FEM-model the material of the floor will be adjusted with an updated
material model, mass density and thickness.
Input:
- project (obj): VIIA project object containing collections of fem objects and project variables.
- variant (int): The variant number of the measure that is in the GMC.
- roof (obj): The object reference of the roof that has to be strengthened.
Alternative (str): Name of the roof to be strengthened.
Output:
- The strengthening measure is added to the roof.
- When running in DIANA after creating the model, the DIANA model is updated.
- Returns the roof object reference on which the measure is applied.
"""
return viia_l3_multiplex_panel(
project=project, variant=variant, surface=roof, function_name='viia_l3m',
material_name='LIN-L3M')
### ===================================================================================================================
### 3. End of script
### ===================================================================================================================