diff --git a/examples/example-18.ipynb b/examples/example-18.ipynb new file mode 100644 index 0000000..0d4ecba --- /dev/null +++ b/examples/example-18.ipynb @@ -0,0 +1,346 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "747dd43b", + "metadata": {}, + "source": [ + "# Example 17: Kappa Correction for EQL\n", + "\n", + "This example demonstrates how to perform kappa correction with:\n", + "1. Time Series Input\n", + "2. RVT Input" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "ed449b23", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "import pystrata\n", + "\n", + "%matplotlib inline\n", + "plt.rcParams[\"figure.dpi\"] = 120" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "4c25fc14", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pyrvt\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "id": "98feb6d1", + "metadata": {}, + "source": [ + "## Create site profile\n", + "\n", + "Create a simple soil profile with a single soil layer with nonlinear properties defined by the Darendeli nonlinear model." + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "id": "23753223", + "metadata": {}, + "outputs": [], + "source": [ + "profile = pystrata.site.Profile(\n", + " [\n", + " pystrata.site.Layer(\n", + " pystrata.site.DarendeliSoilType(\n", + " 18.0, plas_index=30, ocr=1, stress_mean=200\n", + " ),\n", + " 30,\n", + " 400,\n", + " ),\n", + " pystrata.site.Layer(pystrata.site.SoilType(\"Rock\", 24.0, None, 0.01), 0, 1200),\n", + " ]\n", + ").auto_discretize()" + ] + }, + { + "cell_type": "markdown", + "id": "9f252724", + "metadata": {}, + "source": [ + "## Create the site response calculator" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "0caff2e7", + "metadata": {}, + "outputs": [], + "source": [ + "calc = pystrata.propagation.EquivalentLinearCalculator(strain_ratio=0.65)" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "458b1a12", + "metadata": {}, + "outputs": [], + "source": [ + "freqs = np.logspace(-1, 2, num=500)\n", + "\n", + "Kappa_freqs = freqs[\n", + " (freqs >= 10) & (freqs <= 30)\n", + "]\n", + "\n", + "outputs = pystrata.output.OutputCollection(\n", + " [ \n", + " pystrata.output.FourierAmplitudeSpectrumOutput(\n", + " freqs,\n", + " pystrata.output.OutputLocation(\"outcrop\", index=0),\n", + " None\n", + " ),\n", + " pystrata.output.ResponseSpectrumOutput(\n", + " freqs,\n", + " pystrata.output.OutputLocation(\"outcrop\", index=0),\n", + " ),\n", + " pystrata.output.KappaOutput(\n", + " Kappa_freqs,\n", + " pystrata.output.OutputLocation(\"outcrop\", index=0),\n", + " None\n", + " ),\n", + " pystrata.output.KappaFittedLineOutput(\n", + " Kappa_freqs,\n", + " pystrata.output.OutputLocation(\"outcrop\", index=0),\n", + " None\n", + " ),\n", + " pystrata.output.KappaCorrectFourierAmplitudeSpectrumOutput(\n", + " freqs,\n", + " Kappa_freqs,\n", + " 0.039,\n", + " pystrata.output.OutputLocation(\"outcrop\", index=0),\n", + " None\n", + " ),\n", + " pystrata.output.KappaCorrectedResponseSpectrumOutput(\n", + " freqs,\n", + " Kappa_freqs,\n", + " 0.039,\n", + " pystrata.output.OutputLocation(\"outcrop\", index=0),\n", + " osc_damping=0.05\n", + " ),\n", + " ] \n", + " )\n", + "\n", + "\n", + "motion = pystrata.motion.TimeSeriesMotion.load_at2_file('data/NIS090.AT2')\n", + "\n", + "eql_calc = pystrata.propagation.EquivalentLinearCalculator(strain_limit = 0.5)" + ] + }, + { + "cell_type": "markdown", + "id": "a623d9d8", + "metadata": {}, + "source": [ + "## 1. Time Series Input" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "f768148f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.float64(1.508247)" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ts = pystrata.motion.TimeSeriesMotion.load_at2_file(\"data/NIS090.AT2\", scale=3)\n", + "ts.pga" + ] + }, + { + "cell_type": "markdown", + "id": "a3cc4f44", + "metadata": {}, + "source": [ + "## 2. RVT Input" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "eba68c40", + "metadata": {}, + "outputs": [], + "source": [ + "rvt = pystrata.motion.SourceTheoryRvtMotion(6.0, 30, \"wna\")\n", + "rvt.calc_fourier_amps()" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "9dce76dc", + "metadata": {}, + "outputs": [], + "source": [ + "input_motions = [ts,rvt]" + ] + }, + { + "cell_type": "markdown", + "id": "4fe9c0d9", + "metadata": {}, + "source": [ + "## Perform the calculation" + ] + }, + { + "cell_type": "markdown", + "id": "e3be13f1", + "metadata": {}, + "source": [ + "Compute the response of the site, and store the state within the calculation object. Nothing is provided." + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "8b7b3271", + "metadata": {}, + "outputs": [], + "source": [ + "for i,m in enumerate(input_motions):\n", + "\n", + " if i == 0:\n", + " name = 'Time Series'\n", + " else:\n", + " name = 'RVT'\n", + "\n", + " calc(m, #type:ignore\n", + " profile,\n", + " profile.location(\"outcrop\", index=-1))\n", + " \n", + " outputs(calc,\n", + " name = name)" + ] + }, + { + "cell_type": "markdown", + "id": "4005a31f", + "metadata": {}, + "source": [ + "## Plot Output" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "9a532777", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "ax.plot(freqs, outputs[0].values[:, 0], label=\"FAS\")\n", + "ax.plot(Kappa_freqs, outputs[3].values[:, 0], label=f\"Kappa fitted line (kappa = {outputs[2].values[0, 0]:.3f})\")\n", + "\n", + "ax.set_yscale('log')\n", + "ax.set_xlim(0, 35)\n", + "ax.set_ylim(1e-6,3e0)\n", + "ax.set_xlabel('Frequency (Hz)')\n", + "ax.set_ylabel('FAS (g-sec)')\n", + "ax.grid(which=\"major\", linewidth=0.5, alpha=0.6)\n", + "ax.grid(which=\"minor\", linewidth=0.3, alpha=0.3)\n", + "ax.set_title('Time Series')\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "9521fcf0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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IT25m4+sdVzQAFjbGAQTERERGblGlYpjxztt0D891zYiLhlvrvDDxxsuIkYHjTUuP4jEoIUn5GMGhsXJfd6lnLBiVDOMbVdFp/V/84vpEEREREQmoJidNWa+Uh/ta5TCJxsvISohBatP38f2i4/Qp1EFDGpaCbXKu2j0MUOiEjDj32tYfzYIKpWyz83RBu92rIYhzT1low9DxSCYiIiIyIT0qFdezgy/t+Y8Tt55iujEFCw/HigvDSq64VXfSuhRvxwcbQsXBqalqWSzi10BwVh46Dbi0jvXWVta4PUWXninYzW4OtrA0DEIJiIiIjIx5d0csOqN5th95bEsT3boRqicqT1/P0Jepm0LwMsNyqNvowqoWNwRxZ1sc521TUlNw+WHUTh1Jwyn7jyVFzHLnFmnmmXwSXcfeJcqBmPBIJiIiIjIBFlaWqBL7bLycv9pHNaeuY81p+8jJDpR5gmvPHlPXtRc7K1Rspgd3J1s5aVEMVsEhcfDLzA8Y7Y3u5rlXPDZSzXRqmpJGBsGwUREREQmrqK7Iz7oXEOmKuy7GoJVp+7hwHVldlhNzO6Ky+0nudfmreDmILvV+aZfKpd0MshFb/nBIJiIiIjIjEqqda5dVl4eRsTj3L0IPI1NRFhsEp7GJsmvosub2BYXF3ubjIBXXDyKK2XYTAGDYCIiIiIzzRsu7+YAc2W4dSuIiIiIiLSEQTARERERmR0GwURERERkdhgEExEREZHZYRBMRERERGaHQTARERERmR0GwURERERkdhgEExEREZHZYRBMRERERGaHQTARERERmR0GwURERERkdhgEExEREZHZYRBMRERERGaHQTARERERmR0GwURERERkdhgEExEREZHZYRBMRERERGaHQTARERERmR0GwURERERkdhgEExEREZHZYRBMRERERGaHQTARERERmR0GwURERERkdhgEExEREZHZYRBMRERERGaHQTARERERmR0Gwc9x/PhxWFpa4uuvv9bNM0JEREREWscgOA9paWl477330LRpU+0/E0RERESkM9a6eyjjs3DhQjRr1gyRkZH6PhQiIiIiMpeZ4JiYGHz55Zfo2rUr3N3dYWFhgaVLl+Z428TERHz00UcoX748HBwcZPC6e/fuQj92WFgYfvrpJ0ydOrUIvwERERERGSKDDoKfPHmCadOm4cqVK6hfv36etx0+fDhmzZqFIUOGYM6cObCyskL37t1x5MiRQj32p59+infffRdubm6FPHoiIiIiMlQGHQSXK1cOjx49QmBgIGbMmJHr7U6dOoXVq1fj22+/lbcbM2YM9u3bB09PT0yaNCnLbVu3bi1nlHO6fPbZZ/I2586dw+nTp/HGG29o/XckIiIiIt0z6JxgOzs7lC1b9rm3W79+vZz5FcGvmr29PUaNGoVPPvkE9+/fR8WKFeX+/MwMHzx4ENeuXUOFChXk9yIn2NraGrdu3cKSJUuK9DsRERERkf4ZdBCcX2Lmtnr16nBxccmy39fXV349f/58RhCcHyKYHjRoUMb377zzDipXroyPP/44158JCQlBaGholn0BAQHy682bN/P92PR8t2/fRmpqKodKgzimmscx5ZgaA56nHFNDp46hxNovTTOJIFikTIjUiezU+x4+fFig+3N0dJQXNbHQrlixYnnmB8+fPz/XRXS9e/cu0OMTERER0X8uXbqERo0aQZNMIgiOj4+XqRPZiZQI9fVFkVtFiszGjRuHV155Jcs+MQM9dOhQrF27FrVq1SrSMdB/7wjFm4q///4bVatW5bBoAMdU8zimHFNjwPOUY2oMxKfqAwYMkJ/4a5pJBMFipjanafKEhISM67WtdOnS8pITEQDXrl1b68dgTkQAzDHlmBo6nqccU2PA85Rjagyyp7yafHWIglaRyE69T9QOJiIiIiIyqSC4QYMGuH79OqKiorLsP3nyZMb1REREREQmFQT3799fVgsQbY7VRHqEKGcmOscVpDIEEREREZk+g88Jnjt3LiIiIjIqPGzduhVBQUFye8KECXB1dZWBrliUNnnyZFmqTOQ3LVu2DHfv3sWiRYv0duylSpWSbZ/FV+KYGiqepxxTY8DzlGNqDHieGteYWqhUKhUMmJeXl+wYl5M7d+7I69WL4D7//HOsWLEC4eHhqFevHr766it06dJFx0dMRERERIbO4INgIiIiIiJNM4mcYCIiIiKigmAQTERERERmh0EwEREREZkdBsFEREREZHYYBGuBqFH80UcfyU51omWzKOG2e/dubTyUWThw4AAsLCxyvJw4cULfh2fwYmJiZHmZrl27wt3dXY7b0qVLc7ztlStX5O2KFSsmb/vaa68hNDRU58dsKmM6fPjwHM9bHx8fvRy3ITt9+jTGjx8v26E7OTmhUqVKGDBg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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "ax.plot(freqs, outputs[0].values[:, 1], label=\"FAS\")\n", + "ax.plot(Kappa_freqs, outputs[3].values[:, 1], label=f\"Kappa fitted line (kappa = {outputs[2].values[0, 1]:.3f})\")\n", + "\n", + "ax.set_yscale('log')\n", + "ax.set_xlim(0, 35)\n", + "ax.set_ylim(1e-4,1e-1)\n", + "ax.set_xlabel('Frequency (Hz)')\n", + "ax.set_ylabel('FAS (g-sec)')\n", + "ax.grid(which=\"major\", linewidth=0.5, alpha=0.6)\n", + "ax.grid(which=\"minor\", linewidth=0.3, alpha=0.3)\n", + "ax.set_title('RVT')\n", + "ax.legend()\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/pystrata/motion.py b/src/pystrata/motion.py index bd0689f..94cdc8a 100644 --- a/src/pystrata/motion.py +++ b/src/pystrata/motion.py @@ -23,15 +23,119 @@ import enum import re +import warnings import numpy as np import pyrvt +import pykooh # Gravity in m/sec² from scipy.constants import g as GRAVITY _trapezoid = np.trapezoid +# Integers and floats, including values without a leading digit (e.g., ".0100") +# and Fortran style exponents (e.g., "1.0D-2"). +_RE_NUMBER = re.compile(r"[+-]?(?:\d+\.?\d*|\.\d+)(?:[eEdD][+-]?\d+)?") + +# Default frequency range for calculation kappa: [10,30] +DEFAULT_KAPPA_FREQS = np.logspace(np.log10(10), np.log10(30), 100) + +def _compute_fourier_spectrum(time_step, + accels, + freqs = None, + fa_length=None, + ko_bandwidth = None): + """Compute the Fourier Amplitude Spectrum of the time series.""" + + if fa_length is None: + # Use the next power of 2 for the length + n = 1 + while n < accels.size: + n <<= 1 + else: + n = fa_length + + fft_freqs = np.fft.rfftfreq(n, d = time_step) + + if freqs is None: + freqs = fft_freqs + + if ko_bandwidth is None: + FAS = np.interp(freqs, + fft_freqs, + np.fft.rfft(accels, n)) + else: + FAS = pykooh.smooth(freqs, + fft_freqs, + np.fft.rfft(accels, n), + ko_bandwidth) + + return freqs, FAS + + + +def _to_float(text): + """Convert a string to a float, permitting a Fortran style exponent.""" + return float(text.replace("D", "E").replace("d", "e")) + + +def _parse_at2_header(line): + """Parse the point count and time step from the header of an AT2 file. + + Both of the PEER NGA layouts are supported:: + + 4096 0.0100 NPTS, DT + NPTS= 5346, DT= .0100 SEC, + + as are variations that reverse the order of the two values, or that omit + the commas separating them. + + Parameters + ---------- + line: str + Fourth line of an AT2 file. + + Returns + ------- + npts: int + Number of points in the time series. + time_step: float + Time step of the time series [sec]. + """ + # Values that follow their label -- e.g., "NPTS= 5346" or "DT .0100". Each + # value is located by its own label, so their order does not matter. + found = {} + for key in ("NPTS", "DT"): + m = re.search( + r"\b" + key + r"\b\s*[=:]?\s*(" + _RE_NUMBER.pattern + ")", + line, + re.IGNORECASE, + ) + if m: + found[key] = _to_float(m.group(1)) + + if len(found) < 2: + # Values that precede their labels -- e.g., "4096 0.0100 NPTS, DT". + values = [_to_float(v) for v in _RE_NUMBER.findall(line)] + if len(values) < 2: + raise ValueError(f"Unable to parse NPTS and DT from AT2 header: {line!r}") + + values = values[:2] + upper = line.upper() + pos = {key: upper.find(key) for key in ("NPTS", "DT")} + if all(p >= 0 for p in pos.values()): + # Pair the values with the labels by order of appearance. + keys = sorted(pos, key=lambda key: pos[key]) + else: + # Unlabeled, so rely on magnitude: the time step is the smaller of + # the two. + keys = ["DT", "NPTS"] if values[0] < values[1] else ["NPTS", "DT"] + + found = dict(zip(keys, values)) + + return int(found["NPTS"]), found["DT"] + class WaveField(enum.Enum): outcrop = 0 @@ -43,7 +147,7 @@ class Motion: def __init__(self, freqs=None): object.__init__(self) - self._freqs = np.array([] if freqs is None else freqs) + self._freqs = None if freqs is None else np.array(freqs) self._pga = None self._pgv = None self._arias_intensity = None @@ -93,7 +197,7 @@ class TimeSeriesMotion(Motion): """Time-series motion for time series based site response analysis.""" def __init__( - self, filename: str, description: str, time_step: float, accels, fa_length=None + self, filename: str, description: str, time_step: float, accels ): """Initialize the class from specified acceleration values. @@ -120,8 +224,8 @@ def __init__( self._description = description self._time_step = time_step self._accels = np.asarray(accels) - - self._calc_fourier_spectrum(fa_length) + self._kappa = None + self._fourier_amps = None @property def accels(self): @@ -145,6 +249,7 @@ def times(self): @property def freqs(self): + """Return the frequencies.""" if self._freqs is None: self._calc_fourier_spectrum() @@ -226,22 +331,43 @@ def calc_osc_accels(self, osc_freqs, osc_damping=0.05, tf=None): ) return resp - def _calc_fourier_spectrum(self, fa_length=None): + def _calc_fourier_spectrum(self, + freqs = None, + fa_length = None, + ko_bandwidth = None): """Compute the Fourier Amplitude Spectrum of the time series.""" - if fa_length is None: - # Use the next power of 2 for the length - n = 1 - while n < self.accels.size: - n <<= 1 - else: - n = fa_length - - self._fourier_amps = np.fft.rfft(self._accels, n) + self._freqs, self._fourier_amps = _compute_fourier_spectrum( + self.time_step, + self._accels, + freqs = freqs, + fa_length= fa_length, + ko_bandwidth= ko_bandwidth + ) - freq_step = 1.0 / (2 * self._time_step * (n / 2)) - self._freqs = freq_step * np.arange(1 + n / 2) + @property + def kappa(self): + + if self._kappa is None: + self._calc_kappa() + + return self._kappa + + def _calc_kappa(self, + freqs_range = DEFAULT_KAPPA_FREQS, + fa_length=None, + ko_bandwidth = None): + + _,fas = _compute_fourier_spectrum( + self.time_step, + self.accels, + freqs = freqs_range, + fa_length=fa_length, + ko_bandwidth=ko_bandwidth + ) + self._kappa = -np.polyfit(freqs_range, np.log(abs(fas)),1)[0]/np.pi + def _calc_sdof_tf(self, osc_freq, damping=0.05): """Compute the transfer function for a single-degree-of-freedom oscillator. @@ -270,6 +396,15 @@ def _calc_sdof_tf(self, osc_freq, damping=0.05): def load_at2_file(cls, filename, scale=1.0): """Read an AT2 formatted time series. + The fourth line of the file provides the number of points and the time + step. Both of the PEER NGA layouts are read:: + + 4096 0.0100 NPTS, DT + NPTS= 5346, DT= .0100 SEC, + + as are variations that reverse the order of the two values, or that + omit the commas separating them. + Parameters ---------- filename: str @@ -281,11 +416,16 @@ def load_at2_file(cls, filename, scale=1.0): next(fp) description = next(fp).strip() next(fp) - parts = next(fp).split() - time_step = float(parts[1]) + npts, time_step = _parse_at2_header(next(fp)) accels = np.array([float(part) for line in fp for part in line.split()]) + if accels.size != npts: + warnings.warn( + f"AT2 file '{filename}' specifies NPTS={npts}, but {accels.size} " + "accelerations were read." + ) + accels *= scale return cls(filename, description, time_step, accels) diff --git a/src/pystrata/output.py b/src/pystrata/output.py index 062c5e8..4f01c3b 100644 --- a/src/pystrata/output.py +++ b/src/pystrata/output.py @@ -34,7 +34,7 @@ import pykooh -from .motion import GRAVITY, TimeSeriesMotion, WaveField +from .motion import GRAVITY, TimeSeriesMotion, WaveField, _compute_fourier_spectrum def plot_amplification_evolv( @@ -207,12 +207,22 @@ def values(self): def names(self): return self._names - def reset(self): + def reset_all(self): self._values = None self._names = [] if not self._const_ref: self._refs = np.array([]) + def reset_values(self): + self._values = None + + def reset_name(self): + self._names = [] + + def reset_refs(self): + if not self._const_ref: + self._refs = np.array([]) + def iter_results(self): shared_ref = len(self.refs.shape) == 1 for i, name in enumerate(self.names): @@ -311,7 +321,6 @@ def plot(self, ax=None, style="indiv"): return ax - class OutputLocation: def __init__(self, wave_field, depth=None, index=None): self._depth = depth @@ -353,7 +362,7 @@ def _get_location(self, calc): """Locate location within the profile.""" return self._location(calc.profile) - + class TimeSeriesOutput(LocationBasedOutput): xlabel = "Time (sec)" xscale = "linear" @@ -412,7 +421,7 @@ def _modify_values(self, calc, location, values): class StrainTSOutput(TimeSeriesOutput): def __init__(self, location, in_percent=False): - super().__init__(location) + super().__init__(location) self._in_percent = in_percent assert self.location.wave_field == WaveField.within @@ -500,7 +509,204 @@ def __call__(self, calc, name=None): self.ko_bandwidth, ) - self._add_values(fas) + values = self._modify_values(fas) + + self._add_values(values) + + def _modify_values(self, values): + return values + +class FourierComplexSpectrumOutput(LocationBasedOutput): + _const_ref = True + xlabel = "Frequency (Hz)" + ylabel = "Fourier Ampl. (cm/s)" + + ref_name = "freq" + # Make None the default, so that the default will be not applying smoothing. + # This is to make calling this output "cleaner". + def __init__(self, freqs, location): + super().__init__(freqs, location) + + @property + def freqs(self): + return self._refs + + def __call__(self, calc, name=None): + Output.__call__(self, calc, name) + self._refs = calc.motion.freqs + loc = self._get_location(calc) + tf = calc.calc_accel_tf(calc.loc_input, loc) + + # Only return the absolute value + fcs = tf * calc.motion.fourier_amps + + values = self._modify_values(fcs) + + self._add_values(values) + + def _modify_values(self, values): + return values + +def _fit_kappa(freqs, amps): + """Fit kappa to the log of the Fourier amplitudes. + + Parameters + ---------- + freqs : array_like + frequencies (Hz) over which the fit is performed + amps : array_like + Fourier amplitudes at *freqs*. Complex amplitudes are reduced to their + magnitude prior to the fit. + + Returns + ------- + kappa : float + fit kappa (sec) + intercept : float + intercept of the fit in log-space + """ + slope, intercept = np.polyfit(freqs, np.log(np.abs(amps)), 1) + + return -slope / np.pi, intercept + + +class KappaCorrectionMixin(Output): + """Parameters and math shared by the kappa corrected outputs. + + The mixin is listed *before* the output that it modifies -- that is, + ``class Foo(KappaCorrectionMixin, BarOutput)`` -- so that its initializer + and correction hooks take precedence in the method resolution order. The + two kappa arguments are inserted after the references and the remaining + arguments are passed through to the output. :class:`Output` is only a base + so that the attributes provided by that output are resolvable; the mixin is + not used on its own. + """ + + # Provided by the output that the mixin is combined with + freqs: np.ndarray + ko_bandwidth: float | None + + def __init__(self, refs, freqs_range_for_kappa, kappa_target, *args, **kwargs): + super().__init__(refs, *args, **kwargs) + self._freqs_range = freqs_range_for_kappa + self._kappa_target = kappa_target + + @property + def freqs_range(self): + """Frequencies (Hz) over which kappa is fit.""" + return self._freqs_range + + @property + def kappa_target(self): + """Target kappa (sec) of the corrected output.""" + return self._kappa_target + + def _calc_correction(self, freqs, amps): + """Factor that shifts the fit kappa onto the target kappa. + + Parameters + ---------- + freqs : array_like + frequencies (Hz) at which the correction is computed + amps : array_like + Fourier amplitudes at :attr:`freqs_range` used for the kappa fit + """ + kappa, _ = _fit_kappa(self.freqs_range, amps) + delta_kappa = kappa - self.kappa_target + + return np.exp(-np.pi * delta_kappa * freqs) + + +class SpectrumKappaCorrectionMixin(KappaCorrectionMixin): + """Kappa correction of outputs whose values are a Fourier spectrum.""" + + def _modify_values(self, values): + amps = np.interp(self.freqs_range, self.freqs, values) + + return self._calc_correction(self.freqs, amps) * values + + +class TransferFuncKappaCorrectionMixin(KappaCorrectionMixin): + """Kappa correction of outputs computed from an acceleration transfer function. + + Kappa is fit to the Fourier amplitudes of the output motion -- the transfer + function scaled by the Fourier amplitudes of the input motion -- and the + correction is applied to the transfer function. + """ + + def _modify_tf(self, calc, values): + freqs = self._tf_freqs(calc) + tf = np.interp(self.freqs_range, freqs, values) + amps = np.abs(tf * self._calc_input_amps(calc)) + + return self._calc_correction(freqs, amps) * values + + def _tf_freqs(self, calc): + """Frequencies (Hz) at which the transfer function is provided.""" + return calc.motion.freqs + + def _calc_input_amps(self, calc): + """Fourier amplitudes of the input motion at :attr:`freqs_range`.""" + if not hasattr(calc.motion, "time_step"): + return np.interp( + self.freqs_range, calc.motion.freqs, calc.motion.fourier_amps + ) + + _, amps = _compute_fourier_spectrum( + calc.motion.time_step, + calc.motion._accels, + freqs=self.freqs_range, + ko_bandwidth=self.ko_bandwidth, + ) + + return amps + + +class KappaOutput(FourierAmplitudeSpectrumOutput): + + ylabel = "Kappa" + + def __init__(self, freqs_range, location, ko_bandwidth=None): + super().__init__(np.array(['Kappa']), location, ko_bandwidth) + self._freqs_range = freqs_range + + @property + def freqs(self): + return self._freqs_range + + def _modify_values(self, values): + kappa, _ = _fit_kappa(self.freqs, values) + + return np.array([kappa]) + +class KappaFittedLineOutput(FourierAmplitudeSpectrumOutput): + + ylabel = "Kappa" + + def __init__(self, freqs_range, location, ko_bandwidth=None): + super().__init__(freqs_range, location, ko_bandwidth) + + def _modify_values(self, values): + kappa, intercept = _fit_kappa(self.freqs, values) + + return np.exp(-np.pi * kappa * self.freqs + intercept) + +class KappaCorrectFourierAmplitudeSpectrumOutput( + SpectrumKappaCorrectionMixin, FourierAmplitudeSpectrumOutput +): + """Kappa corrected Fourier amplitude spectrum. + + Created with ``(freqs, freqs_range_for_kappa, kappa_target, location, + ko_bandwidth=None)``. + """ + +class KappaCorrectFourierComplexSpectrumOutput( + SpectrumKappaCorrectionMixin, FourierComplexSpectrumOutput +): + """Kappa corrected complex Fourier spectrum. + + Created with ``(freqs, freqs_range_for_kappa, kappa_target, location)``. + """ class ResponseSpectrumOutput(LocationBasedOutput): @@ -509,7 +715,7 @@ class ResponseSpectrumOutput(LocationBasedOutput): ref_name = "freq" - def __init__(self, freqs, location, osc_damping): + def __init__(self, freqs, location, osc_damping = 0.05): super().__init__(freqs, location) self._osc_damping = osc_damping @@ -533,9 +739,54 @@ def __call__(self, calc, name=None): Output.__call__(self, calc, name) loc = self._get_location(calc) tf = calc.calc_accel_tf(calc.loc_input, loc) + tf = self._modify_tf(calc,tf) ars = calc.motion.calc_osc_accels(self.freqs, self.osc_damping, tf) self._add_values(ars) + def _modify_tf(self,calc,values): + return values + +class KappaCorrectedResponseSpectrumOutput(ResponseSpectrumOutput): + + def __init__(self, freqs, freqs_range_for_kappa, kappa_target, location, osc_damping = 0.05,ko_bandwidth = None): + super().__init__(freqs, location, osc_damping) + self._freqs_range = freqs_range_for_kappa + self._kappa_target = kappa_target + self._ko_bandwidth = ko_bandwidth + + @property + def freqs_range(self): + return self._freqs_range + + @property + def kappa_target(self): + return self._kappa_target + + @property + def ko_bandwidth(self): + return self._ko_bandwidth + + def _modify_tf(self,calc,values): + + values_for_kappa = np.interp(self.freqs_range,calc.motion.freqs,values) + + if not hasattr(calc.motion, "time_step"): + fas = np.interp(self.freqs_range,calc.motion.freqs,calc.motion.fourier_amps) + else: + _, fas = _compute_fourier_spectrum( + calc.motion.time_step, + calc.motion._accels, + freqs=self.freqs_range, + ko_bandwidth=self.ko_bandwidth) + + fas = np.abs(values_for_kappa * fas) + + kappa = -np.polyfit(self.freqs_range,np.log(fas),1)[0]/np.pi + + delta_kappa = kappa - self.kappa_target + kappa_corrected_values = np.exp(-np.pi*delta_kappa*calc.motion.freqs)*values + + return kappa_corrected_values class RatioBasedOutput(Output): _const_ref = True @@ -568,7 +819,12 @@ class AccelTransferFunctionOutput(RatioBasedOutput): ref_name = "freq" def __init__( - self, refs, location_in, location_out, ko_bandwidth=None, absolute=True + self, + refs, + location_in, + location_out, + ko_bandwidth=None, + absolute=True ): super().__init__(refs, location_in, location_out) self._ko_bandwidth = ko_bandwidth @@ -589,11 +845,70 @@ def __call__(self, calc, name=None): else: tf = pykooh.smooth(self.freqs, calc.motion.freqs, tf, self._ko_bandwidth) - self._add_values(tf) + values = self._modify_tf(calc, tf) + + self._add_values(values) @property def freqs(self): return self._refs + + @property + def ko_bandwidth(self): + return self._ko_bandwidth + + def _modify_tf(self, calc, values): + return values + +class KappaCorrectedAccelTransferFunctionOutput(AccelTransferFunctionOutput): + + def __init__( + self, + refs, + freqs_range_for_kappa, + kappa_target, + location_in, + location_out, + ko_bandwidth=None, + absolute=True + ): + super().__init__(refs, + location_in, + location_out, + ko_bandwidth, + absolute) + self._freqs_range = freqs_range_for_kappa + self._kappa_target = kappa_target + + @property + def freqs_range(self): + return self._freqs_range + + @property + def kappa_target(self): + return self._kappa_target + + def _modify_tf(self, calc, values): + + values_for_kappa = np.interp(self.freqs_range,calc.motion.freqs,values) + + if not hasattr(calc.motion, "time_step"): + fas = np.interp(self.freqs_range,calc.motion.freqs,calc.motion.fourier_amps) + else: + _, fas = _compute_fourier_spectrum( + calc.motion.time_step, + calc.motion._accels, + freqs=self.freqs_range, + ko_bandwidth=self.ko_bandwidth) + + fas = np.abs(values_for_kappa * fas) + + kappa = -np.polyfit(self.freqs_range,np.log(fas),1)[0]/np.pi + + delta_kappa = kappa - self.kappa_target + kappa_corrected_values = np.exp(-np.pi*delta_kappa*calc.motion.freqs)*values + + return kappa_corrected_values class ResponseSpectrumRatioOutput(RatioBasedOutput): @@ -601,10 +916,15 @@ class ResponseSpectrumRatioOutput(RatioBasedOutput): ref_name = "freq" - def __init__(self, freqs, location_in, location_out, osc_damping): + def __init__(self, freqs, location_in, location_out, osc_damping, ko_bandwidth = None): super().__init__(freqs, location_in, location_out) self._osc_damping = osc_damping + self._ko_bandwidth = ko_bandwidth + @property + def ko_bandwidth(self): + return self._ko_bandwidth + @property def freqs(self): return self._refs @@ -624,15 +944,60 @@ def ylabel(self): def __call__(self, calc, name=None): Output.__call__(self, calc, name) loc_in, loc_out = self._get_locations(calc) + + in_tf = calc.calc_accel_tf(calc.loc_input, loc_in) in_ars = calc.motion.calc_osc_accels( - self.freqs, self.osc_damping, calc.calc_accel_tf(calc.loc_input, loc_in) + self.freqs, self.osc_damping, in_tf ) + + out_tf = calc.calc_accel_tf(calc.loc_input, loc_out) + out_tf = self._modify_tf(calc,out_tf) out_ars = calc.motion.calc_osc_accels( - self.freqs, self.osc_damping, calc.calc_accel_tf(calc.loc_input, loc_out) + self.freqs, self.osc_damping, out_tf ) ratio = out_ars / in_ars self._add_values(ratio) + def _modify_tf(self,calc,values): + return values + +class KappaCorrectedResponseSpectrumRatioOutput(ResponseSpectrumRatioOutput): + + def __init__(self, freqs, freqs_range_for_kappa, kappa_target, location_in, location_out, osc_damping, ko_bandwidth = None): + super().__init__(freqs, location_in, location_out, osc_damping) + self._freqs_range = freqs_range_for_kappa + self._kappa_target = kappa_target + + @property + def freqs_range(self): + return self._freqs_range + + @property + def kappa_target(self): + return self._kappa_target + + def _modify_tf(self, calc, values): + + values_for_kappa = np.interp(self.freqs_range,calc.motion.freqs,values) + + if not hasattr(calc.motion, "time_step"): + fas = np.interp(self.freqs_range,calc.motion.freqs,calc.motion.fourier_amps) + else: + _, fas = _compute_fourier_spectrum( + calc.motion.time_step, + calc.motion._accels, + freqs=self.freqs_range, + ko_bandwidth=self.ko_bandwidth) + + fas = np.abs(values_for_kappa * fas) + + kappa = -np.polyfit(self.freqs_range,np.log(fas),1)[0]/np.pi + + delta_kappa = kappa - self.kappa_target + kappa_corrected_values = np.exp(-np.pi*delta_kappa*calc.motion.freqs)*values + + return kappa_corrected_values + class ProfileBasedOutput(Output): ylabel = "Depth (m)" @@ -681,7 +1046,7 @@ def _ln_interp(self, i, ref): _ref = self.refs[:, i] if self.refs.ndim > 1 else self.refs # Only select points with valid entries - mask = np.isfinite(_ref) + mask = np.isfinite(_ref) & (_ref != 0) _ref = _ref[mask] _ln_values = np.log( self.values[mask, i] if self.values.ndim > 1 else self.values[mask] diff --git a/src/pystrata/site.py b/src/pystrata/site.py index 5d286f2..aa24c15 100644 --- a/src/pystrata/site.py +++ b/src/pystrata/site.py @@ -566,12 +566,14 @@ def __init__( self._num_cycles = num_cycles if damping_min is None: - damping_min = self._calc_damping_min() + self._damping_min = self._calc_damping_min() + else: + self._damping_min = damping_min if not name: name = self._create_name() - super().__init__(name, unit_wt, damping_min, strains) + super().__init__(name, unit_wt, self._damping_min, strains) def _calc_damping_min(self): """Minimum damping [decimal]""" @@ -602,6 +604,11 @@ def _create_name(self) -> str: fmt = "Darendeli (PI={:.0f}, OCR={:.1f}, σₘ'={:.1f} kN/m²)" return fmt.format(self._plas_index, self._ocr, self._stress_mean) + @property + def damping_min(self) -> float: + """Return the small-strain damping.""" + return self._damping_min + class MenqSoilType(ModifiedHyperbolicSoilType): """Menq SoilType for gravelly soils. @@ -2152,32 +2159,47 @@ def iter_soil_types(self): def auto_discretize( self, - max_freq: float = 50.0, - wave_frac: float = 0.2, + max_freq: npt.ArrayLike = 50.0, + wave_frac: npt.ArrayLike = 0.2, nonlinear_only: bool = True, ) -> Profile: """Subdivide the layers to capture strain variation. Parameters ---------- - max_freq: float - Maximum frequency of interest [Hz]. - wave_frac: float - Fraction of wavelength required. Typically 1/3 to 1/5. - - max_thick: float *optional* - If provided, layers are limited to be at most that thick. This is applied to - all layers regardless of nonlinearity. + max_freq: array_like + Maximum frequency of interest [Hz]. A scalar is applied to all + layers; an array provides a value for each layer, excluding the + halfspace. + wave_frac: array_like + Fraction of wavelength required. Typically 1/3 to 1/5. A scalar is + applied to all layers; an array provides a value for each layer, + excluding the halfspace. + nonlinear_only: bool + Only subdivide layers with nonlinear soil types. Returns ------- profile: Profile A new profile with modified layer thicknesses """ + n_layers = len(self) - 1 + max_freq = np.asarray(max_freq, dtype=float) + wave_frac = np.asarray(wave_frac, dtype=float) + try: + max_freq = np.broadcast_to(max_freq, n_layers) + wave_frac = np.broadcast_to(wave_frac, n_layers) + except ValueError as err: + raise ValueError( + f"max_freq (shape {max_freq.shape}) and wave_frac " + f"(shape {wave_frac.shape}) must match the number of " + f"layers ({n_layers})" + ) from err + layers = [] - for layer in self[:-1]: + for i, layer in enumerate(self[:-1]): if not nonlinear_only or layer.soil_type.is_nonlinear: - opt_thickness = layer.shear_vel / max_freq * wave_frac + opt_thickness = layer.shear_vel / max_freq[i] * wave_frac[i] count = max(np.ceil(layer.thickness / opt_thickness).astype(int), 1) thickness = layer.thickness / count for _ in range(count): @@ -2191,6 +2213,7 @@ def auto_discretize( ) else: layers.append(layer) + # Add the halfspace layers.append(self[-1]) diff --git a/src/pystrata/tools.py b/src/pystrata/tools.py index a7bb6c2..c70aa46 100644 --- a/src/pystrata/tools.py +++ b/src/pystrata/tools.py @@ -28,8 +28,9 @@ import numpy.typing as npt import pandas as pd import scipy.constants as C +import pykooh -from . import motion, propagation, site +from . import motion, propagation, site, output def to_str(s): diff --git a/tests/motion_test.py b/tests/motion_test.py index d45ea14..5e5d75c 100644 --- a/tests/motion_test.py +++ b/tests/motion_test.py @@ -35,6 +35,58 @@ def test_ts_load_at2_file(tsm): assert_allclose(tsm.accels[-1], 0.496963e-04) +@pytest.mark.parametrize( + "line", + [ + # Values preceding their labels + " 4096 0.0100 NPTS, DT", + " 0.0100 4096 DT, NPTS", + " 4096 0.0100 NPTS DT", + # Values following their labels + "NPTS= 4096, DT= .0100 SEC,", + "DT= .0100 SEC, NPTS= 4096,", + "NPTS= 4096 DT= .0100 SEC", + "NPTS 4096 DT .0100", + # Unlabeled + " 4096 0.0100", + ], +) +def test_parse_at2_header(line): + """Test parsing of the NPTS and DT header line variations.""" + npts, time_step = motion._parse_at2_header(line) + assert_equal(npts, 4096) + assert_allclose(time_step, 0.01) + + +def test_parse_at2_header_invalid(): + """Test that an unparsable header line is reported.""" + with pytest.raises(ValueError): + motion._parse_at2_header("NPTS, DT") + + +@pytest.mark.parametrize( + "header", + [" 8 0.0100 NPTS, DT", "NPTS= 8, DT= .0100 SEC,"], +) +def test_ts_load_at2_file_headers(tmp_path, header): + """Test loading of an AT2 file using each header layout.""" + accels = [0.1, -0.2, 0.3, -0.4, 0.5, -0.6, 0.7, -0.8] + fpath = tmp_path / "test.AT2" + fpath.write_text( + "PEER NGA STRONG MOTION DATABASE RECORD\n" + "Imperial Valley-02, 5/19/1940, El Centro Array #9, 270\n" + "ACCELERATION TIME SERIES IN UNITS OF G\n" + f"{header}\n" + " ".join(f"{a:.6E}" for a in accels) + "\n" + ) + + tsm = motion.TimeSeriesMotion.load_at2_file(fpath) + assert_equal( + tsm.description, "Imperial Valley-02, 5/19/1940, El Centro Array #9, 270" + ) + assert_allclose(tsm.time_step, 0.01) + assert_allclose(tsm.accels, accels) + + def test_ts_times(tsm): """Test times.""" assert_allclose(