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
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().Hazard import. OpenQuake classical-PSHA and disaggregation output to uniform-hazard spectra and Mw–R tables.
buildGMDP().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().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 derivationFunction-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:
License
MIT — see LICENSE
Author
Alejandro Verri Kozlowski — averri@fi.uba.ar
ORCID 0000-0002-8535-1170
Universidad de Buenos Aires, Facultad de Ingeniería