Author Topic: Per Afazio circa VerSezSLU06.xls e settaggio epsSmax  (Read 10505 times)

0 Members and 3 Guests are viewing this topic.

Offline quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« on: 27 April , 2011, 16:04:23 PM »
Salute ad Afazio e a tutti gli utenti del citato foglio sviluppato a partire dalle librerie  di DocHolly (Ing. Cattivelli).
La domanda riguarda il settaggio di default per epsSmax = 10/1000.
Vorrei sapere per quale ragione è stato scelto di conservare tale (antico) valore al posto del recente 67.5/1000.
Temo che tutto nasca dallo sviluppo madre di DocHolly che era impostato sui vecchi SLU ex DM96.

Possibile che sostituendo epsSmax As Double = 67.5/1000 succeda un disastro?
 :mmm:

Code: [Select]
Public Function SigmaC(eps As Double, sigma_max As Double, forma As Integer, _
                                Optional Emodulus As Double = 0#, _
                                Optional epsSmax As Double = 0.01, _
                                Optional epsCmax As Double = 0.0035, _
                                Optional epsCrif As Double = 0.002) As Double
'Restituisce la tensione del calcestruzzo corrispondente alla deformazione epsilon data
'Parametri:
'   eps = deformazione epsilon di cui calcolare la tensione sigma
'   sigma_max = tensione massima (MPa)
'   forma = parametro di forma del diagramma:
'           forma = 1 => parabola-rettangolo EC2
'           forma = 2 => perfettamente elastico lineare per compressione (il modulo di elasticità è definito da epsCmax)
'           forma = 3 => elasto-plastico (il modulo di elasticità se non definito è calcolato da epsCrif)
'   Emodulus = modulo di elasticità (necessario per forma pari a ?) (MPa)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

If forma = 1 Then
    Select Case eps
        Case -epsCmax To -epsCrif
            SigmaC = -sigma_max
        Case -epsCrif To 0
            SigmaC = -sigma_max * (1 - (1 - Abs(eps) / epsCrif) ^ 2) 'secondo EC2
        Case Else
            SigmaC = 0#
* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #1 on: 27 April , 2011, 17:07:06 PM »
Salute ad Afazio e a tutti gli utenti del citato foglio sviluppato a partire dalle librerie  di DocHolly (Ing. Cattivelli).
La domanda riguarda il settaggio di default per epsSmax = 10/1000.
Vorrei sapere per quale ragione è stato scelto di conservare tale (antico) valore al posto del recente 67.5/1000.
Temo che tutto nasca dallo sviluppo madre di DocHolly che era impostato sui vecchi SLU ex DM96.

Possibile che sostituendo epsSmax As Double = 67.5/1000 succeda un disastro?
 :mmm:

Code: [Select]
Public Function SigmaC(eps As Double, sigma_max As Double, forma As Integer, _
                                Optional Emodulus As Double = 0#, _
                                Optional epsSmax As Double = 0.01, _
                                Optional epsCmax As Double = 0.0035, _
                                Optional epsCrif As Double = 0.002) As Double
'Restituisce la tensione del calcestruzzo corrispondente alla deformazione epsilon data
'Parametri:
'   eps = deformazione epsilon di cui calcolare la tensione sigma
'   sigma_max = tensione massima (MPa)
'   forma = parametro di forma del diagramma:
'           forma = 1 => parabola-rettangolo EC2
'           forma = 2 => perfettamente elastico lineare per compressione (il modulo di elasticità è definito da epsCmax)
'           forma = 3 => elasto-plastico (il modulo di elasticità se non definito è calcolato da epsCrif)
'   Emodulus = modulo di elasticità (necessario per forma pari a ?) (MPa)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

If forma = 1 Then
    Select Case eps
        Case -epsCmax To -epsCrif
            SigmaC = -sigma_max
        Case -epsCrif To 0
            SigmaC = -sigma_max * (1 - (1 - Abs(eps) / epsCrif) ^ 2) 'secondo EC2
        Case Else
            SigmaC = 0#

Tu possiedi la versione 06 in cui non avevo ancora apportato la correzione al valore impostato da DocHolly.

In ogni caso, proprio con riferimento alla funzione che hai riportato, il valore di  epsSmax NON SERVE ed infatti in una successiva mia revisione ho tolto quel parametro dalla funzione.

