dim u0 as doubledim u0 as doubledim u0 as doubledim u0 as doubledim u0 as doubledim u0 as doubledim...

Upload: erick-alex-japay-robles

Post on 07-Jul-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    1/7

    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, RR1 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, Fila3As Double, Fila4 As Double, Fila5 As Double, Fila6 As Double, Fila7 As Double

    Dim 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 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")

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    2/7

    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

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    3/7

     

    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

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    4/7

     

    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

    Fila1 = Fila1 + 1

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    5/7

      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

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    6/7

     

    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

  • 8/18/2019 Dim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0 as DoubleDim u0…

    7/7

     

    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