Author Topic: Funzione confinamento  (Read 3424 times)

0 Members and 1 Guest are viewing this topic.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Funzione confinamento
« on: 01 February , 2010, 14:19:19 PM »
La avevo postata su ing.forum
l'hanno seguita in pochi (forse solo Magist)

io la ripropongo cosiderato che il tema piu caldo di questi giorni riguarda proprio la questione del confinamento

Code: [Select]
Public Function Confinamento(B As Double, H As Double, c As Double, _
                                n_St_chiuse As Integer, n_tiRanti As Integer, _
                                dStaffe As Double, pStaffe As Double, dMaxLong As Double, _
                                fCk As Double, fYk As Double, flag As Integer, _
                                Optional aLfa_cc As Double = 0.85, _
                                Optional Gamma_c As Double = 1.5, _
                                Optional gaMma_f As Double = 1.15, _
                                Optional epsC0 As Double = 2 / 1000, _
                                Optional epScU As Double = 3.5 / 1000) As Double
                               
'  Restituisce la tensione di confinamento sigma2 e i valori caratteristici
'  per determinare il legame costitutivo del cls confinato.
'  input:
'  dimensioni in mm
'  tensioni in MPa
'
Dim PI As Double
Dim Alfa_N As Double ' coefficiente dipendente dal numero di ferri long. legati
Dim Alfa_S As Double ' coefficiente dipendente dalla quantita di staffe
Dim Ww As Double     ' rapporto meccanico tra volume staffe e volune di cls confinato
Dim sigma2 As Double ' tensione di confinamento dovuto a staffe e tiranti
Dim fCd As Double
Dim fyd As Double

Dim fckc As Double  ' tensione di picco del cls confinato
Dim fcUc As Double  ' tensione convenzionale di rottura del cls confinato
Dim eps_C0c As Double  ' deformazione cls confinato in corrispondenza del picco
Dim eps_Cuc As Double  ' deformazione ultima del cls confinato

Dim B0 As Double
Dim H0 As Double
Dim Area_conf As Double
Dim voLume_conf
Dim perimStaffe

fCd = aLfa_cc * fCk / Gamma_c
fyd = fYk / gaMma_f
PI = 4 * Atn(1)


B0 = B - 2 * c - dMaxLong
H0 = H - 2 * c - dMaxLong

Area_conf = B0 * H0
voLume_conf = pStaffe * Area_conf
perim_Staffe = 2 * (B + H - 4 * c)

Alfa_N = 1 - 8 / (3 * (4 * n_St_chiuse + 2 * n_tiRanti))
Alfa_S = (1 - pStaffe / (2 * B0)) * (1 - pStaffe / (2 * H0))

Ww = 0.25 * perim_Staffe * PI * dStaffe ^ 2 * fyd / (voLume_conf * fCd)

sigma2 = 0.5 * fCk * Alfa_S * Alfa_N * Ww

If sigma2 <= 0.05 * fCk Then
    fckc = fCk * (1 + 5 * sigma2 / fCk)
Else
    fckc = fCk * (1.125 + 2.5 * sigma2 / fCk)
End If
fcUc = 0.85 * fCk
eps_C0c = epsC0 * (fckc / fCk) ^ 2
eps_Cuc = epScU + 0.2 * sigma2 / fCk
Select Case flag
    Case 1
        Confinamento = Alfa_S
    Case 2
        Confinamento = Alfa_N
    Case 3
        Confinamento = Ww
    Case 4
        Confinamento = sigma2
    Case 5
        Confinamento = fckc
    Case 6
        Confinamento = fcUc
    Case 7
        Confinamento = eps_C0c
    Case 8
        Confinamento = eps_Cuc
    Case Else
        Confinamento = 0

End Select

End Function
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: Funzione confinamento
« Reply #1 on: 01 February , 2010, 14:23:23 PM »
La avevo postata su ing.forum
l'hanno seguita in pochi (forse solo Magist)

io la ripropongo cosiderato che il tema piu caldo di questi giorni riguarda proprio la questione del confinamento

Code: [Select]
Public Function Confinamento(B As Double, H As Double, c As Double, _
                                n_St_chiuse As Integer, n_tiRanti As Integer, _
                                dStaffe As Double, pStaffe As Double, dMaxLong As Double, _
                                fCk As Double, fYk As Double, flag As Integer, _
                                Optional aLfa_cc As Double = 0.85, _
                                Optional Gamma_c As Double = 1.5, _
                                Optional gaMma_f As Double = 1.15, _
                                Optional epsC0 As Double = 2 / 1000, _
                                Optional epScU As Double = 3.5 / 1000) As Double
                               
'  Restituisce la tensione di confinamento sigma2 e i valori caratteristici
'  per determinare il legame costitutivo del cls confinato.
'  input:
'  dimensioni in mm
'  tensioni in MPa
'
Dim PI As Double
Dim Alfa_N As Double ' coefficiente dipendente dal numero di ferri long. legati
Dim Alfa_S As Double ' coefficiente dipendente dalla quantita di staffe
Dim Ww As Double     ' rapporto meccanico tra volume staffe e volune di cls confinato
Dim sigma2 As Double ' tensione di confinamento dovuto a staffe e tiranti
Dim fCd As Double
Dim fyd As Double

Dim fckc As Double  ' tensione di picco del cls confinato
Dim fcUc As Double  ' tensione convenzionale di rottura del cls confinato
Dim eps_C0c As Double  ' deformazione cls confinato in corrispondenza del picco
Dim eps_Cuc As Double  ' deformazione ultima del cls confinato

Dim B0 As Double
Dim H0 As Double
Dim Area_conf As Double
Dim voLume_conf
Dim perimStaffe

