Source code for haskoning_atr_tools.human_induced_vibrations.walking_load

### ===================================================================================================================
###   Human induced vibrations tool - Walking load
### ===================================================================================================================
# This calculation tool is based on the Dutch SBR guideline **Trillingen van vloeren door lopen**
# Copyright ©2025 Haskoning Nederland B.V.

### ===================================================================================================================
###   1. Import modules
### ===================================================================================================================

# General imports
import warnings

# References for functions and classes in the haskoning_atr_tools package
from haskoning_atr_tools.human_induced_vibrations.step_load import StepLoad
from haskoning_atr_tools.human_induced_vibrations.step_walking_load import StepWalkingLoad


### ===================================================================================================================
###   2. Walking Load
### ===================================================================================================================

[docs] def calculate_walking_load( step_frequency: float, body_mass: float, nr_steps: int = 15, load_reduction: bool = False) -> StepWalkingLoad: """ Calculate the walking load by superimposing the step load multiple times at intervals of 1/step_frequency. This calculation tool is based on the Dutch SBR richtlijn **Trillingen van vloeren door lopen**, Richtlijn voor het voorspellen, meten en beoordelen, d.d. September 2005. The procedure aligns to international research on the topic. Input: - step_frequency (float): The frequency of the steps, in [Hz]. The frequency should be between 1.64 and 3Hz. - body_mass (float): The mass of the body, in [kg]. The body mass should be between 40 and 125kg. - nr_steps (int): The number of steps to apply in the walking load. The total amount of steps should be at least 15. Default value is 15. - load_reduction (bool): Toggle to apply a load reduction is applied to the first four and last four steps. Default value False, no load reduction is applied. Output: - Returns the instance of StepWalkingLoad that defines the calculated step walking load. """ warnings.warn( "WARNING:The Human Induced Vibrations Tool is currently under active development. Functionality may change in " "future updates, and formal validation is still pending. Please verify your results carefully before using " "them in your applications.") # Create the instance of StepLoad that defines the properties of a single step step_load = StepLoad(step_frequency=step_frequency, body_mass=body_mass) # Create the StepWalkingLoad instance that defines the requested load for walking return StepWalkingLoad(step_load=step_load, nr_steps=nr_steps, load_reduction=load_reduction)
### =================================================================================================================== ### 3. End of script ### ===================================================================================================================