2222222222222222222

4
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 Double Dim KT0 As Double, KT1 As Double, KKT As Double, pp1 As Double, p1 As Double, RR 1 As Double, a1 As Double, a2 As Double, a3 As Double Dim 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 D ouble, Fila7 As Double Dim i As Double, io As Double, j As Double, X As Double, m As Double, Cporc As D ouble, T0 As Double, Tmax As Double, dte As Double Dim FilaV1 As Integer, FilaV2 As Integer, f As Double, Filafsduc As Double Dim ductilidad As Double Dim filamu1 As Double Dim filamu2 As Double Dim fynorm As Double Dim fynorm1 As Double Dim fynorm2 As Double Dim logductilidad1 As Double Dim logductilidad2 As Double Dim b As Double Dim filafynorm As Double ductilidad = Range("z20") Fila6 = 25 Fila7 = 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

Upload: erick-alex-japay-robles

Post on 07-Jul-2016

212 views

Category:

Documents


0 download

DESCRIPTION

222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

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