Code: [Select]
Public Function SigmaC(eps As Double, sigmaC_max As Double, forma As Integer, _
                                Optional Emodulus As Double = 0#, _
                                Optional epsCmax As Double = 0.0035, _
                                Optional epsCrif As Double = 0.002) As Double
'Restituisce la tensione del calcestruzzo corrispondente alla deformazione epsilon data
'Parametri:
'   eps = deformazione epsilon di cui calcolare la tensione sigma
'   sigma_max = tensione massima (MPa)
'   forma = parametro di forma del diagramma:
'           forma = 1 => parabola-rettangolo EC2
'           forma = 2 => perfettamente elastico lineare per compressione (il modulo di elasticità è definito da epsCmax)
'           forma = 3 => elasto-plastico (il modulo di elasticità se non definito è calcolato da epsCrif)
'   Emodulus = modulo di elasticità (necessario per forma pari a ?) (MPa)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

If forma = 1 Then
    Select Case eps
        Case -epsCmax To -epsCrif
            SigmaC = -sigmaC_max
        Case -epsCrif To 0
            SigmaC = -sigmaC_max * (1 - (1 - Abs(eps) / epsCrif) ^ 2) 'secondo EC2
        Case Else
            SigmaC = 0#
    End Select
    Exit Function
End If

If forma = 2 Then
    If eps < 0 Then
        SigmaC = eps * (sigmaC_max / epsCmax)
    Else
        SigmaC = 0#
    End If
    Exit Function
End If

If forma = 3 Then
    If (Emodulus = 0 And epsCrif <> 0) Then Emodulus = sigmaC_max / epsCrif
    Select Case eps
        Case -epsCmax To -epsCrif
            SigmaC = -sigmaC_max
        Case -epsCrif To 0
            SigmaC = eps * Emodulus
        Case Else
            SigmaC = 0#
    End Select
    Exit Function
End If

SigmaC = 0#

End Function

Mentre nella omologa funzione che serve per determinare la tensione nell'acciaio ho impostato epsSmax a 67.5 millesimi

Code: [Select]
Public Function SigmaS(eps As Double, sigmaS_max As Double, forma As Integer, _
                                Optional Emodulus As Double = 210000#, _
                                Optional epsSmax As Double = 0.0675) As Double
'Restituisce la tensione del'acciaio corrispondente alla deformazione epsilon data
'Parametri:
'   eps = deformazione epsilon di cui calcolare la tensione sigma
'   sigmaS_max = tensione massima (MPa)
'   forma = parametro di forma del diagramma:
'           forma = 1 => elasto-plastico
'           forma = 2 => perfettamente elastico lineare (il modulo di elasticità è definito da epsSmax)
'           forma = 3 => elasto-plastico incrudente (da sviluppare!)
'   Emodulus = modulo di elasticità (necessario per forma pari a 1) (MPa)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

Dim epsSrif As Double

If Emodulus <> 0 Then
    epsSrif = sigmaS_max / Emodulus
Else
    epsSrif = 0#
End If

If forma = 1 Then
    Select Case eps
        Case -epsSmax To -epsSrif
            SigmaS = -sigmaS_max
        Case -epsSrif To epsSrif
            SigmaS = eps * Emodulus
        Case epsSrif To epsSmax
            SigmaS = sigmaS_max
        Case Else
            SigmaS = 0#
    End Select
    Exit Function
End If

If forma = 2 Then
    SigmaS = eps * (sigmaS_max / epsSmax)
    Exit Function
End If

SigmaS = 0#

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 quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #2 on: 27 April , 2011, 17:14:41 PM »
 :ciau:
Grazie.

PS.
Mi sembra che nel resto del codice adoperi sempre il flag per forma = 1 (parabola rettangolo)
Giusto?
* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #3 on: 27 April , 2011, 17:26:26 PM »
:ciau:
Grazie.

PS.
Mi sembra che nel resto del codice adoperi sempre il flag per forma = 1 (parabola rettangolo)
Giusto?
giusto
« 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 quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #4 on: 27 April , 2011, 18:51:45 PM »
 :mmm:
però...
Code: [Select]
Private Function VariazioneEpsilon(h As Double, dmin As Double, _
                                    di As Double, delta As Double, _
                                    Optional epsSmax As Double = 0.01, _
                                    Optional epsCmax As Double = 0.0035, _
                                    Optional epsCrif As Double = 0.002) As Double
