Ingegneria Edile, Strutturale & Geotecnica > .:C#, Excel, VB e Programmazione:.

Programma di verifica a presso-flessione deviata di sezioni generiche in c.a

(1/27) > >>

zax2010:
Tutto nasce da una mia “pretesa” di oltre una decina di anni fa di riuscire a fare un programma per la verifica a presso-tenso-flessione deviata di sezioni generiche in cemento armato. Oltre dieci anni significa pieno periodo di verifiche alle tensioni ammissibili.

Ovviamente non ci sono riuscito, per mia scarsa conoscenza del linguaggio C, che allora pensavo di meglio padroneggiare, ed anche per la scarsa padronanza dell'interfaccia Windows lato “programmatore”.
Però tutto quanto ho recuperato ed imparato allora non è materiale perduto. Anche oggi le verifiche SLE alle tensioni vanno fatte, anche oggi le verifiche SLE a fessurazione implicano la conoscenza di uno stato tensionale di ogni singola barra, ecc.

Allora ero riuscito a ricavare quasi da solo - poiché non era mai stato menzionato in nessuno dei libri su cui avevo studiato, e nemmeno l'ho mai successivamente ritrovato (seppur non abbia cercato a fondo) – il cosiddetto “metodo della matrice di rigidezza della sezione”; che consente appunto, agli SLE, di fare ciò che recita il titolo del topic.

In parte mi meraviglio di come ci sia riuscito. Senza fonti, senza libri, ma semplicemente telefonando ad un ingegnere che un programma simile aveva fatto, e che rispondeva alle mie domande, da un lato cercando di non far trapelare un segreto “industriale” di grande portata; dall'altro invece con grande voglia di svelarmi i grandi segreti di sapienza da lui posseduti.

Nel tentativo di essere quanto più “didattico” possibile sto preparando un po' di materiale che, penso e spero, condividerò con voi a cadenza settimanale circa.

Per quanto riguarda la prima parte, ovvero le verifiche SLE, ho delle vecchie porzioni di codice che, adeguatamente rivedute e corrette, vorrei pubblicare per dare spunti a chi è più bravo e volenteroso di me.
Per le verifiche SLU probabilmente saranno più le chiacchiere che il resto.

Comunque, vedremo.

In ultimo: una dedica speciale ad Afazio, non ultimo nella condivisione della conoscenza.

zax2010:
Parte 1

Geometria della sezione
Per prima cosa occorre definire matematicamente la sezione di forma generica.

Essa è costituita da una serie di n vertici, riferiti ad un sistema cartesiano, numerati in sequenza, ed in sequenza uniti da segmenti, fino a formare, unendo il primo e l'ultimo vertice, un poligono chiuso.
Dimenticatevi raccordi circolari ellittici, ecc. Questi potranno essere “riprodotti” con opportuni raffittimenti di vertici che approssimeranno più o meno bene queste parti curvilinee della vostra sezione. Ma in ogni caso comunque la sezione rimane poligonale.

Ecco un esempio di quanto intendo:



Per descrivere quindi in un software una simile geometria basterebbe memorizzare le n coppie di coordinate x,y di ogni singolo vertice.

Purtroppo però spesso la realtà non è così semplice come nell'immagine. Una sezione di forma realmente generica può essere costituita da parti piene e parti vuote, oppure da porzioni di sezione fatte con differente materiale (esempio sezioni precompresse con soletta di differenti caratteristiche del calcestruzzo, oppure sezioni in acciaio-calcestruzzo, ecc.).
Solamente quella dei vuoti è una situazione che è possibile bypassare semplicemente facendo “arrotolare” il poligono su se stesso. Ad esempio il famoso programma VCASLU del prof. Gelfi non permette di inserire più poligoni, però con questa accortezza è in grado di eseguire verifiche anche di sezioni cave.
Poco male però per noi, in quanto semplicemente la sezione verrà rappresentata non da uno, ma da più poligoni. Vedremo in seguito come il metodo assolutamente generico che propongo è in grado di gestire queste situazioni (ma anche parti di sezione che si parzializzano a trazione, oppure no).
Per adesso quindi ci concentreremo sul singolo poligono, si estenderanno poi i concetti espressi anche alle sezioni pluri-poligonali.
Alla prossima.

afazio:
Io ringrazio per la dedica speciale e seguo con attenzione. Chissà ...

Massimo.T:
quando arrivi in fondo con gli SLE, qualcuno parte con gli SLU?

zax2010:
Parte 2

Calcolo delle caratteristiche geometriche delle sezioni
Premetto che queste nozioni di base sono finalizzate al calcolo SLE delle sezioni.
Il calcolo delle caratteristiche geometriche di una sezione rappresentata da un poligono, intendo baricentri, momenti statici e di inerzia rispetto agli assi coordinati, va svolta utilizzando una sommatoria di momenti statici e di inerzie riferite ad un singolo segmento del poligono stesso.
Ad esempio nella prima immagine sottostante potete vedere cosa si intende.





