Matlab codes to read and write SAC seismic data file
GAOT-ECM (GAOT - Extension For Control And Modeling) is an extension of the Genetic Algorithm Optimization Toolbox (GAOT) by C.R. Houck, J.A. Joines, M.G. Kay, that implements genetic algorithms for industrial plant identification and PID controller design.This file contains the Seismic Vibration Case Study. For other examples, please consult the GAOT-ECM: Extension For Control And Modeling main file.This extension brings forth the practical aspect of using genetic algorithms in aiding plant modeling and PID control design for real world industrial processes. Plants such water tanks, heaters, fans and motors are usually hard to model or tune on-site, especially after prolonged use of the equipment when degradation of performances is inevitable. Therefore, this toolbox extension introduces a series of practical steps that can be taken by control engineers in order to re-design viable PID controllers for their plants.Inside the GAOT-ECM Seismic Vibration Case Study archive you will find the folder: MR Damper, which runs a PID controller design genetic algorithm under various customizable performance criteria.For this case study, a base isolation system is considered for a three story building. The damper is mounted in the base of the structure, which is controlled via an LQR law on the outer loop of a cascaded control system. A PID controller is chosen to be designed using GAs for the inner loop containing the damper. The output forces generated by seismic dampers are required to be maintained between specific limits, so they do not cause instability to the structure, breaks support beams and so on. Therefore, a control loop for the actuator is required, that will receive the desired control forces computed by higher algorithms (such as robust laws, intelligent controllers, adaptive, modal, etc.) as setpoints and ensure that they are precisely reproduced by the actual damper output force. Analysis for validation and LQR command matrix are included.GAOT-ECM was implemented and tested under Matlab 7 (R2011b).Enjoy!Acknowledgements: GAOT-ECM Toolbox(GAOT - Extension For Control And Modeling ) was inspired by Genetic Algorithm Optimization Toolbox (GAOT) by C.R. Houck, J.A. Joines, M.G. Kay.Citing information: Patrascu M., Ion A. 2016 - Evolutionary Modeling of Industrial Plants and Design of PID Controllers. Case Studies and Practical Applications, Nature-Inspired Computing for Control Systems (Ed. H.E.Ponce Espinosa), Series Studies in Systems, Decision and Control, vol. 40, pp. 73-119, Springer International Publishing, doi: 10.1007/978-3-319-26230-7_4
The script analizes the dynamic response of a linear system subject to a seismic input through the Response History Analysis (RHA) and the Response Spectrum Analysis (RSA).After the calculations there is a comparison between results from the two methods.At the end will appear an animation that shows the total response of the structure in terms of displacements, shear forces and bending moments.
Function calculates P-wave, S-wave, SH-wave and SV-wave radiation pattern using shear-tensile source model [cf. references 1-3 for details]. All input angles (strike, dip, rake of the fault, tensile angle gamma, takeoff angle TKO and azimuth from the source to the observation point AZM) should be provided in degrees. The takeoff angle is measure from bottom. The azimuth to the observation point is measured from north to east. The function returns matrices of the same size as input TKO and AZM matrices which should be of the same size and denote a set of observation points specified by takeoff angles and azimuth.[1] Kwiatek, G. and Y. Ben-Zion (2013). Assessment of P and S wave energy radiated from very small shear-tensile seismic events in a deep South African mine. J. Geophys. Res. 118, 3630-3641, doi: 10.1002/jgrb.50274[2] Ou, G.-B., 2008, Seismological Studies for Tensile Faults. Terrestrial, Atmospheric and Oceanic Sciences 19, 463.[3] Vavryčuk, V., 2001. Inversion for parameters of tensile earthquakes.” J. Geophys. Res. 106 (B8): 16339–16355. doi: 10.1029/2001JB000372.
One of the main problems in time history analysis is the definition of a proper input and arranging the records for different structural analysis programs. In the case of transient analyses, ground acceleration–time history data are used for seismic analysis. Such time histories may be derived synthetically, by either numerical simulation of the source and wave propagation mechanisms, or by considering proper stochastic models. The best way to evaluate seismic performance of structures is monitoring structural behaviour under real earthquake records. Seismic records from tectonically active regions throughout the world may be downloaded from PEER Strong Motion Database. In this study, a simple assistant program is developed for implementing earthquake analyses of structures with ANSYS and SAP2000. The seismic records are loaded from PEER and earthquake analysis files are produced in ANSYS Parametric Design Language (APDL). Anyone who modeled a structure in ANSYS can use the analysis files produced with ANSeismic by just calling them. ANSYS program may also be called from ANSeismic if APDL file is available. Beside ANSYS, a SAP2000 time history data file may also be produced with ANSeismic.
The equation of motion is solved with the hypothesis that the acceleration varies linearly in the step.At the end of the calculation a very nice animation is performed.You can choose 3 different constitutive models:- linear elastic- elastic - perfectly plastic- Armstrong - Frederick cyclic hardening plasticityYou can choose among 20 Italian earthquakes.I suggest this choice: Armstrong - Frederick with earthquake 16
This MATLAB function conducts a vector-valued probabilistic seismic hazard analysis (VPSHA) by making use of the truncated Gutenberg-Richter recurrence model. It considers only a uniform circular source in which the site-in-question is assumed to be located in the center of the circular source. The VPHSA model is based on Bazzurro and Cornell (2002). It uses ASB_2014 GMPE file to calculate mean Sa and corresponding sigma values (Akkar et al., 2014).References:Akkar, S., Sandıkkaya, M. A., & Bommer, J. J. (2014). Empirical ground-motion models for point-and extended-source crustal earthquake scenarios in Europe and the Middle East. Bulletin of earthquake engineering, 12(1), 359-387.Bazzurro, P., & Cornell, C. A. (2002, July). Vector-valued probabilistic seismic hazard analysis (VPSHA). In Proceedings of the 7th US national conference on earthquake engineering (Vol. 21, p. 25).
Matlab tools for geophysical (mainly exploration seismic) interpretation and processing
You can watch the archived version of this webinar at http://www.mathworks.com/videos/large-data-in-matlab-a-seismic-data-processing-case-study-81792.html (recommended). The demos show how to manage out of memory data using a memory mapped file and customizing the object for array indexing. This enables reuse of the memory mapped file inside functions or with parallel computing without needing to rewrite code or recreate the memory mapped file on each worker manually. The data files are not inlcluded in this download. Read the README file to locate the public data sources on the internet.The demo also shows how to speed up the solution of the wave equation (finite difference PDE) using a custom CUDA kernel. The relative speedup observed was around 1.6X. The demos start with: 1 - and introduction to seismic analysis (Kirchhoff migration, reverse time migration) 2 - Large data extension of the functionality shown in (1) and parallel computing for speeding up the processing time 3 - GPU extension to (1) showing how to use a custom CUDA kernel to solve the wave equation compared to a MATLAB implementation (written in vectorized form)
This script aims to offer the Shock Response Spectrum of an acceleration time history of an earthquake which is known. Therefore, it enables the user to calculate the Peak Ground Acceleration (PGA) and Pseudo Velocity. It also plots the solution and stores them in a file allowing certain changes such as the acceleration unit.The mathematical algorithm used for the calculation can be chosen by the user among the following, which are included in the script: Kelly Richman, Smallwood and Newmark. The user must provide the acceleration time history of the earthquake he wants to test, as well as introduce the damping parameter and the starting frequency for the iteration. The damping parameter can be either a damping ratio or quality factor.The time history of the earthquake, must have two columns: time(sec) and acceleration. This data can be already pre-loaded into Matlab, or introduced by selecting the option ‘Open new ASCII file’ inside the popup menu named ‘File Input Method’.As soon as the method has been selected the script will automatically plot the Peak Ground Acceleration. Nevertheless the user can obtain the results of the Pseudo Velocity.Lastly, the script offers the possibility to store the results obtained by clicking ‘Output data in a file’. The script will request a filename and a directory and automatically create a .dat file.- This file includes the srs.m file, uploaded by Tom Irvine in 2006 as one of the eligible calculation methods.- For further information, please relate to the document "SeismicResponseSpectrumGUI.pdf" included in the .zip file.
In the context of seismic analysis of structures, various earthquake inputs may be required depending upon the nature of analysis being carried out. The response spectrum of an earthquake is the most favored seismic input for earthquake engineers. A displacement response spectrum is the plot of maximum displacement of a single degree of freedom system (SDOF) to a particular ground motion as a function of the natural frequency and damping ratio of the SDOF. Present code plots the response spectrum for the given seismic input. Response spectrum is plotted for EL-centro earthquake with 2% damping.
Finite-Difference Time-Domain (FDTD) simulation for 2D Seismic Metamaterials (Crystals) Design for Seismic Wave Isolation Researchs.For more details for Seismic Crystal(Metamaterials) :https://www.scirp.org/pdf/oja20110300001_19667634.pdfhttp://arxiv.org/ftp/arxiv/papers/0902/0902.1429.pdfCitation:Alagoz, Baris Baykant, and Serkan Alagoz. “Towards Earthquake Shields: A Numerical Investigation of Earthquake Shielding with Seismic Crystals.” Open Journal of Acoustics, vol. 01, no. 03, Scientific Research Publishing, Inc., 2011, pp. 63–69, doi:10.4236/oja.2011.13008
This function calculates seismic parameters from an acceleration time series. Specifically, it calculates velocity vs time, displacement vs time, peak ground acceleration (PGA), peak ground velocity (PGV), peak ground displacement (PGD), Arias intensity vs time, total Arias intensity (Ia), time between when 5% and 75% of Ia has occurred (significant duration D5-75), time between when 5% and 95% of Ia has occurred (significant duration D5-95), mean period (Tm), pseudo-acceleration response spectrum (Sa), pseudo-velocity response spectrum (Sv), displacement response spectrum (Sd), and the Fourier amplitude spectrum (FAS).
A set of about 170 functions (plus support functions called by them) for analysis and display of exploration-seismic data and well logs. These functions read and write seismic data in standard SEG-Y format, read and write well logs in LAS-format 2.0 (also read LAS-format 3.0), and perform many of the manipulations usually performed on these data types. They use standardized structures to represent seismic data and well data and thus allow simple concatenation of function calls. The functions come with a manual in PDF format and scripts with examples. Several versions of Matlab were released during their development. Presently, I ran limited tests under them under R2015a, but I try not to use Matlab syntax introduced after R2007a. Also, SeisLab 2.01, which works with Matlab 6.1 (2001) and higher, can still be downloaded from the Matlab File Exchange (file 8827).Generally, I make an effort to avoid functions from toolboxes; however, I am aware of at least one call to a function in the Optimization Toolbox.In case you already have SeisLab installed you can find its distribution ID by typing "ddid" at the Matlab prompt. If you get the error message "Undefined function or variable 'ddid'." then you have the very first release of SeisLab. Otherwise, compare the distribution ID with that of this release (15.09.20). If it is lower then this release is newer.There are no major changes from SeisLab 3.01.
A set of about 170 functions (plus support functions called by them) for analysis and display of exploration-seismic data and well logs. These functions read and write seismic data in standard SEG-Y format, read and write well logs in LAS-format 2.0 (also read LAS-format 3.0), and perform many of the manipulations usually performed on these data types. They use standardized structures to represent seismic data and well data and thus allow simple concatenation of function calls. The functions come with a manual in PDF format and scripts with examples. Several versions of Matlab were released during their development. Presently, I run them under R2007b, but I try not to use Matlab syntax introduced after R2007a. Also, SeisLab 2.01, which works with Matlab 6.1 (2001) and higher, can still be downloaded from the Matlab File Exchange (file 8827).Generally, I make an effort to avoid functions from toolboxes; however, I am aware of at least one call to a function in the Optimization Toolbox.In case you already have SeisLab installed you can find its distribution ID by typing "ddid" at the Matlab prompt. If you get the error message "Undefined function or variable 'ddid'." then you have the very first release of SeisLab. Otherwise, compare the distribution ID with that of this release. If it is lower then this release is newer.Major changes in SeisLab 3.0:Some functions require Matlab R2007a or higher.Representation of seismic data and log data in single-precision or double-precision with trivial conversion from one into the other via overloaded functions "single" and "double". This means datasets can be about twice as big.LAS-file reader rewritten; reads LAS 2.0 and 3.0 files;the old LAS-file reader (LAS 2.0 only) is still available as "read_las2_file". It is somewhat faster.SEG-Y file reader rewritten. For large files it is much faster than the previous one; even more so if IBM to IEEE conversion is required. The original SEG-Y reader is still available as "read_segy_file_legacy".Display of volumes of seismic data in form of slices, contour slices, iso-surfaces ("s_volume_browser"). Slices can be static or animated. The volume-browser software is no longer included in this distribution as it is on a different update schedule. If you don't have it you can download the latest version from the Matlab File Exchange (file 13526).Faster and more accurate seismic plots.EXAMPLE (used to plot the attached figure):%Read interactively selected SEG-Y fileseismic = read_segy_file;%Make a volume plot of the data reads_volume_browser(seismic);
Computes P-phase arrival time in windowed digital single-component acceleration or broadband velocity record without requiring threshold settings using AKAIKE INFORMATION CRITERION. Returns P-phase arrival time index.
This zip file contains a sample shot-gather data set and a script to calculate the dispersion image of the data. The script uses the phase-shift dispersion imaging scheme of Park et al., 1998a to create the dispersion curve image. This script has been updated to include MANUAL and AUTOMATIC curve picking options.
The wiggle display is an ingenious methodology that displays two dimensional scalar fields on a horizontal plane. Originally developed by the geophysical community, the wiggle plot was created to provide a visual analysis of seismic and seismological data, or any other vibration data, in order to help the identification of events that can be stressed out with the coherent alignment of lobes. Ultimately those events can be related to geological features and/or can help the determination of the some physical properties of rocks, such as the velocity of P and S waves. Before digital displays were standard in the industry the wiggle plot was composed either by oscillatory continuous lines and black filled lobes, both drawn by special plotters on long paper sheets. Nowadays, when digital graphical displays are easily available, both elements, the lines and the lobes, are merged into a new one display called wiggle.The function WIGGLE should to work in the same way native Matlab functions IMAGESC or IMAGE work, but with some complementary options which allow control cosmetic properties. Basically one can control the color and direction of the lines, the color of the left and right lobes, among others. In order to control these features, a controlling string must be provided as input, in a similar way the function PLOT allows control of the graphical elements. Assuming that A is a matrix, a simple example is WIGGLE(A,'r'), which displays the columns of A as red lines ('r') with black filled right lobes. Another not so simple example is WIGGLE(A,'mBG'), which displays the lines in magenta ('m'), the left lobes in blue ('B') and the right lobes in green ('G'). The characters' order in the controlling string is not relevant, meaning that WIGGLE(A,'mBG') produces the same result as WIGGLE(A,'BmG') or else WIGGLE(A,'BGm'). The only exception is when dealing with the uppercase characters, which control the lobes color. For instance WIGGLE(A,'GmB') display the left lobes in green and right lobes in blue, which is quite different of what the original example, WIGGLE(A,'mBG'), produces. Check out the file test_wiggle.m for more examples of usage of WIGGLE function, especially about the controlling options provided by the string with special characters.
A set of 140 functions (plus support functions called by them) for analysis and display of exploration-seismic data and well logs. These functions read and write seismic data in standard SEG-Y format, read and write well logs in LAS-format 2.0, and perform many of the manipulations usually performed on these data types. They use standardized structures to represent seismic data and well data and thus allow simple concatenation of function calls. The functions come with a manual in PDF format and scripts with examples. Several versions of Matlab were released during their development. Presently, I run them under R2006b but I try to keep them compatible with R12 and use version-specific code to handle incompatibilities between this and previous Matlab versions that I happen to find. However, this is probably the last release to do so. The next release, SeisLab 3, will use Matlab features introduced in R13 and R14.Generally, I make an effort to avoid functions from toolboxes; however, I am aware of at least one call to a function in the Optimization Toolbox.In case you already have SeisLab installed you can find its distribution ID by typing "ddid" at the Matlab prompt. If you get the error message "Undefined function or variable 'ddid'." then you have the very first release of SeisLab. Otherwise, compare the distribution ID with that of this release. If it is lower then this release is newer.Also, please note that a new version, SeisLab 3.0, is now available from the Matlab File Exchange. That new version does no longer support Matlab prior to R14, and some functions require R2007a. EXAMPLE (used to plot the attached figure):%Read interactively selected SEG-Y fileseismic = read_segy_file;%Make a color plot of the data reads_cplot(seismic)% Make a wiggle plot on top of the color plot% and specify a titles_wplot(seismic,{'figure','old'}, ... {'title','Wiggle over color'})
This code will help filter the depth, magnitude, and distance range of seismic waves that you desire. You can filter the phases you want from this code, and it will tell you how many events will produce the desired phase at the location of your interest, set as your focal point. This code requires the use of m_map for its operation. (If there are any parts that can be improved or optimized, please suggest ideas for further development.)
This function generates elastic response specra including Displacement Spectrum, Pseudo Acceleration Spectrum, and Pseudo Velocity Spectrum which are needed in a "Response Spectrum Analysis" of structures. To solve the "equation of motions" for different periods, the Newmark Linear Method was used.
Seismic surveying requires placing a large number of sensors (geophones) in a large grid pattern, triggering a seismic event, and recording accelerometer readings at each sensor. These readings are inverted to infer the location of hydrocarbons. Traditional seismic surveying employs human laborers for sensor placement and retrieval. Use of explosives, harsh climatic conditions, high costs and time associated with human deployment are the major drawbacks of traditional surveying. We propose an autonomous heterogeneous sensor deployment system using drones to plant and recover sensors.INPUTS:x,y: size of region to surveyT = Initial HomeBase location in [x,y];hex: number of hexapods (mobile seismic sensors)drones: number of deployment vehicles (fast moving vehicles that can hold up to drone_cap darts)darts: seismic sensors that can be deployed by drones or peoplepeople: humans that can deploy seismic sensors (can carry up to people_cap Srikanth KVS and Aaron T. Beckersrikanth.kvs11@gmail.com and atbecker@uh.eduSee video at https://youtu.be/NvYyT66U8JM
Syntax: sac_sun2pc_mat('filename')Reads the SAC binary files from/for SUN platform and creates a .mat file that consists of 1. a structure, H, that contains all the header information and 2. a vector, X, that contains the waveform.The input file 'filename' must be either a sac file with extension .sac or a path. In the latter case all sac files in this path are converted.The path must be the full path, i.e., 'C:\Data\920611_001538_00_405'. The mat files are saved in the folder, in which the original .sac file exists.The SAC format files and names of variables are based on documentation, I have found in the internet. Some SAC Header variables that are 'not currently used' (according to the documentations, I found) are in comments, whereas others are ommitted.This file has been tested (not thoroughly, though) using Matlab 6.5 but should be working on all other previous Matlab 6 or 5 versions as well.Note that the file is NOT guaranteed to work perfectly, so please check your results.Please send any comments or corrections to csar@auth.gr SAC_SUN2PC_MAT written by C. D. Saragiotis on August 14th, 2003
The purpose of this study is to develop a seismic analysis of MDOF Structure based on Response Spectrum Method. This analysis tool is written in MATLAB software to determine structural responses or a combined response of each mode shape.
DynamicLinear-Seismic-Analysis-2DFramesFunctions and subroutines for the Dynamic Linear Seismic Analysis (Time-History) of 2D Frames
Static-Seismic-Modal-Analysis-3DFramesFunctions and subroutines for the Static Seismic Modal analysis of 3D Frames
Static-Seismic-Modal-Analysis-2DFramesSubroutines and functions for the Static Seismic Modal Analysis of 2D Frames
Dynamic-Time-History-Seismic-Anlaysis-3DFramesFunctions and routines for the dynamic inelar seismic analysis of 3D (Time-History)
% % Author(s): Xuepeng Cui (China University of Petroleum,Beijing)% % Copyright 2021 Xuepeng Cui% % Revision: 1.0 Date: Nov/2021This code can automatically pick up three-dimensional label samples along the well track, define the label type as reservoir and lithology, and add inclined well track search and label information such as fractures and faults in the later stage.
SedPro: This code allows the treatment, processing and calculation of seismic signal parameters.NewmarkRS and FFTsignal: complementary functions for the code
"Extended generalized non-hyperbolic moveout approximation" accurately approximates full-offset ray-traced traveltimes in a CMP acquisition, using only two rays. A demo of EGMA for accurate modeling of CMP traveltime in layered VTI media is also provided.
Seis_pick provides an interactive environment for picking seismic waveforms. It has been developed with the principal purpose of processing downhole microseismic data, although is suitable for all seismic data. Seis_Pick displays seismic traces, allowing the user to pick P-wave and S-wave phases.Seis_Pick can take Matlab workspace variables as input arguments. Alternatively, Seis_Pick can read SAC files directly. When SAC files have been read, Seis_Pick can save picks back into the SAC file headers.When phases have been picked, the user can enter spectral analysis to view the frequency content of each phase, as well as pre-event noise. The user can also enter hodogram analysis to view the polarization of phases. This is particularly useful to check that picked P-wave and S-wave phases are polarized orthogonally, as well as to compute the back-azimuth of the detected event (using P-wave polarization). Seis_Pick also provides a number of other signal-processing facilities, including a band-pass filter, or predictive filter that uses pre-event noise to create a notch filter. Seis_Pick has been developed as part of BUMPS (Bristol University Microseismicity ProjectS). Seis_Pick Action Buttons: p :- Pick P-wave start s :- Pick S-wave start o :- Pick P-wave end a :- Pick S-wave end P :- Delete P-wave start pick S :- Delete S-wave start pick O :- Delete P-wave end pick A :- Delete S-wave end pick w :- Wipe picks on one trace W :- Wipe picks on all traces f :- Predictive filter - The predictive filter inverts the frequency spectrum of the pre-event noise to create a notch filter. To define the pre-event noise, the predictive filter requires that the P-wave start be picked. If it is not, no filtering will occur. b :- Bandpass filter - Once bandpass has been selected, the user must enter a length 2 vector defining the low and high pass corner frequencies. F :- Remove filtering - When filtering, the unfiltered traces are stored in a dummy trace. If selected, SEIS_PICK returns to the original unfiltered trace. The filtered traces are not saved. h :- Enter hodogram analysis (individual station)q :- Enter spectral analysis (individual station)H :- Perform hodogram analysis on all stations - Performs hodogram analysis on P-wave windows only to compute event azimuth. c :- Cut traces - Effectively, this tool controls Matlab’s xlim property, to view a subset of the full trace. This is only an xlim operation, the trace itself is not cut. When using ‘c’, the user must press ‘c’ once to define the start of the new time window, and ‘c’ again to define the end of the window. z :- Zoom to selected traces - Effectively, this tool controls Matlab’s ylim property, to view one (or more) of the geophones only. As per the ‘cut’ option, press ‘z’ once to select the topmost trace to view, and ‘z’ again to select the lowermost trace to view. C :- Undo cut to view full trace - Resets Matlab’s xlim property to default settings. Z :- Undo zoom to view all traces - Resets Matlab’s ylim property to default settings. E :- Save plot of traces to .eps - On selecting this option, the user must input the file-name to which the plot of traces is saved. L :- Load pre-existing pickmatrix - If an ascii file of picks already exists, ‘L’ loads them. See ‘Pickmatrix format’ section for details on the format of a pick matrix file. On selecting this option, the user is prompted for the file-name of the picks file. M :- Save picks to ascii file - Saves the picks to an ascii format pick matrix file. On selecting this option, the user is prompted for the file-name of the picks file.m:- Save picks to SAC headers. Picks are saved to SAC headers t0 - t3 as following: t0= P-wave start, t1= S-wave start, t2= P-wave end, t3= S-wave end. J :- Toggle help panel - Removes/displays a helpful reminder of all SEIS_PICK options. X :- Exit SEIS_PICK
SQUIGGLE stacked-line plot, typically used for plotting seismic and radar profiler data.SQUIGGLE(Z) is a squiggle plot of each column in the matrix Z. Each value in Z is scaled to the maximum absolute data value. The X and Y axis are the sample and line numbers, respectively.SQUIGGLE(X,Y,Z) X and Y specify the (x,y) coordinates as plaid matrices (as created by MESHGRID).SQUIGGLE(Z,N) and SQUIGGLE(X,Y,Z,N) scales the data by factor N before plotting. default: N=1. h = SQUIGGLE(.....) returns the figure handle.13-Sep-2004 Ian Howat, UCSC Earth Sciencesihowat@es.ucsc.edu
The algorithm uses the Newmark's Method for linear and nonlinear SDOF systems.Ref: Anil K. Chopra, Dynamics of Structures 4th Edition.
Multi-Hazard Reliability Analysis of Networks using Minimal Path Sets Method
Computation of static co-seismic displacements due to a dislocation-type deformation in a half-spaceDescription: This exact solution is often used to construct co-seismic displacements due to an underwater earthquake. These displacements are then used to construct in some way an initial condition for tsunami propagation codes.For more details, please, refer to the original Okada paper:* Okada, Y. (1985). Surface deformation due to shear and tensile faults in a half-space. Bull. Seism. Soc. Am., 75, 1135-1154.Or to my freely available preprint:* D. Dutykh, F. Dias, Water waves generated by a moving bottom. In Book:"Tsunami and Nonlinear Waves", Kundu, A. (Editor), Springer Verlag 2007 http://hal.archives-ouvertes.fr/hal-00115875/More sophisticated approaches to the tsunami generation problem can be found in other publications of the author: http://www.denys-dutykh.com/
Seismic Reservoir Modeling MATLAB packageThe SeReM package includes five folders:Data: this folder contains six datasets used for the examples and the elevation dataset from Yellowstone National Park;RockPhysics: this folder contains functions with several rock physics models;Geostats: this folder contains functions for kriging and geostatistical simulations of random variables;Inversion: this folder contains functions for seismic and rock physics inversion using the analytical and numerical solutions; the functions are subdivided into three subfolders: Seismic, Petrophysical, and EnsembleSmoother;Facies: this folder contains functions for facies classification and simulation. The SeReM package includes multiple scripts with several examples.For a detailed description, we refer to Grana, D., Mukerji, T., and Doyen, P., 2021, Seismic reservoir modeling: Wiley.
Normalized spectrogramNormalized spectrogram of a seismic accelerationNormalized spectrogram to seismic acceleration written in Matlab. The algorithm used is the following:1. Baseline correction2. Tuckey window is applied with r=5%.3. FFT on window signal.4. Spectrum is smoothed by 5 points halfwidth moving average.5. Each element of spectrum is normalized by maximum spectral amplitude.The functionThe normalized spectrogram function is defined by:[matrix, matrix_t, matrix_f] = norm_spectrogram(t, acc)Where:VariableDescriptiontTime of the seismic accelerogramaccAcceleration (g) of the seismic accelerogramThis function returns a matrix in where columns refer to mean window time (matrix_t), rows are the frequency of the spectrogram (matrix_f) and the value of the matrix are the amplitude of the spectrogram from each time-window on each frequency.To print matrix you should use:plot_norm_matrix(m, mt, mf, t, acc, regname)Where:VariableDescriptionmNormalized matrixmtTime array from matrixmfFrequency array from matrixtTime of the seismic dataaccAcceleration of seismic dataregnameName of the seismic data (plot title)ExampleLets suppose that a seismic registry is stored on data/CNV_APED_201604162359_N_100.txt, the file structure is like:0.000000 -6.3295000.010000 2.5396000.020000 12.8229000.030000 9.4353000.040000 -5.3971000.050000 -14.233900...Then:% Load the datadata = load('data/CNV_APED_201604162359_N_100.txt');% Set time and acceleration arrayt = data(:, 1);acc = data(:, 2) ./ 980; % Convert from cm/s2 to gAfter that we will use norm_spectrogram function[m, mt, mf] = norm_spectrogram(t, acc);Then plot:plot_norm_matrix(m, mt, mf, t, acc, 'APED 2016/04/16 23:59 N-S');Obtaining:LicenseThis project is licensed under GPLv2 [https://www.gnu.org/licenses/gpl-2.0.html]AuthorPablo Pizarro R. | 2017 - 2019
B3AM Userguideversion 1.0by Katrin Löerk.loer@tudelft.nlPython version: https://github.com/cl-finger/B3AmpyB3AM is a toolbox for easy and fast beamforming analysis of three-component array data providing estimates of surface wave dispersion curves, frequency-dependent wavefield composition, and the direction of arrival for different wave types and frequencies from ambient seismic noise.B3AM performs beamforming analysis on short time-frequency windows of the provided data and identifies maxima in the beam response of each window. Each detected maximum is characterised by its wavenumber, direction of arrival (azimuth), and polarisation, i.e., wave type. A summary of the results of all windows is provided in histograms that show, for example, wavenumber as a function of frequency for different wave types.Changes since v0.1:Example addedb3am_param.m: frequency range now to be provided manuallyplot_b3am.m: bug fixed in direction of arrival plots; export_fig.m not required anymoref_extrema24.m: error fixed in computation of standard deviationb3am_convert_iris.m/b3am_convert_mseed.m: added option to zero-pad incomplete data, improved functionalitydate2doy.m function provided for conveniencebatlowS.mat categorical colour map (Crameri, 2021) provided for convenienceplots provided in the Folder 'Figures' have been created with this versionParkfield ExampleThe folder Example_Parkfield contains example output data and figures as returned by B3AM for one day of ambient noise recorded at the Parkfield array, California, US (Thurber and Roecker, 2000). The data are publicly available from the Seismological Facility for the Advancement of Geoscience (SAGE, former IRIS), and can be downloaded directly into MATLAB. Go to the SAGE homepage to download the MATLAB script irisFetch.m (http://ds.iris.edu/ds/nodes/dmc/software/downloads/irisfetch.m/) and the required Java library (http://ds.iris.edu/ds/nodes/dmc/software/downloads/IRIS-WS/2-20-1/#Download). You can then use the script iris_getrawdata_example.m provided with the B3AM package to download data from the Parkfield (or another) array. In the script, specify the path to your irisFetch.m script and the Java library as both will be used in iris_getrawdata_example.m. Further parameters you need to define are the start and end date, the network code, names of stations in the network, channels, and storage location. The default values in the script correspond to those used for the example. Expect the download to take up to a few minutes per station for a single day of data depending on your network speed (here, it took around 25 minutes to download data from 34 stations).Follow the steps below to reprodoce the figures in Example_Parkfield/Figures. Again, default values provided in the code should produce the example output.What you needMatlab R2020b or neweryour 3-component array data (in mseed or .mat format)a txt-file containing information about the station locations in three columns:stationname longitude in degreelatitude in degreeAdditional functions required NOT provided with this package - please download from FileExchange:rdmseed.m (https://uk.mathworks.com/matlabcentral/fileexchange/28803-rdmseed-and-mkmseed-read-and-write-miniseed-files)Crameri Scientific Colormaps (https://uk.mathworks.com/matlabcentral/fileexchange/68546-crameri-perceptually-uniform-scientific-colormaps)Functions by other authors INCLUDED in this toolbox for convenience:deg2utm.m by Rafael Palacios (https://www.mathworks.com/matlabcentral/fileexchange/10915-deg2utm)date2doy.m by Anthony Kendall (https://www.mathworks.com/matlabcentral/fileexchange/18316-date-to-decimal-day-of-year)extrema.m and extrema2.m by Carlos Adrin Vargas Aguilera (https://www.mathworks.com/matlabcentral/fileexchange/12275-extrema-m-extrema2-m)FK3C package by Nima Riahi (https://github.com/nimariahi/fk3c)Let's get started...Bring your data into the correct shapeB3AM will handle one file per day that contains seismic traces from all stations and all components.Your data need to be sorted by component in the order E, N, Z.If your data is already a .mat file (for example after downloading from IRIS directly into Matlab) you can use the scriptb3am_convert_iris.m to bring the traces into the correct order. If your data comes in miniseed format, please use b3am_convert_mseed.m and consider the guidelines provided in the script.The output from either conversion script will be a (or multiple) file(s) called DAT_NN_yyyyddd.matwhere NN is the network code, yyyy is the year, and ddd the day of the year (between 001 and 365).If you are working with multiple days of ambient noise data, all resulting DAT files will be stored in the same folder.Eventually, B3AM requires information about the station location in form of a txt file that contains three columns:stationname x-ccordinate in my-coordinate in mWhen running the provided conversion files for IRIS or mseed data, the station file is created automatically in the same folder as the rearranged data.Alternatively, this file can be created from any DAT file using the script mk_stationfile.mDAT contains a variable called DAT.h.coords with lat and lon already converted to meter.The file returned from mk_stationfile.m will be called stations_utm_NN_yyyyddd.txtThe information in the stationfile will be used to compute theoretical minimum and maximum wavenumber values based on the largest and smallest station spacing within the array.Note, however, that these limits will be the same for all days processed, so that the txt file should contain location data for the complete array, and not just the stations active on a particular day.Before you proceed it is recommended to do a quality check on the rearranged data to see if everything is as expected and to delete stations that seem unfeasible, for example. The function 'wiggle' (available from FileExchange) can be used to display traces from multiple stations at a time. Make sure to not only delete one trace but all three channels of a dodgy station and also the corresponding information in DAT.h.channel, DAT.h.stations and DAT.h.coords. (You might find it easiest to redo the conversion and exclude the respective station from the input folder containing the mseed data.)Define processing parameters to perform beamformingOpen the script b3am_param.m and fill in the required information line by line.Comments and examples are provided to help you with the correct format etc.Essential parameters concern:in- and output data locationspre-processing preferencesfrequency rangewavenumber rangebeamforming methodparallel computingRun the script b3am_check.m which will print in the command linemin/max station spacingmin/max wavelengthmin/max wavenumbermin/max frequencyand display the array response function indicating the minimum (black solid line) and maximum wavenumber (maximum of x-axis). If you are happy with these values you can proceed to the next step, otherwise make appropriate changes in b3am_param.m.Wathelet et al. (2008) suggest to limit the wavenumber range to values for which the ARF is < 0.5 of the global maximum to obtain more robust results. So, if you observe significant sidelobes in the ARF with normalised amplitudes > 0.5 you should decrease your maximum wavenumber (kmax) accordingly. Equally, if the central peak shows amplitudes > 0.5 for values > kmin (plotted as a thick vertical line) you should increase kmin.Run the beamformerOnce all processing parameters are defined in b3am_param.m you can start the beamformer by running b3am.m.Note that this script can partly run in parallel so you might want to make use of parallel computing facilities on a remote cluster.B3AM performs the four major steps successively:i) pre-processing (can include filtering, spectral whitening, one-bit normalisation)ii) Fourier transformation (stored in temporary folder tmpFT/)iii) frequency-wavenumber analysis (beamforming)iv) identification of extrema (maxima) in the beam responsesThe script provides output in the command line documenting its progress.(When running on a remote cluster you should specify a file where this information is saved to.)Retrieve the resultsIn your output folder the file procpars.mat appears that contains all processing parameters used in the beamforming process, such as the resolution of the wavenumber grid (kgrid), the frequency range (freqs), and so on. These values will be taken from this file when plotting.The beamforming results are stored in the output directory that you specified in b3am_param.mone filed is saved for each frequency ffff, called kmax_NN_yyyyddd_ffff.matThe information stored in each such file refer to the maxima in the beam responses and area_all% beam power at all extremakr_all% radial wavenumber at all extremakth_all% azimuth of all extremapola_all% polarization parameters for all extremapola_ind% polarization indeces for all extremawave_ind% wave type indeces for all extrema (0: P, 1: SV, 2: SH/Love, 3: retro. Rayleigh, 4: pro. Rayleigh)The size of all these variables is [nwin x nwin], where nwin denotes the number of time windows and nmax the maximum number of maxima detected in any time window.pola_all will be [nwin x nmax x 4] because 4 polarization parameters are stored (azimuth, dip, ellipticity, tilt).When plotting, you can choose to only consider the first maximum in each window (option 'MAX1').Note that beam response maps are not plotted (as you would create one for each time window processed)!Plot the resultsTo get a first overview of the beamforming results, you can use the script plot_b3am.m.Provide the location of the beamforming results, i.e., the max files ('dir_in'), and a directory to save the figures in ('dir_out').If all plot options are set to true you will obtain the following 8 Figures:Wavefield composition: absolute contribution per frequencyWavefield composition: relative contribution per frequencyWavefield composition: amplitude variation with frequency4)-6) f-k histogram plots of pro- and retrograde Rayleigh waves and Love waves, respectivelySurface wave dispersion curvesDirection of arrival as a function of frequency for all surface and body wavesSet the save options separately to decide if figures are to be saved.The following parameters also need to be defined:SNR: A value for an acceptable SNR is required for the picking of dispersion curves from histograms. Experiment with this value as it will depend on the data quality, length of recording, number of stations, etc.maxflag: choose if you want to consider only the first/largest maximum ('MAX1') or all maxima ('NOMAX') detected in each time windowcountflag: to plot wavefield composition decide if you want to consider the number of waves counted ('count') or the number weighted by beam power amplitude ('amp')Note that, prior to plotting, this script performs essential analysis steps. In the section "Wave type analysis" results are sorted with respect to their detected wave type before they can be plotted accordingly.B3AM in the LiteratureFinger, C., & Löer, K. (2024). Depth of sudden velocity changes derived from multi‐mode Rayleigh waves. Journal of Geophysical Research: Solid Earth, 129(3), e2023JB028322.Löer, K., Finger, C., Obiri, E., and Kennedy, H.: A comprehensive beamforming toolbox to characterise surface and body waves in three-component ambient noise wavefields, EGU General Assembly 2023, Vienna, Austria, 24–28 Apr 2023, EGU23-5670, https://doi.org/10.5194/egusphere-egu23-5670, 2023.Löer, K., Toledo, T., Norini, G., Zhang, X., Curtis, A., Saenger, E.H.: Imaging the Deep Structures of Los Humeros Geothermal Field, Mexico, Using Three‐Component Seismic Noise Beamforming, Seismological Research Letters (2020) 91 (6): 3269–3277.Löer, K., Riahi, N., & Saenger, E. H. , Three-component ambient noise beamforming in the Parkfield area, Geophysical Journal International, Volume 213, Issue 3, June 2018, Pages 1478–1491, https://doi.org/10.1093/gji/ggy058Obiri, E., Löer, K., & Finger, C. (2023, June). Wavefield composition analysis from three-component beamforming improves thickness estimates of sedimentary layers. In 84th EAGE Annual Conference & Exhibition (Vol. 2023, No. 1, pp. 1-5). European Association of Geoscientists & Engineers.Riahi, N., and Saenger, E. H. (2014), Rayleigh and Love wave anisotropy in Southern California using seismic noise, Geophys. Res. Lett., 41, 363– 369, doi:10.1002/2013GL058518.Riahi, N., Bokelmann, G., Sala, P., and Saenger, E. H. (2013), Time-lapse analysis of ambient surface wave anisotropy: A three-component array study above an underground gas storage, J. Geophys. Res. Solid Earth, 118, 5339– 5351, doi:10.1002/jgrb.50375.REFERENCESCrameri, Fabio. (2021). Scientific colour maps (7.0.1). Zenodo. https://doi.org/10.5281/zenodo.5501399Thurber, C. and Roecker, S. Parkfield Passive Seismic Array [Data set]. International Federation of Digital Seismograph Networks, 2000. http://doi.org/10.7914/SN/XN_2000Wathelet, M., Jongmans, D., Ohrnberger, M., & Bonnefoy-Claudet, S. (2008). Array performances for ambient vibrations on a shallow structure and consequences over V s inversion. Journal of Seismology, 12, 1-19.
Seismic processing bits and pieces. Note that you may need to hunt for dependencies in some of the other slepian_alpha, slepian_bravo, etc, packages.
Dynamic-NonLinear-SeismicAnalysis-2DFramesFunctions and subroutines for the Non-Linear Dynamic (Time-History) Seismic analysis of 2D Frames
Dynamic-NonLinear-SeismicAnalysis-3DFramesFunctions and subroutines for the Non-Linear Seismic Analysis of 3D Frames with the Newmark-Beta method
G_SeisSimple 2D-Seismic data processing GUI applicationFunctionalitySEGY read/write (reads to binary file of format single)visualize data with three keys sortingsurface-consistent first arrival (or amplitude) decomposition according to 2, 3, 4 factor modelinteractively build velocity model based on decomposed arrival picksperform static, amplitude and spectrum correction (deconvolution)perform some basic header and data arithmeticUsageThe main file is G_Seis.mBefore running the application you should:set path to the root folder and include all the folders inside itbuild mex function in /g_other folder. Commands >> mex -setup and >> mex typecastx.c (or >> mex g_other/typecastx.c depending on current path) may helprun the app: >> G_SeisDocumentation
This script aims to provide the seismic response of a three-storey building when subjected to either a force applied at a user-specified location or to the strike of a ground acceleration. The floors are equally spaced. On this basis, the script obtains and plots the vibration modes (eigenvalues and eigenvectors), and calculates the time response of the building: the displacement, velocity and acceleration of each storey. Furthermore, it calculates the base moment and base shear reactions of the building highlighting the extreme values with their concomitant. Lastly, the script offers the possibility to store the results obtained by clicking ‘Create a file’. The GUI will request a filename and a directory and automatically create a .dat file which will contain all the data mentioned above.- For further information, please relate to the document "SB3responseGUI.pdf" included in the .zip file.
The function plot input data (2D matrix, each column represents a seismic trace) in wiggle/wiggle-area. You need to provide a 2D matrix with traces in columns as the first argument. Then you are able to use var_name,var_value (as plotting function) method to customize your plotting. Matlab slows when traces are crowed so set 'skip' and 'scale' parameters to make the plotting clearer. Other options can be referred to the function help.For speedy plotting of wiggle variable area, please refer to my latest published function cqwva.cqwva function has better plotting quality and speed. It is faster than most FileExchange functions for the same purpose.Link: http://www.mathworks.com/matlabcentral/fileexchange/54813-cqwva--d-y-x-lvl-clip-mode--
Process corrections, filters, Fourier Spectra and Response 1GL for seismic acceleration records files
Arias IntensityFunction in matlab to calculate AI (Arias Intensity) parameter from a seismic accelerogramUsageThe arias intensity function is defined by:ai = arias_intensity(t, acc)Where:VariableDescriptiontTime of the seismic accelerogramaccAcceleration (g) of the seismic accelerogramExampleLets suppose that a seismic registry is stored on data/CNV_APED_201604162359_N_100.txt, the file structure is like:0.000000-6.3295000.0100002.5396000.02000012.8229000.0300009.4353000.040000-5.3971000.050000-14.233900...Then:ai = arias_intensity(t, acc);>> ai = 0.198232LicenseThis project is licensed under GPLv2 [https://www.gnu.org/licenses/gpl-2.0.html]AuthorPablo Pizarro R. | 2017
HOVSRMatlab application that finds main frecuency from seismic timeseries acceleration data using SH/SV Stockwell Transform/Nakamura methodLicenseThis project is licensed under GPLv2 [https://www.gnu.org/licenses/gpl-2.0.html]AuthorPablo Pizarro R. | 2017 - 2019
Description in English:This Matlab function was developed to generate "Design Response Spectrum" based on the 4th edition of the Iranian seismic standard of the buildings named "Standard 2800". This function can obtain this spectrum for any seismic design categories (seismic regions) and site classes (soil types).Description in Persian (Farsi):با استفاده از این تابع متلب می توانید طیف طرح استاندارد 2800 ایران (ویرایش چهارم) را به ازای هر نوع منطقه ی لرزه خیزی و هر نوع خاک ساختگاه بدست آورید.
Stacking repeated records can improve the signal-to-noise ratio (SNR) of seismic, geo-radar, or nuclear magnetic resonance measurements. Stacking usually employs a simple summation of amplitudes, but some procedures are also available based on non-linear stacking. Three methods of non-linear stacking are implemented as MATLAB functions: 1. The PWS (Phase-Weighted Stacks) method. It is based on the similarity of instantaneous phases on the corresponding complex signals. 2. The GAS (Generalized Average of Signals) method. It averages complex spectra in the frequency domain, employing the Generalized Average of Complex Numbers (GACN). 3. The CSA (Complex Signal Average) method. This method is based on complex averaging signals using GACN. Non-linear stacking can improve the SNR by up to the first tens of dB. The advantages of time-domain methods PWs and CSA are their lower computational complexity and the fact that they do not depend on the choice of the computation window length compared to GAS.Demo_script can be used with demo_data - downloade here.
Most loadings applied to the structure are in general form. Some examples of general loadings are ground acceleration load due to seismic activities, wind loads, vehicle passing loads, etc.A solution based on Duhamel's Intefral is used to solve the structural response under such general loadings.
This MATLAB function conducts a simple Probabilistic Seismic Hazard Analysis by making use of the truncated Gutenberg-Richter recurrence model (Baker, 2013). It considers only a uniform circular source in which the site-in-question is assumed to be located in the center of the circular source. It uses ASB_2014 GMPE file to calculate mean Sa and corresponding sigma values (Akkar et al., 2014).References:Akkar, S., Sandıkkaya, M. A., & Bommer, J. J. (2014). Empirical ground-motion models for point-and extended-source crustal earthquake scenarios in Europe and the Middle East. Bulletin of earthquakeengineering, 12(1), 359-387.Baker, J. W. (2013). An introduction to probabilistic seismic hazard analysis. White paper version, 2(1), 79.
Project website: https://geoscience-community-codes.github.io/GISMOGISMO is designed to allow easy retrieval of seismic waveform data, event catalogs and station metadata from a variety of data formats, databases and online data sources, eliminating a major barrier to rapid development of new seismic research programs and workflows, new seismic monitoring tools, etc. The foundation is a set of object oriented classes that describe different seismic data types and have built-in methods for loading from common formats and sources, and common visualization and processing tools. GISMO is a community driven project that aims to encourage scientists to write code that builds on GISMO and then contributed code back to the project, so that GISMO can become ever more capable - and useful to more scientists. An aim is to make research more repeatable and lower the cost of research by providing a set of tools that allow scientists to get to the important part of research faster - doing the science, rather than the frustrations of how data is stored and how to get it in to MATLAB. Features include: * Plotting tools for waveforms, catalogs, instrument responses etc. * Waveforms work for any regularly sampled data stream * Mathematical functions make manipulating easier: +, -, /, .*, .^ * Standard waveform manipulations: filter, crop, subset, subset, stack, normalize, automatic gain control, demean, detrend, taper, etc. * Statistics: max, min, mean, median, etc. * Waveform operations: hilbert transform, integration and differentiation * Operates N-dimensional waveforms (in most cases without requiring loops) * Object architecture provides a stable base for writing more complex programsSeismic data can be imported from Antelope databases (via the BRTT Antelope toolbox), Earthworm/Winston databases, the IRIS-DMC, SAC files, Seisan databases, .mat files, hypoellipse files, or with minimal coding your own homegrown file format/directory structure.GISMO makes: * playing with data easier by automating the tedious aspects of data manipulation * programs more stable by ensuring proper data typing * code more portable by reading multiple formats and functioning on multiple systems * troubleshooting faster by providing more detailed messages and warningsAdditional information can be found via the GISMO wiki: https://github.com/geoscience-community-codes/GISMO/wikiGISMO (which includes The Waveform Suite) and related codes can also be discussed at: http://groups.google.com/group/gismotoolsAs always, Comments are welcome, as are reviews and bug reports. Thanks!
The code features the implementation of the sampling methods and synthetic tests used in [Kamer, Y. (2014), Comment on "Systematic survey of high-resolution b value imaging along Californian faults: Inference on asperities", JGR. Solid Earth, 119, doi:10.1002/2014JB011147.]The submission also includes Parkield seismicty as a sample data set.ATTENTION: If you plan to use this code on real earthquake data, please consider the conclusions from the Parkfield synthetics: "...the emergence of high and low b value anomalies is a mere artifact of under sampling. These artifacts lead to differences of up to 2 orders of magnitude in the recurrence times; thus, it would be precarious to use such maps for assessment of probabilistic seismic hazard on faults. Since one cannot know in advance what b value the real data features and thus choose parameters accordingly, we maintain that the approach presented by Tormann et al. [2014] cannot be used on real data sets as its results depend on the assumed input b values chosen to derive its parameters. [...] We encourage the reader to download the codes (see Acknowledgements), try different parameter sets and explore the large variety of b value maps that one can obtain from a single data set in the absence of an objective criteria. "
This example file (Example.m) performs the dynamic analysis of multisory building subjected to ground excitation taking into account:-The building is idealized as shear-building with identical floors.-the structure is assumed linear with classical damping and analysed using modal superposition method.References:Chopra, Anil K. "Dynamics of Structures. Theory and Applications to." Earthquake Engineering (2017).
Actual link is http://gma.icm.csic.es/node/67 IMAGE2SEGY transforms raster images of seismic records on paper or film to geo-referenced Seg-Y files, compatible with "Kingdom-Suite", "Promax", "SeiSee", and other industry standard software. Scan your old seismic paper records or download images from Geological Surveys GIS servers and put it in your project displayed with your more recent digital lines in 3D. Very simple, fast and easy . Changes in Time Delay allowed. Last version V/2016This script needs SegyMAT library in the Matlab path. SegyMAT(C) 2001-2012 Thomas Mejer Hansen. http://segymat.sourceforge.net/
Welcome to the world of Transit Search (TS), a cutting-edge optimization algorithm that draws inspiration from the remarkable method of exoplanet detection known as transit. The TS presents a novel astrophysics-inspired meta-heuristic approach to solving complex scientific problems. With more than 3800 planets detected using the transit technique by space telescopes, this algorithm harnesses the power of transit exploration and adapts it to the realm of optimization.The benefits of employing the TS algorithm in scientific research and problem-solving are manifold. Firstly, optimization lies at the heart of many scientific disciplines, from industrial internet of things to wireless networks, shape optimization of electric machines to vulnerability assessment of structures subjected to seismic activity. By leveraging TS, researchers can unlock new frontiers in their respective fields and achieve optimal solutions efficiently.Unlike classical methods, which may guarantee optimal responses but struggle with complex and large-scale problems, meta-heuristic algorithms like TS excel in tackling such challenges. These algorithms may not guarantee finding the absolute best solution, but they excel in approximating optimal and acceptable answers within a reasonable timeframe. TS strikes a delicate balance between exploration and exploitation, employing innovative strategies inspired by the natural phenomena observed in exoplanet detection.
This package reproduces the numerical study and examples of the following study in seismic anisotropy: Abedi, M. M., 2020, Rational approximation of P-wave kinematics: Part II orthorhombic media: Geophysics
This package reproduces the numerical study and examples of the following study in seismic anisotropy: Abedi, M. M., 2020, Rational approximation of P-wave kinematics: Part I transversely isotropic: Geophysics
Stiffness matrix of shear building based on shear-building idealization assuming all floors are identical.function K=MultiStory_Stiffness(Ks,N)InputKs: Interstory stiffness of columnsN: Number of storysOutputK: Stiffness matrixReferences: Chopra, Anil K. "Dynamics of Structures. Theory and Applications to." Earthquake Engineering (2017).