Using Python to Takle Engineering Problems
Rayleigh waves are a type of surface wave that can be generated from a number of sources such as earthquakes, construction activities, and transient train loading. When considering transient train loads, Rayleigh Waves cause displacements of the track and the material below it when the train speed approaches the Rayleigh Wave Velocity of the soil, resulting in excessive vibration. Therefore, a stiff layer under the rail track needs to be constructed to accommodate the increased speed. The shear velocity occurring from existing seismic tests is used as an input alongside the in-situ soil properties to calculate the Rayleigh wave dispersion curve-Rayleigh wave velocity over frequency. This data is used in strategic decision making to identify the thickness of the competent layer while maximising the speed and minimising the volume of the imported competent material. This presentation aims to highlight the data analysis challenges in geotechnical engineering, where python is not predominantly used for data analysis. The implementation of numpy to tackle the equations for calculating the Rayleigh wave dispersion curve followed by the implementation of pandas to create dataframes that are agile and easy to manipulate will be discussed initially. As we have to analyse data from many datapoints, it is essential that we create an agile form of database, or an input-output procedure which remains constant. Data querying can then be conducted in a way such that engineers without programming knowledge can extract information-provided that the right question is asked. The importance of the ‘right question’ in database querying will be highlighted as there is a need to ensure clear communication between the developer and other engineering disciplines. The use of jupyter to create a user interface for such data analysis will be demonstrated. Finally, the lessons learnt from communicating the querying/calculative limitations to third parties will be presented.