'Restituisce la deformazione limite per il calcolo del dominio MN funzione dei parametri immessi
'   Attenzione nell'uso: valori positivi di epsilon per il cls non hanno alcun senso! Controllare la funzione SigmaC
'Parametri:
'   h=altezza sezione (mm)
'   dmin = copriferro superiore o inferiore (mm)
'   di = distanza della fibra di cui si calcola epsilon dall'estremità superiore della sezione (mm)
'   delta = coefficiente di campo (da 0 a 5 per i momenti positivi che tendono le fibre inferiori,
'   da 5 a 10 per i momenti negativi che tendono le fibre superiori)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

bisognerà che rimpiazzi dove serve
Code: [Select]
Optional epsSmax As Double = 0.01, _con
 
Code: [Select]
Optional epsSmax As Double = 0.0675, _
No?

* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #5 on: 27 April , 2011, 20:27:05 PM »
:mmm:
però...
Code: [Select]
Private Function VariazioneEpsilon(h As Double, dmin As Double, _
                                    di As Double, delta As Double, _
                                    Optional epsSmax As Double = 0.01, _
                                    Optional epsCmax As Double = 0.0035, _
                                    Optional epsCrif As Double = 0.002) As Double
'Restituisce la deformazione limite per il calcolo del dominio MN funzione dei parametri immessi
'   Attenzione nell'uso: valori positivi di epsilon per il cls non hanno alcun senso! Controllare la funzione SigmaC
'Parametri:
'   h=altezza sezione (mm)
'   dmin = copriferro superiore o inferiore (mm)
'   di = distanza della fibra di cui si calcola epsilon dall'estremità superiore della sezione (mm)
'   delta = coefficiente di campo (da 0 a 5 per i momenti positivi che tendono le fibre inferiori,
'   da 5 a 10 per i momenti negativi che tendono le fibre superiori)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

bisognerà che rimpiazzi dove serve
Code: [Select]
Optional epsSmax As Double = 0.01, _con
 
Code: [Select]
Optional epsSmax As Double = 0.0675, _
No?



Forse è meglio che ti passi l'ultima versione?
« 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 pippocrack

  • Semi Esperto
  • **
  • Posts: 51
  • Karma: 3
  • Novizio
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #6 on: 27 April , 2011, 22:24:27 PM »
Tu possiedi la versione 06 in cui non avevo ancora apportato la correzione al valore impostato da DocHolly.

In ogni caso, proprio con riferimento alla funzione che hai riportato, il valore di  epsSmax NON SERVE ed infatti in una successiva mia revisione ho tolto quel parametro dalla funzione.

Code: [Select]
Public Function SigmaC(eps As Double, sigmaC_max As Double, forma As Integer, _
                                Optional Emodulus As Double = 0#, _
                                Optional epsCmax As Double = 0.0035, _
                                Optional epsCrif As Double = 0.002) As Double
'Restituisce la tensione del calcestruzzo corrispondente alla deformazione epsilon data
'Parametri:
'   eps = deformazione epsilon di cui calcolare la tensione sigma
'   sigma_max = tensione massima (MPa)
'   forma = parametro di forma del diagramma:
'           forma = 1 => parabola-rettangolo EC2
'           forma = 2 => perfettamente elastico lineare per compressione (il modulo di elasticità è definito da epsCmax)
'           forma = 3 => elasto-plastico (il modulo di elasticità se non definito è calcolato da epsCrif)
'   Emodulus = modulo di elasticità (necessario per forma pari a ?) (MPa)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

If forma = 1 Then
    Select Case eps
        Case -epsCmax To -epsCrif
            SigmaC = -sigmaC_max
        Case -epsCrif To 0
            SigmaC = -sigmaC_max * (1 - (1 - Abs(eps) / epsCrif) ^ 2) 'secondo EC2
        Case Else
            SigmaC = 0#
    End Select
    Exit Function
End If

If forma = 2 Then
    If eps < 0 Then
        SigmaC = eps * (sigmaC_max / epsCmax)
    Else
        SigmaC = 0#
    End If
    Exit Function
End If

