Skip to contents

Overview

The package implements probabilistic propagation of seismic hazard uncertainty through the Newmark sliding-block displacement framework. Two stages of variability — the joint distribution of rock-level spectral demand from PSHA quantiles, and the conditional dispersion of empirical site-amplification and sliding-block models — are sampled via Gaussian copulas with mean-preserving recentering, and propagated to the mean, dispersion and design quantiles of the residual displacement Dn(ky) and the performance-based seismic coefficient kmax(d*).

Inputs are uniform-hazard spectra (UHS) at multiple return periods, typically produced by an external PSHA engine such as OpenQuake. Outputs are tabulated kmax(d*) and the normalised pseudostatic coefficient Kh = kmax / PGA at user-specified displacement targets, intended for performance-based seismic stability of slopes, embankments, tailings storage facilities and waste rock dumps.

Four workflows

  1. Dynamic site response. Synthetic USCS-classified soil profile to fundamental period Ts, shear modulus Go and inhomogeneity ratio mo via Ishihara’s (1996) shear-modulus model and the Gazetas–Dakoulas (1985) inhomogeneous truncated shear-beam theory; site amplification of the rock UHS to a target Vs30 via the Seyhan–Stewart (2014) ST17 model. getSiteProperties(), geSiteTable(), getCylinderRoots(), fitModel.Ts(), fitSaF(), Vs30toSID(), SIDtoVs30().

  2. Hazard import. OpenQuake classical-PSHA and disaggregation output to uniform-hazard spectra and Mw–R tables. buildGMDP().

  3. Displacement curves. Site UHS to ensemble Dn(ky) from six empirical sliding-block models (Ambraseys–Menu 1988, Jibson 2007, Saygili–Rathje 2008, Bray–Travasarou 2007, Bray–Macedo 2017, Bray–Macedo 2019), with full inter-period correlation following Baker–Jayaram (2008) and a shared aleatory residual across models per Monte Carlo realisation. getDnKy(), fitDnCurve(), fitDnModel(), getKyLimits().

  4. Seismic coefficient. Inversion of the per-realisation displacement draws in log-log space to kmax(d*) at user-specified displacement targets, with weighted-mean ensemble aggregation across active models. invertDnDraws().

All tabular outputs are data.table objects. The four reference datasets — CylinderRoots, ShearModelParameters, SiteClass, SiteTable — ship with the package and are loaded lazily.

Installation

# Stable release
install.packages("newmark")

# Development version
devtools::install_github("averriK/newmark")

Getting started

Four vignettes ship with the package:

vignette("newmark-quickstart",     package = "newmark")    # 5-minute hello world
vignette("pipeline",               package = "newmark")    # 4-workflow function-level overview
vignette("dynamic-site-response",  package = "newmark")    # Ts, stiffness profile, site amplification
vignette("ensemble-formulation",   package = "newmark")    # mathematical derivation

Function-level reference: ?fitSaF, ?getDnKy, ?fitDnCurve, ?invertDnDraws, ?getSiteProperties, ?geSiteTable, ?getCylinderRoots, ?fitModel.Ts, ?buildGMDP, ?Vs30toSID, ?SIDtoVs30, or help(package = "newmark").

Rendered documentation: https://averriK.github.io/newmark/.

Getting help

Open an issue at https://github.com/averriK/newmark/issues.

Citation

If you use this package in a publication, please cite the companion paper:

@unpublished{VerriKozlowski2026,
  author = {Verri Kozlowski, Alejandro},
  title  = {Probabilistic estimation of {Newmark} displacements and seismic
            coefficients under hazard uncertainty},
  year   = {2026},
  note   = {Working paper}
}

To cite the software package itself:

@Manual{Verri2026,
  title  = {{newmark}: Uncertainty Analysis in Dynamic Site and Slope Response},
  author = {Verri Kozlowski, Alejandro},
  year   = {2026},
  note   = {R package version 1.1.0},
  url    = {https://github.com/averriK/newmark}
}

License

MIT — see LICENSE

Author

Alejandro Verri Kozlowski
ORCID 0000-0002-8535-1170
Universidad de Buenos Aires, Facultad de Ingeniería