
Covers dimensions, initial imperfections, and eccentricities.
Unlike prescriptive codes that tell you "what to do," the JCSS Model Code tells you "how to think probabilistically." It provides stochastic models for:
To understand the value of the document, one must look at its five primary pillars:
class JCSSModelCode: def __init__(self, input_json): self.ls = input_json["limit_state"] self.ref_period = input_json["reference_period_years"] self.cc = input_json["consequence_class"] self.vars = input_json["variables"] self.corr = input_json.get("correlations", []) def get_distribution(self, var_name, nominal): """Return scipy distribution based on JCSS Model Code.""" model = self.vars[var_name]["jcss_model"] if model == "steel_yield_strength": mean = nominal * 1.05 cov = 0.08 scale = mean * np.sqrt(np.log(1 + cov**2)) shape = np.sqrt(np.log(1 + cov**2)) return stats.lognorm(s=shape, scale=mean) elif model == "imposed_load_office_50yr_max": # Gumbel parameters from JCSS: mu, beta mu = nominal * 0.6 # example beta = nominal * 0.2 return stats.gumbel_r(loc=mu, scale=beta) # ... others else: return stats.norm(loc=nominal, scale=nominal*0.10)
The JCSS Model Code is primarily used as a "background document" for standard developers and advanced practitioners. JCSS Probabilistic Model Code Overview - Scribd