If forma = 3 Then
    If (Emodulus = 0 And epsCrif <> 0) Then Emodulus = sigmaC_max / epsCrif
    Select Case eps
        Case -epsCmax To -epsCrif
            SigmaC = -sigmaC_max
        Case -epsCrif To 0
            SigmaC = eps * Emodulus
        Case Else
            SigmaC = 0#
    End Select
    Exit Function
End If

SigmaC = 0#

End Function

Mentre nella omologa funzione che serve per determinare la tensione nell'acciaio ho impostato epsSmax a 67.5 millesimi

Code: [Select]
Public Function SigmaS(eps As Double, sigmaS_max As Double, forma As Integer, _
                                Optional Emodulus As Double = 210000#, _
                                Optional epsSmax As Double = 0.0675) As Double
'Restituisce la tensione del'acciaio corrispondente alla deformazione epsilon data
'Parametri:
'   eps = deformazione epsilon di cui calcolare la tensione sigma
'   sigmaS_max = tensione massima (MPa)
'   forma = parametro di forma del diagramma:
'           forma = 1 => elasto-plastico
'           forma = 2 => perfettamente elastico lineare (il modulo di elasticità è definito da epsSmax)
'           forma = 3 => elasto-plastico incrudente (da sviluppare!)
'   Emodulus = modulo di elasticità (necessario per forma pari a 1) (MPa)
'   epsSmax = deformazione limite dell'acciaio
'   epsCmax = deformazione limite del cls
'   epsCrif = deformazione limite del cls per compressione semplice

Dim epsSrif As Double

If Emodulus <> 0 Then
    epsSrif = sigmaS_max / Emodulus
Else
    epsSrif = 0#
End If

If forma = 1 Then
    Select Case eps
        Case -epsSmax To -epsSrif
            SigmaS = -sigmaS_max
        Case -epsSrif To epsSrif
            SigmaS = eps * Emodulus
        Case epsSrif To epsSmax
            SigmaS = sigmaS_max
        Case Else
            SigmaS = 0#
    End Select
    Exit Function
End If

If forma = 2 Then
    SigmaS = eps * (sigmaS_max / epsSmax)
    Exit Function
End If

SigmaS = 0#

End Function




Ho notato che hai sostituito il sigma_max, rispettivamente in sigmaC_max e SigmaS_max.
Cambia qualcosa?

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #7 on: 28 April , 2011, 09:11:12 AM »
Ho notato che hai sostituito il sigma_max, rispettivamente in sigmaC_max e SigmaS_max.
Cambia qualcosa?


No
« 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.

ingwilly

  • Guest
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #8 on: 28 April , 2011, 14:19:28 PM »
Forse è meglio che ti passi l'ultima versione?

Io ho la versione 01 che hai postato su ingforum.
Sarebbe possibile rendere pubblica anche questa versione più recente?
Credo che faresti cosa gradita a tutti.

Willy

Massimo.T

  • Guest
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #9 on: 28 April , 2011, 14:24:44 PM »
che io sappia esiste anche la versione 7, visto che ultimamente la politica di Afazio è quella di non dare il file bensì il link al suo box.net non lo posterò.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #10 on: 28 April , 2011, 16:23:04 PM »
Io ho la versione 01 che hai postato su ingforum.
Sarebbe possibile rendere pubblica anche questa versione più recente?
Credo che faresti cosa gradita a tutti.

Willy

Ok Willy. Dammi qualche minuto e carico l'ultimissima versione che e' la 7.03.
A dopo
« 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:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #11 on: 28 April , 2011, 16:50:41 PM »
Ok Willy. Dammi qualche minuto e carico l'ultimissima versione che e' la 7.03.
A dopo

http://www.box.net/shared/u9py6x1nfx
« 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.

ingwilly

  • Guest
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #12 on: 28 April , 2011, 17:10:07 PM »
Grazie.  :ook:

Massimo.T

  • Guest
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #13 on: 28 April , 2011, 18:03:43 PM »
nella versione 8 sarebbe interessante ci fosse anche il momento resistente in direzione trasversale.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re:Per Afazio circa VerSezSLU06.xls e settaggio epsSmax
« Reply #14 on: 28 April , 2011, 19:31:14 PM »
nella versione 8 sarebbe interessante ci fosse anche il momento resistente in direzione trasversale.

Cioè, cosa intendi?
Non è sufficiente ruotare la sezione?
« 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