dim u0 as doubledim u0 as doubledim u0 as doubledim u0 as doubledim u0 as doubledim u0 as doubledim...
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