Il Bar dell'Ingegneria

VerSezSLU

« Older   Newer »
 
  Share  
.
  1. afazio
        +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,165
    Reputation
    +294

    Status
    Offline
    Ecco adesso la funzione che per fissato valore del parametro x (posizione dell'asse neutro), determina il Mrd ed Nrd (ciè il punto sul dominio di rottura.

    CODICE
    Public Function DominioRotturaRett(B As Double, H As Double, c As Double, _
                                     AfInF As Double, AfSup As Double, AfParete As Double, _
                                     fCd As Double, fyd As Double, _
                                     x As Double, flag As Integer)
                                     
    ' Punto_del_dominio si appoggia alle funzioni
    ' CalcEpsilon_rottura, SigmaC, SigmaS
    ' messe a disposizione da "ing. D.Cattivelli (docholly@infinito.it)" nel suo file CNM.xls
                                   
    ' la funzione calcola lo sforzo normale e il momento flettente
    ' caratterizzanti un punto del dominio di rottura. Il punto e' definito
    ' attraverso il parametro x, variabile tra 0 e 5 (per flessione che tende le fibre inferiori)
    ' e da 5 a 10 (per flessione che tende le fibre superiori), che rappresenta
    ' la posizione all'interno del campo di rottura
    '
    ' input:
    ' dimensioni in [mm], aree di ferro in [mm²], resistenze in [MPa]
    ' La funzione restituisce valori diversi in base al parametro flag
    ' flag = 1, restituisce Nrd in [N]
    ' flag = 2, restituisce Mrd in [N*mm]


    Dim diVisioni As Integer ' numero di strisce in cui si suddivide la sezione
    Dim count As Integer


    Dim yg As Double 'distanza del baricentro dal bordo superiore
    Dim y As Double ' distanza del punto generico rispetto al bordo superiore
    Dim z As Double ' variabile di appoggio per le deformazioni
    Dim w As Double ' variabile di appoggio per le tensioni

    Dim N_dominio As Double
    Dim M_dominio As Double
    yg = H / 2
    diVisioni = 100 ' variare questa variabile per aumentare o diminuire la precisione di calcolo

    ' parte relativa al calcestruzzo
    For count = 1 To diVisioni
     y = (count - 1 / 2) * H / diVisioni
     z = CalcEpsilon_rottura(H, c, y, x)
     w = SigmaC(z, fCd, 1)
     N_dominio = N_dominio + w * B * H / diVisioni
     M_dominio = M_dominio + w * B * H / diVisioni * (y - yg)
    Next

    ' acciaio superiore
     y = c
     z = CalcEpsilon_rottura(H, c, y, x)
     w = SigmaS(z, fyd, 1)
     N_dominio = N_dominio + w * AfSup
     M_dominio = M_dominio + w * AfSup * (y - yg)
     
    ' acciaio inferiore
     y = H - c
     z = CalcEpsilon_rottura(H, c, y, x)
     w = SigmaS(z, fyd, 1)
     N_dominio = N_dominio + w * AfInF
     M_dominio = M_dominio + w * AfInF * (y - yg)

    ' ferro di parete
     y = H / 2
     z = CalcEpsilon_rottura(H, c, y, x)
     w = SigmaS(z, fyd, 1)
     N_dominio = N_dominio + w * AfParete
     M_dominio = M_dominio + w * AfParete * (y - yg)

    Select Case flag
       Case 1
           DominioRotturaRett = N_dominio
       Case 2
           DominioRotturaRett = M_dominio
    End Select

    End Function


    La funzione è abbastanza commentata ed è di semplice lettura.

    L'insieme delle quattro funzioni fin qui presentate è sufficiente allo scopo del tracciamento del dominio di rottura.
    Basta creare una tabella in cui nella prima colonna si fa variare la x a passo opportuno da 0 a 10, una seconda colonna in cui si richiama la funzione testè scritta calcolata per il valore x della prima colonna e per flag = 1, ed una terza colonna con la stessa funzione ma per flag=2. Naturalmente la funzione dovrà essere completata coi restanti dati di sezione, armatura e resistenza dei materiali.

    Diagrammando le due colonne che rappresentano Nrd ed Mrd si ottiene l'intero dominio di rottura.

    Notare il richiamo alla funzione che calcola la deformazione.

    Per esempio nella parte relativa al cls:

    - la sezione viene divisa in un numero fissato di strisce uguali
    - per ciascuna striscia viene determinata l’area
    - per ciascuna striscia viene determinata la sua posizione rispetto al bordo compresso
    - per ciascuna striscia ed in funzione della sua posizione viene determinata la deformazione
    - nota la deformazione viene determinato il valore della tenzione
    - nota la tensione si determina il contributo della striscia allo sforzo normale totale ed al momento flettente totale

    Stessa cosa avviene per la parte relativa alle armature.

    Pertanto chi volesse estendere questa funzione a forme di sezioni diverse da quella rettangolare, non deve far altro che agire proprio in queste due parti di codici.
    E' proprio in questa funzione che, volendo, si può introdurre un maggior numero di livelli intermedi di armatura , ma tenere presente che poi necessita modificare l'intestazione della funzione in modo da poter passare alla stessa i dati relativi ai nuovi livelli di armatura.
     
    Top
    .
111 replies since 18/1/2014, 19:57   10043 views
  Share  
.