/* * File: envelope.c * * MATLAB Coder version : 2.8 * C/C++ source code generated on : 03-Aug-2016 03:45:50 */ /* Include Files */ #include "rt_nonfinite.h" #include "envelope.h" /* Function Definitions */ /* * ENVELOPE Summary of this function goes here * Detailed explanation goes here * Arguments : double T1dej * double agC * double Rls * double mi * double sfth * double S * double Tb * double Tc * double Td * double *F11 * double *F12 * double *F13 * double *U11 * double *U12 * double *U13 * double *UNC * double *FNC * double *Sy * double *mass * Return Type : void */ void envelope(double T1dej, double agC, double Rls, double mi, double sfth, double S, double Tb, double Tc, double Td, double *F11, double *F12, double *F13, double *U11, double *U12, double *U13, double *UNC, double *FNC, double *Sy, double *mass) { double y; double Saec8NC; y = agC / (Rls * S * 1.3); /* izracuna elasticni spekter po EC8 */ /* [Sae Sde]=EC8spec(T,ag,S,Tb,Tc,Td,ceta) */ /* Sae -spektralni pospe�ek v g */ /* Sde -spektralni pomik v m */ /* ceta v % */ /* EC8 - tip spektra 1 */ /* Tip tal S TB (s) TC (s) TD (s) */ /* A 1,0 0,15 0,4 2,0 */ /* B 1,2 0,15 0,5 2,0 */ /* C 1,15 0,20 0,6 2,0 */ /* D 1,35 0,20 0,8 2,0 */ /* E 1,4 0,15 0,5 2,0 */ /* EC8 - nacionalni dodatek */ /* Tip tal S TB (s) TC (s) TD (s) */ /* A 1,0 0,10 0,4 2,0 */ /* B 1,2 0,15 0,5 2,0 */ /* C 1,15 0,20 0,6 2,0 */ /* D 1,35 0,20 0,8 2,0 */ /* E 1,7 0,10 0,4 2,0 */ /* */ /* */ /* Referenced manuscripts: */ /* */ /* Dolsek M. (2010). Development of computing environment for the seismic */ /* performance assessment of reinforced concrete frames by using simplified */ /* nonlinear models. Bulletin of Earthquake Engineering (Published online */ /* 16 May 2010), DOI: 10.1007/s10518-010-9184-8. */ /* */ /* Contact: mdolsek@ikpir.fgg.uni-lj.si */ /* */ /* Copyright (C) 2010 Matjaz Dolsek */ /* */ /* This program is free software; you can redistribute it and/or */ /* modify it under the terms of the GNU General Public License */ /* as published by the Free Software Foundation, version 2. */ /* This program is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ /* GNU General Public License for more details. */ if ((T1dej >= 0.0) && (T1dej <= Tb)) { Saec8NC = y * S * (1.0 + T1dej / Tb * 1.5); } else if ((T1dej > Tb) && (T1dej <= Tc)) { Saec8NC = y * S * 2.5; } else if ((T1dej > Tc) && (T1dej <= Td)) { Saec8NC = y * S * 2.5 * Tc / T1dej; } else if ((T1dej > Td) && (T1dej <= 4.0)) { Saec8NC = y * S * 2.5 * (Tc * Td) / (T1dej * T1dej); } else { Saec8NC = 0.0; } if (T1dej < Tc) { *Sy = Saec8NC / (1.0 + (mi - 1.0) * T1dej / Tc); } else { *Sy = Saec8NC / mi; } if (*Sy >= 1.0) { *mass = 800.0; } else if (*Sy >= 0.8) { *mass = 1000.0; } else if (*Sy >= 0.6) { *mass = 1200.0; } else if (*Sy >= 0.4) { *mass = 1400.0; } else { *mass = 1800.0; } *F11 = *Sy * 9.81 * *mass; y = T1dej / 6.2831853071795862; *U11 = y * y * *F11 / *mass; *F12 = 1.01 * *F11; *F13 = 0.001 * *F12; *UNC = *U11 * mi; *FNC = 0.8 * *F12; *U12 = *UNC * (*F12 - *F13) / (((*F12 - *F13) - *F12 * (1.0 - sfth)) + *FNC * (1.0 - sfth)); *U13 = *U12 * sfth; } /* * File trailer for envelope.c * * [EOF] */