Download - 2222222222222222222

Transcript
Page 1: 2222222222222222222

Dim u0 As Double, u°0 As Double, u°°0 As Double, u1 As Double, u°1 As Double, u°°1 As Double, fs0 As Double, fs1 As Double, fy As DoubleDim KT0 As Double, KT1 As Double, KKT As Double, pp1 As Double, p1 As Double, RR1 As Double, a1 As Double, a2 As Double, a3 As DoubleDim du As Double, dt As Double, landa As Double, beta As Double, Fila1 As Double, Fila2 As Double, Fila3 As Double, Fila4 As Double, Fila5 As Double, Fila6 As Double, Fila7 As DoubleDim i As Double, io As Double, j As Double, X As Double, m As Double, Cporc As Double, T0 As Double, Tmax As Double, dte As DoubleDim FilaV1 As Integer, FilaV2 As Integer, f As Double, Filafsduc As DoubleDim ductilidad As DoubleDim filamu1 As DoubleDim filamu2 As DoubleDim fynorm As DoubleDim fynorm1 As DoubleDim fynorm2 As DoubleDim logductilidad1 As DoubleDim logductilidad2 As DoubleDim b As Double

Dim filafynorm As Double

ductilidad = Range("z20")

Fila6 = 25Fila7 = 25

filafynorm = 25

T0 = Range("G13")Tmax = Range("G16")dte = Range("G15")

For T = T0 To Tmax Step dte

Fila5 = 25 ActiveSheet.Range("V18").Value = T filamu2 = 223 Filafsduc = 25 b = Range("Y223") For f = 1 To 200 Step 1 u0 = Range("C12") u°0 = Range("C13") u°°0 = Range("C14") fs0 = Range("C8") fy = Cells(Filafsduc, 23) landa = Range("F18") beta = Range("F19") dt = Range("C15") Fila1 = 24 Fila2 = 24 Fila3 = 24 Fila4 = 25

Page 2: 2222222222222222222

FilaV1 = 25 FilaV2 = 24 io = Range("G7") j = Range("G8") p1 = Range("E25") Cporc = Range("G14") m = Range("C11") KT0 = m * (4 * 3.14 ^ 2) / T ^ 2 a1 = m / (beta * (dt) ^ 2) + landa * (Cporc * 4 * 3.14 * m / T) / (beta * dt) a2 = m / (beta * dt) + ((landa / beta) - 1) * (Cporc * 4 * 3.14 * m / T) a3 = m * (1 / (2 * beta) - 1) + dt * (landa / (2 * beta) - 1) * (Cporc * 4 * 3.14 * m / T) For i = io To j Step 1 u1 = u0 fs1 = fs0 KT1 = KT0 pp1 = p1 + a1 * u0 + a2 * u°0 + a3 * u°°0 RR1 = pp1 - fs1 - a1 * u1 Do While (Abs(pp1 - fs1 - a1 * u1) >= 0.001) KKT = KT1 + a1 du = (pp1 - fs1 - a1 * u1) / KKT u1 = u1 + du fs1 = fs1 + KT0 * du If fs1 < 0 Then If (fs1 < -fy) Then fs1 = -fy KT1 = 0 End If End If If fs1 > 0 Then If (fs1 > fy) Then fs1 = fy KT1 = 0 End If End If Loop u°1 = landa * (u1 - u0) / (beta * dt) + (1 - landa / beta) * u°0 + dt * (1 - landa / (2 * beta)) * u°°0 u°°1 = (u1 - u0) / (beta * dt ^ 2) - u°0 / (beta * dt) - (1 / (2 * beta) - 1) * u°°0

Page 3: 2222222222222222222

Fila1 = Fila1 + 1 Fila2 = Fila2 + 1 Fila3 = Fila3 + 1 Fila4 = Fila4 + 1 ActiveSheet.Cells(Fila1, 6).Value = u1 ActiveSheet.Cells(Fila2, 7).Value = u°1 ActiveSheet.Cells(Fila3, 8).Value = u°°1 V1 = Cells(FilaV1, 7) V2 = Cells(FilaV2, 7) If fs1 = fy Or fs1 = -fy Then If V1 > 0 And V2 < 0 Then KT1 = m * (4 * 3.14 ^ 2) / T ^ 2 End If If V1 < 0 And V2 > 0 Then KT1 = m * (4 * 3.14 ^ 2) / T ^ 2 End If End If FilaV1 = FilaV1 + 1 FilaV2 = FilaV2 + 1 u0 = u1 u°0 = u°1 u°°0 = u°°1 fs0 = fs1 KT0 = KT1 p1 = Cells(Fila4, 5) Next i Cells(Fila5, 24) = WorksheetFunction.Max(Range("F24:F100000")) ActiveSheet.Cells(Fila6, 12).Value = Cells(Fila5, 10) * 2 * 3.14 / T ActiveSheet.Cells(Fila7, 14).Value = Cells(Fila5, 10) * (2 * 3.14 / T) ^ 2 Fila5 = Fila5 + 1 Fila6 = Fila6 + 1 Fila7 = Fila7 + 1 Filafsduc = Filafsduc + 1 Next f Do While ductilidad > b filamu2 = filamu2 - 1 b = Cells(filamu2, 25) Loop filamu1 = filamu2 + 1

Page 4: 2222222222222222222

fynorm1 = Cells(filamu1, 22)fynorm2 = Cells(filamu2, 22)logductilidad1 = Cells(filamu1, 26)logductilidad2 = Cells(filamu2, 26) fynorm = fynorm1 + ((Log(ductilidad) / Log(10)) - logductilidad1) * (fynorm2 - fynorm1) / (logductilidad2 - logductilidad1)

ActiveSheet.Cells(filafynorm, 28).Value = fynorm filafynorm = filafynorm + 1

Next T


Top Related