fCd = aLfa_cc * fCk / Gamma_c
fyd = fYk / gaMma_f
PI = 4 * Atn(1)


B0 = B - 2 * c - dMaxLong
H0 = H - 2 * c - dMaxLong

Area_conf = B0 * H0
voLume_conf = pStaffe * Area_conf
perim_Staffe = 2 * (B + H - 4 * c)

Alfa_N = 1 - 8 / (3 * (4 * n_St_chiuse + 2 * n_tiRanti))
Alfa_S = (1 - pStaffe / (2 * B0)) * (1 - pStaffe / (2 * H0))

Ww = 0.25 * perim_Staffe * PI * dStaffe ^ 2 * fyd / (voLume_conf * fCd)

sigma2 = 0.5 * fCk * Alfa_S * Alfa_N * Ww

If sigma2 <= 0.05 * fCk Then
    fckc = fCk * (1 + 5 * sigma2 / fCk)
Else
    fckc = fCk * (1.125 + 2.5 * sigma2 / fCk)
End If
fcUc = 0.85 * fCk
eps_C0c = epsC0 * (fckc / fCk) ^ 2
eps_Cuc = epScU + 0.2 * sigma2 / fCk
Select Case flag
    Case 1
        Confinamento = Alfa_S
    Case 2
        Confinamento = Alfa_N
    Case 3
        Confinamento = Ww
    Case 4
        Confinamento = sigma2
    Case 5
        Confinamento = fckc
    Case 6
        Confinamento = fcUc
    Case 7
        Confinamento = eps_C0c
    Case 8
        Confinamento = eps_Cuc
    Case Else
        Confinamento = 0

End Select

End Function

ed ecco la videata con l'elenco ed il significato dei flag

« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: Funzione confinamento
« Reply #2 on: 01 February , 2010, 14:31:37 PM »
La avevo postata su ing.forum
l'hanno seguita in pochi (forse solo Magist)

io la ripropongo cosiderato che il tema piu caldo di questi giorni riguarda proprio la questione del confinamento

Code: [Select]
Public Function Confinamento(B As Double, H As Double, c As Double, _
                                n_St_chiuse As Integer, n_tiRanti As Integer, _
                                dStaffe As Double, pStaffe As Double, dMaxLong As Double, _
                                fCk As Double, fYk As Double, flag As Integer, _
                                Optional aLfa_cc As Double = 0.85, _
                                Optional Gamma_c As Double = 1.5, _
                                Optional gaMma_f As Double = 1.15, _
                                Optional epsC0 As Double = 2 / 1000, _
                                Optional epScU As Double = 3.5 / 1000) As Double
                               
'  Restituisce la tensione di confinamento sigma2 e i valori caratteristici
'  per determinare il legame costitutivo del cls confinato.
'  input:
'  dimensioni in mm
'  tensioni in MPa
'
Dim PI As Double
Dim Alfa_N As Double ' coefficiente dipendente dal numero di ferri long. legati
Dim Alfa_S As Double ' coefficiente dipendente dalla quantita di staffe
Dim Ww As Double     ' rapporto meccanico tra volume staffe e volune di cls confinato
Dim sigma2 As Double ' tensione di confinamento dovuto a staffe e tiranti
Dim fCd As Double
Dim fyd As Double

Dim fckc As Double  ' tensione di picco del cls confinato
Dim fcUc As Double  ' tensione convenzionale di rottura del cls confinato
Dim eps_C0c As Double  ' deformazione cls confinato in corrispondenza del picco
Dim eps_Cuc As Double  ' deformazione ultima del cls confinato

Dim B0 As Double
Dim H0 As Double
Dim Area_conf As Double
Dim voLume_conf
Dim perimStaffe

fCd = aLfa_cc * fCk / Gamma_c
fyd = fYk / gaMma_f
PI = 4 * Atn(1)


B0 = B - 2 * c - dMaxLong
H0 = H - 2 * c - dMaxLong

Area_conf = B0 * H0
voLume_conf = pStaffe * Area_conf
perim_Staffe = 2 * (B + H - 4 * c)

Alfa_N = 1 - 8 / (3 * (4 * n_St_chiuse + 2 * n_tiRanti))
Alfa_S = (1 - pStaffe / (2 * B0)) * (1 - pStaffe / (2 * H0))

Ww = 0.25 * perim_Staffe * PI * dStaffe ^ 2 * fyd / (voLume_conf * fCd)

sigma2 = 0.5 * fCk * Alfa_S * Alfa_N * Ww

If sigma2 <= 0.05 * fCk Then
    fckc = fCk * (1 + 5 * sigma2 / fCk)
Else
    fckc = fCk * (1.125 + 2.5 * sigma2 / fCk)
End If
fcUc = 0.85 * fCk
eps_C0c = epsC0 * (fckc / fCk) ^ 2
eps_Cuc = epScU + 0.2 * sigma2 / fCk
Select Case flag
    Case 1
        Confinamento = Alfa_S
    Case 2
        Confinamento = Alfa_N
    Case 3
        Confinamento = Ww
    Case 4
        Confinamento = sigma2
    Case 5
        Confinamento = fckc
    Case 6
        Confinamento = fcUc
    Case 7
        Confinamento = eps_C0c
    Case 8
        Confinamento = eps_Cuc
    Case Else
        Confinamento = 0

End Select

End Function

Nota:
Per implementare questa funzione nel vostro excel, basta aprire un nuovo file
oppure il file dove tenete le vostre funzioni personalizzate
andate nello spazio programmazione (ALT+F11 se avete excel2007)
create un nuovo modulo
copiate ed incollate il codice su riportato
tornate su excel e vi ritroverete la funzione confinamento
quandio inserite una funzione
La troverete tra le funzioni definite dall'utente.


« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24