E' semplice verificare cosa accade se vogliamo calcolare l'area del poligono. Basterà calcolare l'area del trapezio sotteso ad ogni segmento (quello in grigio nella figura), per capire, girando segmento per segmento del poligono, fino all'ultimo segmento che unisce l'ultimo vertice con il primo, che alcuni trapezi avranno area positiva (ad esempio quello segnato), altri area negativa (quello della seconda immagine, perchè x[i+1]-x[i ] diventa negativo), e pertanto la somma algebrica di tutte queste aree restituisce, appunto, l'area del poligono.
Per le altre caratteristiche geometriche, si procederà in maniera analoga.

Il mattone “elementare” quindi diventa calcolare le caratteristiche geometriche del trapezio segnato nelle figure.
E' giusto che io non taccia e che dica subito che tutte le caratteristiche geometriche, però saranno riferite al sistema di riferimento prescelto, e quindi, almeno per i momenti statici e di inerzia, agli assi x ed y di figura.
Poco male. Basterà utilizzare i teoremi di trasporto per ritrovare momenti statici ed inerzie riferiti al baricentro della sezione. Perchè è questi che di seguito ci interesseranno.

Allora, per semplificare le varie formule ho indicato con a il valore (x[i+1]-x[i ]) e con d il valore (y[i+1]-y[i ]). In questo modo l'area sarà la somma di un rettangolo e di un triangolo (anche di area negativa se d è negativo), ed anche i momenti statici e le inerzie verranno spezzettate sommando inerzie di rettangoli e triangoli.

In definitiva avremo:

area
a*y[i ]+a*d/2   --> ovvero semplificando: a*(y[i ]+d/2)

momento statico attorno all'asse x
a*y[i ]^2/2+a*d/2*(y[i ]+d/3)   --> ovvero semplificando: a/2*(y[i ]^2+d^2/3+d*y[i ])

momento statico attorno all'asse y
In questo caso dovete immaginare il trapezio disposto in verticale proiettando il segmento sull'asse y, piuttosto che sull'asse x.
-d*x[i ]^2/2+d*a/2*(x[i ]+a/3)   --> ovvero semplificando: -d/2*(x[i ]^2+a^2/3+a*x[i ])

momento d'inerzia attorno all'asse x
a*y[i ]^3/3+a*d^3/36+a*d/2*(y[i ]+d/3)^2   --> ovvero semplificando: a/3*(y[i ]^3+y[i ]*d^2+3*y[i ]^2*d/2+d^3/4)

momento d'inerzia attorno all'asse y
Anche in questo caso il trapezio è ruotato, proiettando il segmento sull'asse y.
-d*x[i ]^3/3+d*a^3/36+d*a/2*(y[i ]+a/3)^2   --> ovvero semplificando: -d/3*(x[i ]^3+x[i ]*a^2+3*x[i ]^2*a/2+a^3/4)

momento d'inerzia xy
Non ricordo bene come lo abbia ricavato a suo tempo, ma pigliatelo come atto di fede, nella formulazione già semplificata:
a*(x[i ]/2*(y[i ]^2+d^2/3+d*hy)+a/2*(y[i ]^2/2+d^2/4+2*d*hy/3))

Adesso, ottenute tutte queste grandezze, sommandole tra loro, segmento per segmento costituente il poligono, ed eventualmente ripetendo ancora l'operazione per gli altri poligoni che compongono la sezione è possibile trovare il baricentro della sezione:

xg=Mstaticoy/areatot
yg=Mstaticox/areatot

Ed una volta avuto il baricentro, con i vari teoremi di trasporto ricavare le inerzie. Ad esempio:

inerziaxg=inerziax-areatot*yg^2

E così via.
Personalmente ho sempre avuto qualche difficoltà proprio in questa fase, specie per l'inerzia xy.
Pertanto avevo preferito, allungando un po' il brodo, calcolare prima aree e momenti statici, in modo da determinarmi inizialmente i baricentri, ed infine calcolarmi le inerzie direttamente dal baricentro (con una banale traslazione degli assi).

Per completare questa prima parte, preliminare si, ma assai basilare, introduco anche il valore di alfa, ovvero l'angolo degli assi principali di inerzia rispetto agli assi coordinati, ed i valori dei momenti principali di inerzia rispetto agli assi principali.
Come in tutti i manuali di geometria delle masse:

alfa=atan(-2*inerziagxy/(inerziagx-inerziagy))/2

ialfa=(inerziagx+inerziagy)/2+sqrt((inerziagx-inerziagy)^2+4*inerziagxy^2)/2
ibeta=(inerziagx+inerziagy)/2+sqrt((inerziagx-inerziagy)^2+4*inerziagxy^2)/2

Insomma, pare tutto facile. Però in effetti le cose non sono così semplici come io ve le ho raccontate finora. Infatti, domandatevi:

Cosa succede e cosa cambia se invece di inserire il poligono con i vertici via via in senso orario, li inserissi in senso antiorario?

E le armature, non ne parliamo?

Le risposte alla prossima.


Navigation

[0] Message Index

[#] Next page

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 
Go to full version