;; -*- Mode: Lisp; Package: STELLA; Syntax: COMMON-LISP; Base: 10 -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; COPYRIGHT (C) UNIVERSITY OF SOUTHERN CALIFORNIA, 2002 ; ; University of Southern California, Information Sciences Institute ; ; 4676 Admiralty Way ; ; Marina Del Rey, California 90292 ; ; All rights reserved. ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (in-package "STELLA") (in-module "SEISMOLOGY/MODELS") (in-dialect :KIF) (assert (documentation MODELS "Support ontology for Attenuation Relationship models. KB version: $Id: models.plm,v 1.3 2004/08/06 01:26:24 tar Exp $")) ;;;; ;;;; Generally used Parameters ;;;; (deffunction model-internal-parameter-name ((?m model) (?x parameter) (?y STRING)) :documentation "The name used for program input and output for this model and parameter.") (defconcept 5percent (?s) :<=> (member-of ?s (setof (units 5 "%")))) (defconcept yes-or-no (?s) :<=> (member-of ?s (setof "Yes" "No"))) (defrelation expect-ui-parameter-type (?x) :documentation "Annotate the parameter types that users can specify using the EXPECT user interface when adding new models to the Ontology") (assert (and (expect-ui-parameter-type fault-parameter) (expect-ui-parameter-type site-parameter) (expect-ui-parameter-type distance-parameter) (expect-ui-parameter-type magnitude-parameter))) (assert (categorical-value-parameter fault-type-parameter)) (assert (pretty-name fault-type-parameter "Fault Type")) (assert (fault-parameter fault-type-parameter)) (assert (parameter-describes fault-type-parameter fault)) (assert (pretty-name source-moment-magnitude "Magnitude")) (assert (pretty-name parameter-motion-component "Component")) (assert (and (motion-component vertical-component) (pretty-name vertical-component "Vertical"))) (assert (and (motion-component average-horizontal-component) (pretty-name average-horizontal-component "Average Horizontal"))) (assert (and (motion-component random-horizontal-component) (pretty-name random-horizontal-component "Random Horizontal"))) (assert (discrete-value-parameter sa-period)) (assert (discrete-value-parameter sa-damping)) (assert (discrete-value-parameter parameter-motion-component)) ;;; ;;; Internal parameter names that are not model dependent ;;; (assert (=> (model ?m) (and (model-internal-parameter-name ?m distance-jb "DistanceJB") (model-internal-parameter-name ?m distance-rupture "DistanceRup") (model-internal-parameter-name ?m distance-seismogenic "DistanceSeis") (model-internal-parameter-name ?m PGA "PGA") (model-internal-parameter-name ?m PGV "PGV") (model-internal-parameter-name ?m SA "SA") (model-internal-parameter-name ?m SA-period "SA Period") (model-internal-parameter-name ?m SA-damping "SA Damping") (model-internal-parameter-name ?m probability-of-exceedence "Exceed. Prob.") (model-internal-parameter-name ?m gaussian-truncation-type "Gaussian Distribution Truncation") (model-internal-parameter-name ?m gaussian-truncation-level "Truncation Level") (model-internal-parameter-name ?m no-truncation "None") (model-internal-parameter-name ?m right-side-truncation "1 Sided") (model-internal-parameter-name ?m both-sides-truncation "2 Sided") (model-internal-parameter-name ?m standard-deviation-type "Std Dev Type") (model-internal-parameter-name ?m vs30-of-soil "Vs30") ))) (assert (=> (and (sa ?p) (model ?m)) (model-internal-parameter-name ?m ?p "SA"))) ;;;; ;;;; Field 2000 ;;;; (assert (model field-2000)) ;;; Currently we make the SA parameter an INSTANCE of SA. ;;; In the future we might need to change this to be a SUBCLASS. (assert (and (sa field-2000-sa) (model-parameter field-2000 field-2000-sa) (range-type sa-period field-2000-sa (kappa (?x) (member-of ?x (setof (units 0.0 "s") (units 0.3 "s") (units 1.0 "s") (units 3.0 "s"))))) (range-type sa-damping field-2000-sa 5percent) (range-type parameter-motion-component field-2000-sa (kappa (?x) (member-of ?x (setof average-horizontal-component)))) )) (assert (and (model-parameter field-2000 standard-deviation-type) (range-type standard-deviation-type field-2000 (kappa (?x) (member-of ?x (setof "Total" "Inter-Event" "Intra-Event" "None (zero)")))))) (assert (model-parameter field-2000 probability-of-exceedence)) (assert (model-site-parameter field-2000 vs30-of-soil)) (assert (model-parameter-preferred-lower-bound field-2000 vs30-of-soil (units 180 "m/s"))) (assert (model-parameter-preferred-upper-bound field-2000 vs30-of-soil (units 3500 "m/s"))) (assert (model-site-parameter field-2000 basin-depth-2.5)) (assert (model-parameter-preferred-lower-bound field-2000 basin-depth-2.5 (units 0 "km"))) (assert (model-parameter-preferred-upper-bound field-2000 basin-depth-2.5 (units 30 "km"))) (assert (model-internal-parameter-name field-2000 basin-depth-2.5 "Basin-Depth-2.5")) (assert (model-magnitude-parameter field-2000 source-moment-magnitude)) (assert (model-parameter-preferred-lower-bound field-2000 source-moment-magnitude 5.0)) (assert (model-parameter-preferred-upper-bound field-2000 source-moment-magnitude 8.0)) (assert (model-distance-parameter field-2000 distance-jb)) (assert (model-parameter-preferred-lower-bound field-2000 distance-jb (units 0 "km"))) (assert (model-parameter-preferred-upper-bound field-2000 distance-jb (units 150 "km"))) (assert (default-categorical-fault-type field-2000 field-2000-other)) (assert (model-categorical-parameter field-2000 fault-type-parameter)) (assert (model-fault-parameter field-2000 fault-type-parameter)) ;;; Fault Types (defconcept field-2000-reverse-fault ((?c fault)) :documentation "Field (2000) fault type Reverse" :axioms (and (model-fault-type field-2000 field-2000-reverse-fault) (pretty-name field-2000-reverse-fault "Reverse") (model-internal-parameter-name field-2000 field-2000-reverse-fault "Reverse")) :<=> (and (fault ?c) (>= (the-fault-rake ?c) (units 45 "deg")) (=< (the-fault-rake ?c) (units 135 "deg")))) (defconcept field-2000-other-fault ((?c fault)) :documentation "Field (2000) fault type Other/Unknown" :axioms (and (model-fault-type field-2000 field-2000-other-fault) (pretty-name field-2000-other-fault "Other/Unknown") (model-internal-parameter-name field-2000 field-2000-other-fault "Other/Unknown")) :<=> (and (fault ?c) (fail (field-2000-reverse-fault ?c)))) ;;; Computation Dependencies (assert (model-computation-dependency field-2000 probability-of-exceedence field-2000-sa (setof distance-jb vs30-of-soil basin-depth-2.5 source-moment-magnitude fault-type-parameter standard-deviation-type))) (assert (model-computation-dependency field-2000 field-2000-sa distance-jb (setof vs30-of-soil basin-depth-2.5 source-moment-magnitude fault-type-parameter))) ;;;; ;;;; Boore et al. 1997 ;;;; Boore, Joyner & Fumal 1997 ;;;; (assert (model boore-et-al-1997)) (assert (and (sa boore-et-al-1997-sa) (model-parameter boore-et-al-1997 boore-et-al-1997-sa) (range-type sa-period boore-et-al-1997-sa (kappa (?x) (member-of ?x (setof (units 0.0 "s") (units 0.10 "s") (units 0.11 "s") (units 0.12 "s") (units 0.13 "s") (units 0.14 "s") (units 0.15 "s") (units 0.16 "s") (units 0.17 "s") (units 0.18 "s") (units 0.19 "s") (units 0.20 "s") (units 0.22 "s") (units 0.24 "s") (units 0.26 "s") (units 0.28 "s") (units 0.30 "s") (units 0.32 "s") (units 0.34 "s") (units 0.36 "s") (units 0.38 "s") (units 0.40 "s") (units 0.42 "s") (units 0.44 "s") (units 0.46 "s") (units 0.48 "s") (units 0.50 "s") (units 0.55 "s") (units 0.60 "s") (units 0.65 "s") (units 0.70 "s") (units 0.75 "s") (units 0.80 "s") (units 0.85 "s") (units 0.90 "s") (units 0.95 "s") (units 1.0 "s") (units 1.1 "s") (units 1.2 "s") (units 1.3 "s") (units 1.4 "s") (units 1.5 "s") (units 1.6 "s") (units 1.7 "s") (units 1.8 "s") (units 1.9 "s") (units 2.0 "s"))))) (range-type sa-damping boore-et-al-1997-sa 5percent) (range-type parameter-motion-component boore-et-al-1997-sa (kappa (?x) (member-of ?x (setof average-horizontal-component random-horizontal-component)))) )) (assert (and (model-parameter boore-et-al-1997 standard-deviation-type) (range-type standard-deviation-type boore-et-al-1997 (kappa (?x) (member-of ?x (setof "Total" "Inter-Event" "Intra-Event" "None (zero)")))))) (assert (model-parameter boore-et-al-1997 probability-of-exceedence)) (assert (model-site-parameter boore-et-al-1997 vs30-of-soil)) (assert (model-parameter-preferred-lower-bound boore-et-al-1997 vs30-of-soil (units 180 "m/s"))) (assert (model-parameter-preferred-upper-bound boore-et-al-1997 vs30-of-soil (units 3500 "m/s"))) (assert (model-distance-parameter boore-et-al-1997 distance-jb)) (assert (model-parameter-preferred-lower-bound boore-et-al-1997 distance-jb (units 0 "km"))) (assert (model-parameter-preferred-upper-bound boore-et-al-1997 distance-jb (units 80 "km"))) (assert (model-magnitude-parameter boore-et-al-1997 source-moment-magnitude)) (assert (model-parameter-preferred-lower-bound boore-et-al-1997 source-moment-magnitude 5.5)) (assert (model-parameter-preferred-upper-bound boore-et-al-1997 source-moment-magnitude 7.5)) (assert (default-categorical-fault-type boore-et-al-1997 boore-et-al-1997-other)) (assert (and (model-categorical-parameter boore-et-al-1997 fault-type-parameter) (model-fault-parameter boore-et-al-1997 fault-type-parameter))) ;;; Fault types (defconcept boore-et-al-1997-strike-slip-fault ((?c fault)) :documentation "Boore, Joyner, Fulmar (1997) fault type Strike-Slip" :axioms (and (model-fault-type boore-et-al-1997 boore-et-al-1997-strike-slip-fault) (pretty-name boore-et-al-1997-strike-slip-fault "Strike-Slip") (model-internal-parameter-name boore-et-al-1997 boore-et-al-1997-strike-slip-fault "Strike-Slip")) :<=> (and (fault ?c) (or (and (> (the-fault-rake ?c) (units -30 "deg")) (< (the-fault-rake ?c) (units 30 "deg"))) (< (the-fault-rake ?c) (units -150 "deg")) (> (the-fault-rake ?c) (units 150 "deg"))))) (defconcept boore-et-al-1997-reverse-fault ((?c fault)) :documentation "Boore, Joyner, Fulmar (1997) fault type Reverse" :axioms (and (model-fault-type boore-et-al-1997 boore-et-al-1997-reverse-fault) (pretty-name boore-et-al-1997-reverse-fault "Reverse") (model-internal-parameter-name boore-et-al-1997 boore-et-al-1997-reverse-fault "Reverse")) :<=> (and (fault ?c) (>= (the-fault-rake ?c) (units 30 "deg")) (=< (the-fault-rake ?c) (units 150 "deg")))) (defconcept boore-et-al-1997-other-fault ((?c fault)) :documentation "Boore, Joyner, Fulmar (1997) fault type Unknown" :axioms (and (model-fault-type boore-et-al-1997 boore-et-al-1997-other-fault) (pretty-name boore-et-al-1997-other-fault "Unknown") (model-internal-parameter-name boore-et-al-1997 boore-et-al-1997-other-fault "Unknown")) :<=> (and (fault ?c) (fail (boore-et-al-1997-reverse-fault ?c)) (fail (boore-et-al-1997-strike-slip-fault ?c)))) ;;; Computation Dependencies (assert (model-computation-dependency boore-et-al-1997 probability-of-exceedence boore-et-al-1997-sa (setof distance-jb vs30-of-soil source-moment-magnitude fault-type-parameter standard-deviation-type))) (assert (model-computation-dependency boore-et-al-1997 boore-et-al-1997-sa distance-jb (setof vs30-of-soil source-moment-magnitude fault-type-parameter))) ;;;; ;;;; Abrahamson and Silva 1997 ;;;; Missing hanging wall? ;;;; (deffunction abrahamson-and-silva-1997-on-hanging-wall (?s) :-> (?yn YES-OR-NO) :documentation "Whether a particular site being evaluated wrt to a particular fault is considered on the hanging wall of that fault" :axioms (and (pretty-name abrahamson-and-silva-1997-on-hanging-wall "On Hanging Wall?") (model-internal-parameter-name abrahamson-and-silva-1997 abrahamson-and-silva-1997-on-hanging-wall "On Hanging Wall?") (discrete-value-parameter abrahamson-and-silva-1997-on-hanging-wall) (range-type abrahamson-and-silva-1997-on-hanging-wall ?x yes-or-no))) (assert (model abrahamson-and-silva-1997)) (assert (model-with-categorical-site-parameter abrahamson-and-silva-1997)) (assert (model-parameter abrahamson-and-silva-1997 abrahamson-and-silva-1997-on-hanging-wall)) (assert (and (sa abrahamson-and-silva-1997-sa) (model-parameter abrahamson-and-silva-1997 abrahamson-and-silva-1997-sa) (range-type sa-period abrahamson-and-silva-1997-sa (kappa (?x) (member-of ?x (setof (units 0.0 "s") (units 0.01 "s") (units 0.02 "s") (units 0.03 "s") (units 0.04 "s") (units 0.05 "s") (units 0.06 "s") (units 0.075 "s") (units 0.09 "s") (units 0.1 "s") (units 0.12 "s") (units 0.15 "s") (units 0.17 "s") (units 0.20 "s") (units 0.24 "s") (units 0.30 "s") (units 0.36 "s") (units 0.40 "s") (units 0.46 "s") (units 0.50 "s") (units 0.60 "s") (units 0.75 "s") (units 0.85 "s") (units 1.0 "s") (units 1.5 "s") (units 2.0 "s") (units 3.0 "s") (units 4.0 "s") (units 5.0 "s"))))) (range-type sa-damping abrahamson-and-silva-1997-sa 5percent) (range-type parameter-motion-component abrahamson-and-silva-1997-sa (kappa (?x) (member-of ?x (setof vertical-component average-horizontal-component)))) )) (assert (and (model-parameter abrahamson-and-silva-1997 standard-deviation-type) (range-type standard-deviation-type abrahamson-and-silva-1997 (kappa (?x) (member-of ?x (setof "Total" "None (zero)")))))) (assert (model-parameter abrahamson-and-silva-1997 probability-of-exceedence)) (assert (model-distance-parameter abrahamson-and-silva-1997 distance-rupture)) (assert (model-parameter-preferred-lower-bound abrahamson-and-silva-1997 distance-rupture (units 0 "km"))) (assert (model-parameter-preferred-upper-bound abrahamson-and-silva-1997 distance-rupture (units 200 "km"))) (assert (model-magnitude-parameter abrahamson-and-silva-1997 source-moment-magnitude)) (assert (model-parameter-preferred-lower-bound abrahamson-and-silva-1997 source-moment-magnitude 4.5)) (assert (model-parameter-preferred-upper-bound abrahamson-and-silva-1997 source-moment-magnitude 8.0)) (assert (default-categorical-fault-type abrahamson-and-silva-1997 abrahamson-and-silva-1997-other)) (assert (categorical-value-parameter as-site-type-parameter)) (assert (pretty-name as-site-type-parameter "AS Site Type")) (assert (model-internal-parameter-name abrahamson-and-silva-1997 as-site-type-parameter "AS Site Type")) (assert (parameter-describes as-site-type-parameter site)) (assert (model-categorical-parameter abrahamson-and-silva-1997 as-site-type-parameter)) (assert (model-site-parameter abrahamson-and-silva-1997 as-site-type-parameter)) (assert (site-parameter as-site-type-parameter)) (assert (model-categorical-parameter abrahamson-and-silva-1997 fault-type-parameter)) (assert (model-fault-parameter abrahamson-and-silva-1997 fault-type-parameter)) ;;; Soil Types (defconcept abrahamson-and-silva-1997-deep-soil ((?c SITE)) :documentation "Abrahamson and Silva (1997) site type Deep Soil" :axioms (and (model-site-type abrahamson-and-silva-1997 abrahamson-and-silva-1997-deep-soil) (pretty-name abrahamson-and-silva-1997-deep-soil "Deep-Soil") (model-internal-parameter-name abrahamson-and-silva-1997 abrahamson-and-silva-1997-deep-soil "Deep-Soil")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 180 "m/s")) (=< (vs30-of-soil ?c) (units 400 "m/s")) (>= (basin-depth-2.5 ?c) (units 100 "m")))) (defconcept abrahamson-and-silva-1997-rock-shallow-soil ((?c SITE)) :documentation "Abrahamson and Silva (1997) site type Rock/Shallow Soil" :axioms (and (model-site-type abrahamson-and-silva-1997 abrahamson-and-silva-1997-rock-shallow-soil) (pretty-name abrahamson-and-silva-1997-rock-shallow-soil "Rock/Shallow-Soil") (model-internal-parameter-name abrahamson-and-silva-1997 abrahamson-and-silva-1997-rock-shallow-soil "Rock/Shallow-Soil")) :<=> (and (site ?c) (or (> (vs30-of-soil ?c) (units 400 "m/s")) (and (> (vs30-of-soil ?c) (units 180 "m/s")) (< (basin-depth-2.5 ?c) (units 100 "m")))))) ;;; Fault Types (defconcept abrahamson-and-silva-1997-reverse-fault ((?c fault)) :documentation "Abrahamson and Silva (1997) fault type Reverse" :axioms (and (model-fault-type abrahamson-and-silva-1997 abrahamson-and-silva-1997-reverse-fault) (pretty-name abrahamson-and-silva-1997-reverse-fault "Reverse") (model-internal-parameter-name abrahamson-and-silva-1997 abrahamson-and-silva-1997-reverse-fault "Reverse")) :<=> (and (fault ?c) (>= (the-fault-rake ?c) (units 67.5 "deg")) (=< (the-fault-rake ?c) (units 112.5 "deg")))) (defconcept abrahamson-and-silva-1997-reverse-oblique-fault ((?c fault)) :documentation "Abrahamson and Silva (1997) fault type Reverse-Oblique" :axioms (and (model-fault-type abrahamson-and-silva-1997 abrahamson-and-silva-1997-reverse-oblique-fault) (pretty-name abrahamson-and-silva-1997-reverse-oblique-fault "Reverse-Oblique") (model-internal-parameter-name abrahamson-and-silva-1997 abrahamson-and-silva-1997-reverse-oblique-fault "Reverse-Oblique")) :<=> (and (fault ?c) (or (and (>= (the-fault-rake ?c) (units 22.5 "deg")) (< (the-fault-rake ?c) (units 67.5 "deg"))) (and (> (the-fault-rake ?c) (units 112.5 "deg")) (=< (the-fault-rake ?c) (units 157.5 "deg")))))) (defconcept abrahamson-and-silva-1997-other-fault ((?c fault)) :documentation "Abrahamson and Silva (1997) fault type Other" :axioms (and (model-fault-type abrahamson-and-silva-1997 abrahamson-and-silva-1997-other-fault) (pretty-name abrahamson-and-silva-1997-other-fault "Other") (model-internal-parameter-name abrahamson-and-silva-1997 abrahamson-and-silva-1997-other-fault "Other")) :<=> (and (fault ?c) (fail (abrahamson-and-silva-1997-reverse-fault ?c)) (fail (abrahamson-and-silva-1997-reverse-oblique-fault ?c)))) ;;; Computation Dependencies (assert (model-computation-dependency abrahamson-and-silva-1997 probability-of-exceedence abrahamson-and-silva-1997-sa (setof distance-rupture as-site-type-parameter source-moment-magnitude fault-type-parameter abrahamson-and-silva-1997-on-hanging-wall standard-deviation-type))) (assert (model-computation-dependency abrahamson-and-silva-1997 abrahamson-and-silva-1997-sa distance-rupture (setof as-site-type-parameter source-moment-magnitude fault-type-parameter abrahamson-and-silva-1997-on-hanging-wall))) ;;;; ;;;; Sadigh et al. 1997 ;;;; (assert (model sadigh-et-al-1997)) (assert (model-with-categorical-site-parameter sadigh-et-al-1997)) (assert (and (sa sadigh-et-al-1997-sa) (model-parameter sadigh-et-al-1997 sadigh-et-al-1997-sa) (range-type sa-period sadigh-et-al-1997-sa (kappa (?x) (member-of ?x (setof (units 0.0 "s") (units 0.075 "s") (units 0.1 "s") (units 0.2 "s") (units 0.3 "s") (units 0.4 "s") (units 0.5 "s") (units 0.75 "s") (units 1.0 "s") (units 1.5 "s") (units 2.0 "s") (units 3.0 "s") (units 4.0 "s"))))) (range-type sa-damping sadigh-et-al-1997-sa 5percent) (range-type parameter-motion-component sadigh-et-al-1997-sa (kappa (?x) (member-of ?x (setof average-horizontal-component)))))) (assert (and (model-parameter sadigh-et-al-1997 standard-deviation-type) (range-type standard-deviation-type sadigh-et-al-1997 (kappa (?x) (member-of ?x (setof "Total" "None (zero)")))))) (assert (model-parameter sadigh-et-al-1997 probability-of-exceedence)) (assert (model-distance-parameter sadigh-et-al-1997 distance-rupture)) (assert (model-parameter-preferred-lower-bound sadigh-et-al-1997 distance-rupture (units 0 "km"))) (assert (model-parameter-preferred-upper-bound sadigh-et-al-1997 distance-rupture (units 100 "km"))) (assert (model-magnitude-parameter sadigh-et-al-1997 source-moment-magnitude)) (assert (model-parameter-preferred-lower-bound sadigh-et-al-1997 source-moment-magnitude 4.0)) (assert (model-parameter-preferred-upper-bound sadigh-et-al-1997 source-moment-magnitude 8.25)) (assert (default-categorical-fault-type sadigh-et-al-1997 sadigh-et-al-1997-other)) (assert (categorical-value-parameter sadigh-site-type-parameter)) (assert (pretty-name sadigh-site-type-parameter "Sadigh Site Type")) (assert (model-internal-parameter-name sadigh-et-al-1997 sadigh-site-type-parameter "Sadigh Site Type")) (assert (parameter-describes sadigh-site-type-parameter site)) (assert (model-categorical-parameter sadigh-et-al-1997 sadigh-site-type-parameter)) (assert (model-site-parameter sadigh-et-al-1997 sadigh-site-type-parameter)) (assert (site-parameter sadigh-site-type-parameter)) (assert (model-categorical-parameter sadigh-et-al-1997 fault-type-parameter)) (assert (model-fault-parameter sadigh-et-al-1997 fault-type-parameter)) (assert (default-categorical-fault-type sadigh-et-al-1997 sadigh-et-al-1997-other)) ;;; Site Types (defconcept sadigh-et-al-1997-deep-soil ((?c SITE)) :documentation "Sadigh et al. (1997) site type Deep Soil" :axioms (and (model-site-type sadigh-et-al-1997 sadigh-et-al-1997-deep-soil) (pretty-name sadigh-et-al-1997-deep-soil "Deep-Soil") (model-internal-parameter-name sadigh-et-al-1997 sadigh-et-al-1997-deep-soil "Deep-Soil")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 180 "m/s")) (=< (vs30-of-soil ?c) (units 400 "m/s")) (>= (basin-depth-2.5 ?c) (units 100 "m")))) (defconcept sadigh-et-al-1997-rock ((?c SITE)) :documentation "Sadigh et al. (1997) site type Rock" :axioms (and (model-site-type sadigh-et-al-1997 sadigh-et-al-1997-rock) (pretty-name sadigh-et-al-1997-rock "Rock") (model-internal-parameter-name sadigh-et-al-1997 sadigh-et-al-1997-rock "Rock")) :<=> (and (site ?c) (or (> (vs30-of-soil ?c) (units 400 "m/s")) (and (> (vs30-of-soil ?c) 180) (< (basin-depth-2.5 ?c) (units 100 "m")))))) ;;; Fault Types (defconcept sadigh-et-al-1997-reverse-fault ((?c fault)) :documentation "Sadigh et al. (1997) fault type Reverse" :axioms (and (model-fault-type sadigh-et-al-1997 sadigh-et-al-1997-reverse-fault) (pretty-name sadigh-et-al-1997-reverse-fault "Reverse") (model-internal-parameter-name sadigh-et-al-1997 sadigh-et-al-1997-reverse-fault "Reverse")) :<=> (and (fault ?c) (> (the-fault-rake ?c) (units 45 "deg")) (< (the-fault-rake ?c) (units 135 "deg")))) (defconcept sadigh-et-al-1997-other-fault ((?c fault)) :documentation "Sadigh-Et-Al (1997) fault type Other" :axioms (and (model-fault-type sadigh-et-al-1997 sadigh-et-al-1997-other-fault) (pretty-name sadigh-et-al-1997-other-fault "Other") (model-internal-parameter-name sadigh-et-al-1997 sadigh-et-al-1997-other-fault "Other")) :<=> (and (fault ?c) (fail (sadigh-et-al-1997-reverse-fault ?c)))) ;;; Computation Dependencies (assert (model-computation-dependency sadigh-et-al-1997 probability-of-exceedence sadigh-et-al-1997-sa (setof distance-rupture sadigh-site-type-parameter source-moment-magnitude fault-type-parameter standard-deviation-type))) (assert (model-computation-dependency sadigh-et-al-1997 sadigh-et-al-1997-sa distance-rupture (setof sadigh-site-type-parameter source-moment-magnitude fault-type-parameter))) ;;;; ;;;; Campbell 1997 ;;;; (assert (model campbell-1997)) (assert (model-with-categorical-site-parameter campbell-1997)) (assert (model-parameter campbell-1997 campbell-basin-depth)) (assert (and (sa campbell-1997-sa) (model-parameter campbell-1997 campbell-1997-sa) (range-type sa-period campbell-1997-sa (kappa (?x) (member-of ?x (setof (units 0.05 "s") (units 0.075 "s") (units 0.1 "s") (units 0.15 "s") (units 0.2 "s") (units 0.3 "s") (units 0.5 "s") (units 0.75 "s") (units 1.0 "s") (units 1.5 "s") (units 2.0 "s") (units 3.0 "s") (units 4.0 "s"))))) (range-type sa-damping campbell-1997-sa 5percent) (range-type parameter-motion-component campbell-1997-sa (kappa (?x) (member-of ?x (setof vertical-component average-horizontal-component)))) )) (assert (and (model-parameter campbell-1997 standard-deviation-type) (range-type standard-deviation-type campbell-1997 (kappa (?x) (member-of ?x (setof "Total (Mag Dependent)" "Total (PGA Dependent)" "None (zero)")))))) (assert (model-parameter campbell-1997 probability-of-exceedence)) (assert (model-distance-parameter campbell-1997 distance-seismogenic)) (assert (model-parameter-preferred-lower-bound campbell-1997 distance-seismogenic (units 3 "km"))) (assert (model-parameter-preferred-upper-bound campbell-1997 distance-seismogenic (units 60 "km"))) (assert (model-magnitude-parameter campbell-1997 source-moment-magnitude)) (assert (model-parameter-preferred-lower-bound campbell-1997 source-moment-magnitude 5.0)) (assert (model-parameter-preferred-upper-bound campbell-1997 source-moment-magnitude 8.0)) (assert (default-categorical-fault-type campbell-1997 campbell-1997-other)) (assert (categorical-value-parameter campbell-site-type-parameter)) (assert (pretty-name campbell-site-type-parameter "Campbell Site Type")) (assert (model-internal-parameter-name campbell-1997 campbell-site-type-parameter "Campbell Site Type")) (assert (parameter-describes campbell-site-type-parameter site)) (assert (site-parameter campbell-site-type-parameter)) (assert (model-categorical-parameter campbell-1997 campbell-site-type-parameter)) (assert (model-site-parameter campbell-1997 campbell-site-type-parameter)) (assert (model-categorical-parameter campbell-1997 fault-type-parameter)) (assert (model-fault-parameter campbell-1997 fault-type-parameter)) (assert (default-categorical-fault-type campbell-1997 campbell-1997-unknown)) (deffunction campbell-basin-depth ((?c SITE)) :-> ?n :documentation "The basin depth for the Campbell (1997) model. It is related to the 2.5km/s basin depth by the following relation: Campbell-Basin-Depth = 0 if Vs30 >= 400 Campbell-Basin-Depth = Basin-Depth-2.5 if Vs30 < 400" :axioms (and #|(=> (and (site ?s) (>= (vs30-of-soil ?s) (units 400 "m/s"))) (campbell-basin-depth ?s (units 0 "m"))) (=> (and (site ?s) (< (vs30-of-soil ?s) (units 400 "m/s"))) (campbell-basin-depth ?s (basin-depth-2.5 ?s))) |# (=> (and (site ?s) (>= (vs30-of-soil ?s) (units 400 "m/s")) (units 0 "m" ?zero)) (campbell-basin-depth ?s ?zero)) (=> (and (site ?s) (< (vs30-of-soil ?s) (units 400 "m/s")) (basin-depth-2.5 ?s ?depth)) (campbell-basin-depth ?s ?depth)) (site-parameter campbell-basin-depth) (depth-measure campbell-basin-depth) (preferred-unit campbell-basin-depth "km") )) ;;; Site Types (defconcept campbell-1997-firm-soil ((?c SITE)) :documentation "Campbell (1997) site type Firm Soil" :axioms (and (model-site-type campbell-1997 campbell-1997-firm-soil) (pretty-name campbell-1997-firm-soil "Firm-Soil") (model-internal-parameter-name campbell-1997 campbell-1997-firm-soil "Firm-Soil")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 180 "m/s")) (=< (vs30-of-soil ?c) (units 400 "m/s")) (>= (basin-depth-2.5 ?c) (units 100 "m")))) (defconcept campbell-1997-soft-rock ((?c SITE)) :documentation "Campbell (1997) site type Soft Rock" :axioms (and (model-site-type campbell-1997 campbell-1997-soft-rock) (pretty-name campbell-1997-soft-rock "Soft-Rock") (model-internal-parameter-name campbell-1997 campbell-1997-soft-rock "Soft-Rock")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 400 "m/s")) (=< (vs30-of-soil ?c) (units 500 "m/s")))) (defconcept campbell-1997-hard-rock ((?c SITE)) :documentation "Campbell (1997) site type Hard Rock" :axioms (and (model-site-type campbell-1997 campbell-1997-hard-rock) (pretty-name campbell-1997-hard-rock "Hard-Rock") (model-internal-parameter-name campbell-1997 campbell-1997-hard-rock "Hard-Rock")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 500 "m/s")))) ;;; Fault Types (defconcept campbell-1997-reverse-fault ((?c fault)) :documentation "Campbell (1997) fault type Reverse" :axioms (and (model-fault-type campbell-1997 campbell-1997-reverse-fault) (pretty-name campbell-1997-reverse-fault "Reverse") (model-internal-parameter-name campbell-1997 campbell-1997-reverse-fault "Reverse")) :<=> (and (fault ?c) (>= (the-fault-rake ?c) (units 45 "deg")) (=< (the-fault-rake ?c) (units 135 "deg")))) (defconcept campbell-1997-other-fault ((?c fault)) :documentation "Campbell (1997) fault type Other" :axioms (and (model-fault-type campbell-1997 campbell-1997-other-fault) (pretty-name campbell-1997-other-fault "Other") (model-internal-parameter-name campbell-1997 campbell-1997-other-fault "Other")) :<=> (and (fault ?c) (exists ?r (the-fault-rake ?c ?r)) (fail (campbell-1997-reverse-fault ?c)))) (defconcept campbell-1997-unknown-fault ((?c fault)) :documentation "Campbell (1997) fault type Unknown" :axioms (and (model-fault-type campbell-1997 campbell-1997-unknown-fault) (pretty-name campbell-1997-unknown-fault "Unknown") (model-internal-parameter-name campbell-1997 campbell-1997-unknown-fault "Unknown")) :<=> (and (fault ?c) (fail (campbell-1997-reverse-fault ?c)) (fail (campbell-1997-other-fault ?c)))) ;;; Computation Dependencies (assert (model-computation-dependency campbell-1997 probability-of-exceedence campbell-1997-sa (setof distance-seismogenic campbell-basin-depth campbell-site-type-parameter source-moment-magnitude fault-type-parameter standard-deviation-type))) (assert (model-computation-dependency campbell-1997 campbell-1997-sa distance-seismogenic (setof campbell-basin-depth campbell-site-type-parameter source-moment-magnitude fault-type-parameter))) ;;;; ;;;; Campbell & Bozorgnia 2003 ;;;; (deffunction campbell-and-bozorgnia-2003-on-hanging-wall (?s) :-> (?yn YES-OR-NO) :documentation "Whether a particular site being evaluated wrt to a particular fault is considered on the hanging wall of that fault 1.0 if site is within surface projection of rupture, tapering (linearly) to 0.0 at 5 km beyond" :axioms (and (pretty-name campbell-and-bozorgnia-2003-on-hanging-wall "Hanging Wall Param.") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-on-hanging-wall "Hanging Wall Param.") )) (assert (model campbell-and-bozorgnia-2003)) (assert (model-with-categorical-site-parameter campbell-and-bozorgnia-2003)) (assert (model-parameter campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-on-hanging-wall)) (assert (model-parameter-lower-bound campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-on-hanging-wall 0.0)) (assert (model-parameter-upper-bound campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-on-hanging-wall 1.0)) (assert (and (sa campbell-and-bozorgnia-2003-sa) (model-parameter campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-sa) (range-type sa-period campbell-and-bozorgnia-2003-sa (kappa (?x) (member-of ?x (setof (units 0.0 "s") (units 0.05 "s") (units 0.075 "s") (units 0.1 "s") (units 0.15 "s") (units 0.2 "s") (units 0.3 "s") (units 0.4 "s") (units 0.5 "s") (units 0.75 "s") (units 1.0 "s") (units 1.5 "s") (units 2.0 "s") (units 3.0 "s") (units 4.0 "s"))))) (range-type sa-damping campbell-and-bozorgnia-2003-sa 5percent) (range-type parameter-motion-component campbell-and-bozorgnia-2003-sa (kappa (?x) (member-of ?x (setof vertical-component average-horizontal-component)))) )) (assert (and (model-parameter campbell-and-bozorgnia-2003 standard-deviation-type) (range-type standard-deviation-type campbell-and-bozorgnia-2003 (kappa (?x) (member-of ?x (setof "Total (Mag Dependent)" "Total (PGA Dependent)" "None (zero)")))))) (assert (model-parameter campbell-and-bozorgnia-2003 probability-of-exceedence)) (assert (model-distance-parameter campbell-and-bozorgnia-2003 distance-seismogenic)) (assert (model-parameter-preferred-lower-bound campbell-and-bozorgnia-2003 distance-seismogenic (units 3 "km"))) (assert (model-parameter-preferred-upper-bound campbell-and-bozorgnia-2003 distance-seismogenic (units 60 "km"))) (assert (model-magnitude-parameter campbell-and-bozorgnia-2003 source-moment-magnitude)) (assert (model-parameter-preferred-lower-bound campbell-and-bozorgnia-2003 source-moment-magnitude 5.0)) (assert (model-parameter-preferred-upper-bound campbell-and-bozorgnia-2003 source-moment-magnitude 8.0)) (assert (default-categorical-fault-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-other)) (assert (categorical-value-parameter campbell-site-type-parameter)) ;(assert (pretty-name campbell-site-type-parameter "Campbell-2003 Site Type")) (assert (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-site-type-parameter "Campbell-2003 Site Type")) (assert (model-categorical-parameter campbell-and-bozorgnia-2003 campbell-site-type-parameter)) (assert (model-site-parameter campbell-and-bozorgnia-2003 campbell-site-type-parameter)) (assert (model-categorical-parameter campbell-and-bozorgnia-2003 fault-type-parameter)) (assert (model-fault-parameter campbell-and-bozorgnia-2003 fault-type-parameter)) (assert (default-categorical-fault-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-unknown)) ;;; Site Types. Missing "Generic Soil", "Generic Rock", "BC-Boundary" (defconcept campbell-and-bozorgnia-2003-firm-soil ((?c SITE)) :documentation "Campbell & Bozorgnia (2003) site type Firm Soil" :axioms (and (model-site-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-firm-soil) (pretty-name campbell-and-bozorgnia-2003-firm-soil "Firm-Soil") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-firm-soil "Firm-Soil")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 180 "m/s")) (=< (vs30-of-soil ?c) (units 300 "m/s")))) (defconcept campbell-and-bozorgnia-2003-very-firm-soil ((?c SITE)) :documentation "Campbell & Bozorgnia (2003) site type Very Firm Soil" :axioms (and (model-site-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-very-firm-soil) (pretty-name campbell-and-bozorgnia-2003-very-firm-soil "Very-Firm-Soil") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-very-firm-soil "Very-Firm-Soil")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 300 "m/s")) (=< (vs30-of-soil ?c) (units 400 "m/s")))) (defconcept campbell-and-bozorgnia-2003-soft-rock ((?c SITE)) :documentation "Campbell & Bozorgnia (2003) site type Soft Rock" :axioms (and (model-site-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-soft-rock) (pretty-name campbell-and-bozorgnia-2003-soft-rock "Soft-Rock") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-soft-rock "Soft-Rock")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 400 "m/s")) (=< (vs30-of-soil ?c) (units 500 "m/s")))) (defconcept campbell-and-bozorgnia-2003-firm-rock ((?c SITE)) :documentation "Campbell & Bozorgnia (2003) site type Firm Rock" :axioms (and (model-site-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-firm-rock) (pretty-name campbell-and-bozorgnia-2003-firm-rock "Firm-Rock") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-firm-rock "Firm-Rock")) :<=> (and (site ?c) (> (vs30-of-soil ?c) (units 500 "m/s")))) (defconcept campbell-and-bozorgnia-2003-reverse-fault ((?c fault)) :documentation "Campbell and Bozorgnia (2003) fault type Reverse" :axioms (and (model-fault-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-reverse-fault) (pretty-name campbell-and-bozorgnia-2003-reverse-fault "Reverse (dip>45)") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-reverse-fault "Reverse (dip>45)")) :<=> (and (fault ?c) (>= (the-fault-rake ?c) (units 45 "deg")) (=< (the-fault-rake ?c) (units 135 "deg")) (>= (the-fault-dip ?c) (units 45 "deg")))) (defconcept campbell-and-bozorgnia-2003-thrust-fault ((?c fault)) :documentation "Campbell and Bozorgnia (2003) fault type Thrust" :axioms (and (model-fault-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-thrust-fault) (pretty-name campbell-and-bozorgnia-2003-thrust-fault "Thrust (dip<45)") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-thrust-fault "Thrust (dip<45)")) :<=> (and (fault ?c) (>= (the-fault-rake ?c) (units 22.5 "deg")) (=< (the-fault-rake ?c) (units 157.5 "deg")) (< (the-fault-dip ?c) (units 45 "deg")))) (defconcept campbell-and-bozorgnia-2003-other-fault ((?c fault)) :documentation "Campbell and Bozorgnia (2003) fault type Other" :axioms (and (model-fault-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-other-fault) (pretty-name campbell-and-bozorgnia-2003-other-fault "Strike Slip or Normal") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-other-fault "Strike Slip or Normal")) :<=> (and (fault ?c) (exists ?r (the-fault-rake ?c ?r)) (fail (campbell-and-bozorgnia-2003-thrust-fault ?c)) (fail (campbell-and-bozorgnia-2003-reverse-fault ?c)))) (defconcept campbell-and-bozorgnia-2003-unknown-fault ((?c fault)) :documentation "Campbell and Bozorgnia (2003) fault type Unknown" :axioms (and (model-fault-type campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-unknown-fault) (pretty-name campbell-and-bozorgnia-2003-unknown-fault "Unknown") (model-internal-parameter-name campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-unknown-fault "Unknown")) :<=> (and (fault ?c) (fail (campbell-and-bozorgnia-2003-thrust-fault ?c)) (fail (campbell-and-bozorgnia-2003-reverse-fault ?c)) (fail (campbell-and-bozorgnia-2003-other-fault ?c)))) ;;; Computation Dependencies (assert (model-computation-dependency campbell-and-bozorgnia-2003 probability-of-exceedence campbell-and-bozorgnia-2003-sa (setof distance-seismogenic campbell-site-type-parameter source-moment-magnitude fault-type-parameter campbell-and-bozorgnia-2003-on-hanging-wall standard-deviation-type))) (assert (model-computation-dependency campbell-and-bozorgnia-2003 campbell-and-bozorgnia-2003-sa distance-seismogenic (setof campbell-site-type-parameter source-moment-magnitude fault-type-parameter campbell-and-bozorgnia-2003-on-hanging-wall)))