Parte 8SLU – Si cominciaAnnuncio subito che questa volta non ci saranno algoritmi sconosciuti o procedure “magiche”.
Intanto vediamo cosa cerchiamo. La verifica SLU consisterà nel determinare il dominio di rottura nel piano Mx-My dato un determinato Nd agente sulla sezione.
Tale “fetta di salame” verrà ricavata tramite le equazioni di equilibrio, per punti, posizionando l'asse neutro all'interno della sezione in modo che le risultanti di compressione e di trazione dei vari elementi della sezione diano proprio Nd, e facendo via via ruotare l'asse neutro, in modo da ricavare più punti di tale dominio.
Vedrete comunque che tutti gli algoritmi presentati si riferiranno al una inclinazione ben precisa dell'asse neutro, ovvero asse neutro inclinato di 0 gradi rispetto all'asse delle X.
Perchè la “furbata” proposta consiste nel far ruotare la sezione piuttosto che l'asse neutro.
Ovviamente i vari risultati, ricavati per una rotazione ben precisa della sezione, dovranno essere “ruotati al contrario” affinchè si abbiano valori congruenti.
Perchè questa scelta?
E' semplicemente un modo di semplificare le equazioni di geometria analitica che altrimenti dovremmo gestire. Ad esempio per convenzione definiremo la parte compressa della sezione tutta quella che sta al di sopra dell'asse neutro. E quindi un vertice di sezione sarà nella zona compressa se la sua coordinata y è maggiore della coordinata yn dell'asse neutro. Così come sarà facile trovare il vertice compresso più distante dall'asse neutro.
Attenzione nulla che non possa risolversi anche nel caso “storto”, ma certamente con qualche complicazione in più che invece con questa impostazione potremo risparmiarci.
In pratica, una volta posizionato l'asse neutro in una posizione di partenza, procederò tagliando in strisce orizzontali, abbastanza sottili, la parte compressa della sezione. Per ogni striscia dovrò determinare il dN che essa è in grado di esprimere. La sommatoria di tutti questi dN oltre alla ?Na espressa dalle armature compresse mi definisce una N complessiva della parte compressa della sezione. Ricavata la Na delle armature tese, il semplice N-Na mi indica un valore di Nd che la sezione nel suo complesso è in grado di esprimere. Se questo Nd è quello dato, allora la posizione dell'asse neutro è corretta, e posso ricavare, sapendo le posizioni della risultante di N compressa e Na tesa, i momenti Mx ed My di rottura corrispondenti (rispetto al baricentro della sezione omogenea), altrimenti si deve riposizionare l'asse neutro e procedere per iterazioni successive.
Una semplice figura, come questa qui sotto vale più di 100 parole. Le crocette in rosso scuro (posizionate a casaccio, lo ammetto) sarebbero le risultanti degli sforzi di compressione e di trazione.
Quindi è chiaro, dobbiamo concentrarci sul calcolo di risultanti di compressione. Tutto il resto sono iterazioni che per adesso non ci interesseranno.
Vediamo un po' cosa serve intanto, data una posizione ben definita dell'asse neutro, per calcolare la N risultante complessiva tra parte compressa e tesa:
1) Una configurazione deformata di “rottura” della sezione;
2) Larghezza di ogni singola striscia in cui si suddivide la parte compressa della sezione;
3) Legge costitutiva del calcestruzzo per ricavare il dN di ogni striscia;
4) Legge costitutiva dell'acciaio per le armature tese e compresse;
Circa il primo punto la Norma ci viene abbastanza incontro, semplificando il problema (che in ogni caso non era nemmeno così complesso anche prima), se per l'acciaio si utilizza la legge costitutiva “elastica-perfettamente plastica indefinita”, riportata nella figura 4.1.2-(b) del §4.1.2.1.2.3
Poiché utilizzando questo diagramma non si ha alcuna limitazione alla massima deformazione dell'acciaio, questo implica che alla massima deformazione di rottura si arriva sempre lato calcestruzzo, e per quest'ultimo si utilizzerà il classico diagramma parabola rettangolo riportato nella figura 4.1.1-(a) del § 4.1.2.1.2.2 che prevede una deformazione massima a rottura del calcestruzzo compresso pari al 3.5 per mille.
Ovvero, il vertice con la ordinata maggiore (ymax) di tutta la sezione avrà sempre una deformazione pari al 3.5 per mille. Con semplice proporzione tra triangoli si può definire la deformazione insita in ogni singola striscia della parte compressa:
def(y)=0.0035*(y-yn)/(ymax-yn)
dove y è la generica ordinata della fibra di indagine (con y>yn visto che parliamo di parti compresse), e yn la ordinata dell'asse neutro. Anche per le armature vale la stessa espressione, inserendo la ordinata y della barra, con la semplice accortezza che valori positivi di def(Y) indicano compressione nelle barre, valori negativi trazione.
Poiché abbiamo “incapsulato” tra i dati dei poligoni anche il massimo valore di sforzo di compressione (fd) procederò a definire i diagrammi costitutivi dei materiali in maniera adimensionalizzata.
Partiamo con il diagramma parabola-rettangolo del calcestruzzo.
Esso prevede una parte parabolica fino al 2 per mille (0.002) ed una parte orizzontale dal 2 per mille al 3.5 per mille (0.0035). Bene, il nostro diagramma varrà 1 da 0.002 a 0.0035 e sarà una parabola che passa per l'origine, passa per il punto 0.002,1 ed infine avrà tangente orizzontale in quest'ultimo punto.
Visto che l'equazione di una parabola è y=ax²+bx+c
Il passaggio per il punto di coordinate 0,0 implica che c=0, invece le altre due condizioni portano al sistema:
1=a*0.002²+b*0.002
0=2*a*0.002+b
Che risolto da i risultati:
a=-250000
b=1000
Allora una funzione che avendo in ingresso il valore di deformazione della singola striscia restituisca in uscita il valore alfa del diagramma parabola rettangolo che moltiplicato per fd sia proprio la tensione di lavoro desiderata, più o meno è scritta così:
float parabola_rett(float); /* Prototipo della funzione */
float parabola_rett(float def)
{
float alfa;
if (def>=0.002) alfa=1.0;
else alfa=-250000*def*def+1000*def;
return (alfa);
}
Ovviamente ho lasciato all'interno della funzione i valori di 0.002, ecc. In effetti ci si potrebbe “divertire” a rendere ancor più parametrica la funzione dando la possibilità di modificare lo 0.002, così come d'altra parte prevede la norma per cls con classe di resistenza superiore al C50/60 (e a dire il vero in questo caso anche la deformazione ultima del cls, invece del 3.5 per mille diventa altro). Ma per il momento lasciamo le cose “semplici”. In ogni caso la variazione ad un “mattone” non porta affatto a far cadere tutta la costruzione.
La analoga funzione per l'acciaio sarebbe:
float elast_plast_indef(float); /* Prototipo della funzione */
float elast_plast_indef(float def)
{
float alfa;
if (def>=fyd/Ea) alfa=1.0;
else alfa=def*Ea/fyd;
return(alfa);
}
Dove Ea ed fyd sono delle variabili globali, rispettivamente modulo elastico dell'acciaio (tipicamente 2.100.000 daN/cm²) e fyd resistenza caratteristica a trazione/compressione dell'acciaio (tipicamente 3913 daN/cm²).
Insomma se lo stato deformativo è definito, e lo è, lo sono anche le tensioni agenti sul materiale ad ogni fibra.
Diciamo allora che per la parte armatura non ci sono difficoltà di sorta a calcolare lo sforzo normale ultimo che esse generano nella sezione.
Per i poligoni invece a parte la conoscenza dello stato deformativo, serve determinare la larghezza di ogni singola striscia.
E qui bisognerà scomodare un minimo di geometria analitica, vista la geometria generica dei poligoni che si possono incontrare.
Ne parlerò nella prossima parte. Anticipo però questa figura, per far capire quali casi devo essere in grado di gestire.
Ovviamente lo “spessore” di ogni singola striscia potrà essere un parametro fisso, interno al programma, oppure una variabile che l'Utente potrà modificare a proprio giudizio.