3.1.7.4. H5DRM Pattern¶
Perform earthquake time-history analysis using the domain reduction method (DRM).
The H5DRM pattern implements the DRM using the H5DRM data format. It directly reads the dataset, performs node matching, identifies the connecting elements, and applies the loads and (linear) interpolation of displacements and accelerations in time.
- pattern H5DRM $patternTag "/path/to/H5DRM/dataset" $factor $crd_scale $distance_tolerance $do_coordinate_transformation $T00 $T01 $T02 $T10 $T11 $T12 $T20 $T21 $T22 $x00 $x01 $x02
All paramters are required at this point!
Argument |
Type |
Description |
---|---|---|
$factor |
float |
multiply DRM dataset displacements and accelerations by this value |
$crd_scale |
float |
multiply (x, y, z) coordinates of dataset points by this value (typically for unit change between dataset and FE model) |
$distance_tolerance |
float |
tolerance for DRM point to FE mesh matching. Set to a size similar to the node distance near the DRM boundary. |
$do_coordinate_transformation |
integer |
=1 apply a coordinate transformation to the (x, y, z) coordinates of dataset points before matching |
$T00 |
float |
00 component of the transformation matrix |
$T01 |
float |
01 component of the transformation matrix |
$T02 |
float |
02 component of the transformation matrix |
$T10 |
float |
10 component of the transformation matrix |
$T11 |
float |
11 component of the transformation matrix |
$T12 |
float |
12 component of the transformation matrix |
$T20 |
float |
20 component of the transformation matrix |
$T21 |
float |
21 component of the transformation matrix |
$T22 |
float |
22 component of the transformation matrix |
$x00 |
float |
x location of the top-center node of the DRM Box after transformation |
$x01 |
float |
y location of the top-center node of the DRM Box after transformation |
$x02 |
float |
z location of the top-center node of the DRM Box after transformation |
This load pattern takes input from DRM datasets formatted using the H5DRM data-format specified in [1], which uses the HDF5 library for IO. These datasets can be produced natively for 1-D crust models by the ShakerMaker python library (it was designed to do this). Otherwise, the HDF5 format on which H5DRM is based is simple enough that output from other seismological software can be easily cast into this format (in python use the h5py
library). Hopefully, other programs will provide native support for H5DRM in the future.
About the coordinate transformation
Because the H5DRM dataset format is designed to facilitate the sharing of datasets for DRM analysis, the coordinate systems with which the DRM boundary points are represented are generally unrelated to those of the local-scale (OpenSees FEM) model. Thus, we provide a means for transforming between coordinates systems in the implementation of the H5DRM load pattern, which is applied to the DRM boundary point coordinates before the node matching. This transformation is described in the following image.
Example: Free field response
Code Developed by: José Antonio Abell (UANDES). For issues, start a new issue on the OpenSees github repo and tag me (@jaabell).
- References
[1] Jose A. Abell., Jorge G.F. Crempien, Matías Recabarren ShakerMaker: A framework that simplifies the simulation of seismic ground-motions. SoftwareX. https://doi.org/10.1016/j.softx.2021.100911