ingegneria civile - tesi triennale di mattia campolese - calcolo travature reticolari in ambiente...
DESCRIPTION
tesi laureaTRANSCRIPT
-
Universit degli Studi Roma Tre
Facolt di IngegneriaCorso di laurea in Ingegneria Civile
Indirizzo Costruzioni Civili
Prova finale
Calcolo di travature reticolari in ambiente
MATLAB
Relatore:Prof. Claudio Valente
Correlatore:Ing. Stefano Gabriele
Candidato:Mattia Campolese
Anno Accademico: 2006-2007
-
SommarioIntroduzione.......................................................................................................2
Le strutture reticolari.........................................................................................................2Geometria.................................................................................................................................................3
Analisi strutturale..............................................................................................4Sistemi isostatici................................................................................................................4
Metodo dei nodi........................................................................................................................................4Sistemi iperstatici..............................................................................................................5
Metodo degli spostamenti........................................................................................................................5Soluzione manuale con il metodo degli spostamenti.......................................................11
Dati.........................................................................................................................................................11Equazioni di equilibrio...........................................................................................................................12Calcolo deformazioni.............................................................................................................................13Soluzione della matrice degli spostamenti.............................................................................................15
Implementazione MATLAB............................................................................17L'applicazione CAMP2000..............................................................................................18
Il preprocessore......................................................................................................................................18Il kernel...................................................................................................................................................24Il postprocessore.....................................................................................................................................29Esempio dimostrativo.............................................................................................................................32
Soluzione automatica con il metodo degli spostamenti...................................................38Preparazione dei dati..............................................................................................................................38Calcolo in MATLAB..............................................................................................................................39Calcolo in SAP2000...............................................................................................................................42
Applicazioni....................................................................................................43Confronto tra diverse travature........................................................................................43
Howe......................................................................................................................................................43Pratt........................................................................................................................................................47Polonceau [1]..........................................................................................................................................50Polonceau [2]..........................................................................................................................................53Confronto tra la Howe e la Pratt.............................................................................................................56Confronto tra le due Polonceau..............................................................................................................58Confronto globale...................................................................................................................................59
Capriata metallica per capannone industriale..................................................................60Propriet della capriata...........................................................................................................................61Modellazione statica: scelta dei vincoli..................................................................................................63Spostamenti teorici.................................................................................................................................68Spostamenti reali....................................................................................................................................73
Appendice........................................................................................................77Contenuto del pacchetto software....................................................................................77Schermate preprocessore.................................................................................................80Codice sorgente script MATLAB....................................................................................82
Riferimenti bibliografici..................................................................................92Ringraziamenti................................................................................................93
1
-
IntroduzioneLe strutture reticolariSi definisce struttura reticolare un insieme di aste rettilinee incernierate collegate le une alle altre mediante nodi in modo da formare una struttura portante stabile, piana oppure spaziale. La trave reticolare un sistema di aste complanari formante ununica membratura nel quale una dimensione (la lunghezza) largamente preponderante rispetto allaltra (o alle altre nel caso tridimensionale).Fra le diverse aste che compongono la struttura si distinguono i correnti, costituiti dalle aste essenzialmente orientate nella direzione della dimensione maggiore della trave reticolare, e le diagonali e montanti, costituiti da aste orientate obliquamente o trasversalmente a tale direzione.
Se i carichi sono costituiti unicamente da forze concentrate sulle cerniere, ogni asta risulter soggetta a sola azione assiale, o sforzo normale, essendo questultima lunica caratteristica di sollecitazione compatibile con lequilibrio dei singoli elementi costitutivi isolati dal complesso strutturale e con le prestazioni statiche dei vincoli.
Una struttura reticolare per definizione ha il seguente schema statico: i nodi sono cerniere perfette; gli assi delle aste concorrono ai nodi senza eccentricit; i carichi agiscono solo sui nodi, affinch le aste possano trasmettere forze solo alle
loro estremit;
In virt di questa ultima ipotesi le aste saranno soggette soltanto a sforzo normale, di trazione o compressione. La generica asta tesa si definisce comunemente come tirante, quella compressa come puntone. Ci permette un significativo risparmio di materiale rispetto alle travi a parete piena. E molto importante che le travature reticolari siano caricate solamente da forze concentrate applicate nei nodi affinch negli elementi si sviluppino solo sforzi di trazione o di compressione; se i carichi fossero applicati direttamente agli elementi stessi si svilupperebbero anche degli sforzi dovuti alla flessione e al taglio.
Le inevitabili imperfezioni (peso proprio delle aste, ecc.) introducono solo effetti secondari, trascurabili in prima approssimazione. Ad esempio il peso proprio delle aste non evidentemente trascurabile e se ne tiene conto, in pratica, concentrando la met del peso di ogni asta su ciascuna delle sue estremit. Ci che invece trascurabile leffetto locale del peso proprio su ciascuna asta considerata isolatamente.
2
Fig. 1: Struttura reticolare: terminologia
-
Una generica struttura tridimensionale o piana si identifica per sua stessa definizione con un sistema di corpi rigidi vincolati mutuamente e con lesterno. Tuttavia comodo considerare invertiti i ruoli dei nodi e delle aste: riguardare cio i primi come corpi puntiformi, ciascuno dotato di 2 (o 3 nello spazio) gradi di libert, e le seconde come vincoli interni semplici che controllano la distanza relativa tra i due nodi.
Geometria
La struttura reticolare quadrata formata da quattro aste non stabile. Si tratta di un meccanismo, e lo stesso vale per ogni struttura poligonale formata da quattro o pi aste.Al contrario tre aste che formano un triangolo costituiscono una struttura stabile. Il triangolo quindi la forma pi semplice di struttura reticolare di cui costituisce pertanto anche la cellula base per formare un sistema rigido che non pu essere deformato dallapplicazione di forze esterne senza la deformazione di uno o pi degli elementi che lo compongono. Le strutture reticolari formate per semplice giustapposizione di triangoli sono dette talora triangolazioni semplici. Nello spazio a tre dimensioni la cellula base il tetraedro e ogni nodo ha bisogno di tre aste per garantire la sua stabilit.
Nelle strutture reticolari tutte le travi sono collegate tra loro mediante cerniere che possono essere considerate sferiche. Ogni trave dunque una biella (in inglese truss). Se poi i carichi sono concentrati sui nodi (sulle cerniere) le travi portano solo forze assiali.Molto spesso possibile immaginare i vincoli interni come veri e propri corpi rigidi. In quanto corpo rigido si deve quindi imporre lequilibrio anche del vincolo tramite le equazioni cardinali della statica, in genere trascurando il peso del vincolo stesso. Per azione e reazione ogni corpo rigido esercita sul vincoli forze uguali ed opposte.Poich per ipotesi si suppone che le dimensioni della cerniera siano trascurabili, tutte le forze sono applicate in essa e quindi la seconda equazione cardinale della statica (momenti nulli) soddisfatta.
Esiste una relazione tra il numero di nodi e il numero di aste. Se Nc il numero di cerniere (nodi), Na il numero di aste e Ne il numero di vincoli semplici esterni, affinch il sistema sia staticamente e cinematicamente determinato, nellipotesi che i vincoli siano ben disposti (condizione sufficiente), necessario che il numero di vincoli, Na+Ne, sia pari ai gradi di libert del sistema, cio:
N aN e=2 N c (3 Nc nello spazio)
Nella seguente trattazione verranno affrontate esclusivamente travature reticolari piane.
3
Fig. 2: Geometria instabile e stabile
-
Analisi strutturaleSistemi isostaticiIl problema statico delle strutture reticolari consiste nel calcolo dello sforzo normale in tutte le aste. Tale calcolo possibile servendosi delle sole equazioni di equilibrio.Tutte le travi sono bielle caricate agli estremi: ogni trave sopporta solo carico assiale costante lungo la trave. Si noti che questa semplice osservazione permette di affermare che le equazioni cardinali della statica sono gi automaticamente soddisfatte per ogni asta isolata, qualunque sia il valore delle azioni assiali. In realt ci che resta da fare imporre lequilibrio dei perni delle cerniere, cio dei vincoli interni.
Il primo passo nellanalisi di una struttura reticolare isolarne una parte e considerare il sistema di forze agente su di essa. Se alcune forze sono note, possibile calcolare le altre mediante le equazioni cardinali della statica, dato che la porzione in esame dovr risultare in equilibrio. Lestensione della porzione di struttura scelta per lo studio dellequilibrio non vincolata in alcun modo. Potrebbe essere limitata ad un singolo nodo o ad un insieme composto da diversi elementi e nodi. Il sistema di forze considerato consiste non solamente di ciascuna forza esterna applicata alla parte in esame, ma anche delle forze interne alla struttura.
Una tecnica per la soluzione di strutture reticolari isostatiche il metodo dei nodi.
Metodo dei nodi
In diverse geometrie di travature possibile risolvere lo stato di sollecitazione operando per nodi successivi. Tale procedimento richiede di individuare un nodo semplice o canonico, definito come nodo in cui convergono due aste e di risolverlo mediante le due equazioni di equilibrio del nodo stesso. Si procede quindi nellisolare un nodo della struttura reticolare tagliando le aste che vi convergono. Si esplicitano quindi gli sforzi normali trasmessi dalle aste al nodo e le eventuali forze esterne. Si scrivono infine le equazioni di equilibrio per il nodo in esame.Poich le forze sono convergenti al nodo, lequazione di equilibrio dei momenti rispetto al nodo stesso come detto prima identicamente soddisfatta. Nel caso piano si hanno pertanto a disposizione per ogni nodo solo le rimanenti due equazioni di equilibrio:
F x ,nodo=0 ; F y ,nodoSi procede in sequenza, scrivendo lequilibrio di un primo nodo e poi, servendosi dei risultati ottenuti, di un secondo e cos di seguito. Tuttavia poich si hanno a disposizione solo due equazioni di equilibrio per nodo, necessario disporre di almeno un nodo a cui sono collegate solo due aste, in modo da avere in partenza due sole incognite. Successivamente si proceder utilizzando di volta in volta nodi per i quali si abbiano due sole incognite.
4
-
Sistemi iperstaticiNei sistemi iperstatici la sovrabbondanza di vincoli rende necessario l'utilizzo di equazioni di congruenza in aggiunta a quelle di equilibrio. Esistono due metodologie di soluzione di questi problemi: il metodo delle forze (si sostituiscono ai vincoli sovrabbondanti le loro prestazioni statiche) e il metodo degli spostamenti, pi laborioso dal punto di vista computazionale ma facilmente ed efficacemente automatizzabile.
Metodo degli spostamenti
Il metodo degli spostamenti si basa sull'imposizione dell'equilibrio nei punti nodali della struttura. Per ciascun nodo sono messe a bilancio le forze esterne note e le forze interne da determinarsi che ciascun elemento convergente nel nodo esercita sul nodo stesso.Le forze esterne vengono raccolte nel vettore dei termini noti mentre quelle interne sono espresse in funzione degli spostamenti nodali (gradi di libert) per il tramite della matrice di rigidezza K. Si infatti nel campo elastico-lineare e si modella l'asta come una molla avente la sua rigidezza k, soggetta a forze applicate ai suoi due estremi generanti gli spostamenti (si veda fig. 3).
Dati di input
Poich l'equilibrio scritto nei gradi di libert attivi (ovvero i nodi non vincolati) della struttura il primo passo consiste nell'elencazione di tutti i nodi di cui essa si compone e nell'individuazione dei nodi sede di vincolo. La posizione dei nodi nello spazio definita dalle coordinate nodali rispetto ad un riferimento globale (valido per l'intera struttura).La tabella dei vincoli definisce completamente i gradi di libert (gdl) del problema, cio il numero di equazioni di equilibrio, esprimibili come 0 = gdl bloccato e i = gdl libero.
Il secondo passo consiste nel definire la tabella delle incidenze che collega ogni asta ai suoi due nodi di estremit. E' necessario inoltre per costruire la matrice di rigidezza una matrice che associ ad ogni asta le caratteristiche geometriche (area) e meccaniche (materiale e modulo elastico) di cui sono composte le aste.
La trasformazione del modello meccanico della struttura in modello numerico in forma matriciale completata tramite una serie di matrici che ne stabiliscono la topologia, i vincoli e la costituzione in un riferimento globale.
Riassumendo, i dati in ingresso necessari al sistema sono:
nel numero di asten numero di nodi
npel numero di nodi per asta (negli elementi TRUSS sempre pari a 2)
ngdl numero dei gradi di libert per nodo (negli elementi TRUSS sempre pari a 2)sdof = n * ngdl gradi di libert del sistema
5
-
gcoord=[X 1 Y 1X 2 Y 2 X i Y i X n Y n
]Matrice delle coordinate geometriche dei nodi rispetto ad un sistema di riferimento cartesiano O(X,Y).
elprop=[E1 A1E2 A2 E i Ai Enel Anel
]Matrice delle propriet geometriche e dei materiali delle aste (modulo elastico e area della sezione)
nodes=[Nd1, s Nd 1,eNd 2,s Nd 2,e
Nd i , s Nd i , e
Nd nel , s Nd nel , e]
Matrice della connettivit dei nodi, indicante per ogni asta il nodo iniziale (s) e quello terminale (e).
bcdof =[GaGbG c]
bcval=[ 000]
bcdof: matrice indicante i gradi di libert del sistema che sono vincolati e quindi assumono il corrispondente valore nullo elencato in bcval .
ff =[f 1, Xf 1,Yf 2, Xf 2,Y..
f i , Xf i , Y..
f n , Xf n , Y
]Matrice delle forze esterne applicate ai nodi in entrambe le direzioni X e Y.
6
-
Costruzione della matrice di rigidezza
Si ha che la posizione delle aste nel riferimento globale (e quindi nella struttura) completamente individuata dai nodi di estremit, infatti la lunghezza data da:
L= X BX A2Y BY A2 con le inclinazioni pari a:
cos= 1L X BX A sen=
1LY BY A
Va definita quindi una procedura automatica per l'effettiva costruzione della matrice di rigidezza. Da un punto di vista algoritmico conveniente istituire una procedura valida per un'asta e quindi ripeterla identica per tutte quelle della struttura. Ne consegue che necessario definire dapprima la matrice di rigidezza della singola asta rispetto ad un suo riferimento locale. Essa costituisce il legame elastico tra la variazione di configurazione conseguente allo spostamento dei nodi di estremit e le forze interne che nascono in seguito alle estremit dell'asta stessa:
f L=K L uL
Riferimento globale: assi X,Yspostamenti nodali:
sT=[u A v Au B vB ]T
forze nodali:f T=[H AV A H BV B ]
T
matrice di rigidezza globale: K
Riferimento locale: assi , spostamenti nodali:
sT=[AABB]T
forze nodali:f T=[N A T A N B T B]
T
matrice di rigidezza locale: KL
Considerando le regole di prodotto tra matrici si osserva che se si pone pari ad 1 la i-esima componente di spostamento in sL e tutte le altre nulle il vettore di forze interne corrisponde esattamente alla colonna i-esima di KL . Questa osservazione suggerisce anche il modo di costruire la KL. Si assegna di volta in volta un componente di spostamento unitaria e le altre nulle e si valutano le forze all'estremit dell'asta che cos si generano.
Per costruire la prima colonna di KL si assegna dunque A = 1 e A = B = B = 0. L'asta
quindi compressa con sforzo assiale di intensit N=EAL L=EA
LA=
EAL quindi la
forza in A ha lo stesso verso di e NA = EA/L , mentre la forza in B ha verso opposto e NB = - EA/L (inoltre TA = TB = 0).
7
Fig. 3: Elemento "truss" - sistemi di riferimento
-
Per costruire la seconda colonna di KL si assegna A = 1 e A = B = B = 0; con l'ipotesi di piccoli spostamenti l'asta ruota con moto rigido attorno a B e quindi lo stato di sollecitazione nullo: NA = NB = TA = TB = 0. La terza e quarta colonna sono costruite allo stesso modo, in modo da ottenere la seguente matrice di rigidezza di elemento locale:
K L=EAL [ 1 0 1 00 0 0 01 0 1 00 0 0 0] tipica di un elemento TRUSS.
Per riportare le componenti di forza e spostamento dal sistema di riferimento locale a quello globale necessario effettuare una trasformazione di KL tramite la matrice di rotazione R:
=X cosY sin =X cosY sin []=[ cos sinsin cos][XY ] R=[ cos sinsin cos]
quindi gli spostamenti nel sistema di riferimento globale sono dati da:
[AABB]=[cos sin 0 0sin cos 0 0
0 0 cos sin0 0 sin cos][
u AvAuBvB]=[R 00 R][u AvAuBvB]
esprimibile in forma sintetica sia per gli spostamenti che per le componenti di forza da:
sL=T uf L=T f
Essendo T=[R 00 R] una matrice ortogonale, e quindi tale che T-1 = TT, la matrice di rigidezza dell'asta i-esima espressa nel sistema di riferimento globale data da:
f L=K L uLTi f =K L T
i u f =T iT K L Ti u K i=T iT K LT
i assumendo u=[1000] per ottenere esclusivamente la deformazione assiale.
8
-
In forma esplicita si ha:
K i= EAL [ cos
2 cos sin cos2 cos sincossin sin2 cossin sin2cos2 cos sin cos2 cos sin
cossin sin2 cossin sin2]
Questa matrice singolare, ovvero det Ki = 0 poich essa si rifersce ad un elemento biella non vincolato il cui unico grado di libert deformativo associato alla variazione di lunghezza dell'asta, ovvero delle 4 componenti di spostamento solo una associata alla deformazione dell'asta mentre le altre tre definiscono un movimento rigido nel piano.
Le matrici di rigidezza delle aste Ki sono partizionabili in quattro sottomatrici 2x2 di ordine pari ai gdl nodali dal seguente significato meccanico: le matrici sulla diagonale principale KAA e KBB tengono conto dell'effetto che gli spostamenti di un nodo (A o B) hanno sulle forze del nodo stesso (A o B), mentre le matrici fuori diagonale KAB e KBA = KABT considerano l'effetto che gli spostamenti di un nodo (A o B) hanno sulle forze dell'altro nodo (B o A):
K i=[K AA K ABK ABT K BB]La matrice di rigidezza dell'intera struttura Ktot una matrice quadrata di ordine 2nx2n con n numero di nodi e 2 i gdl per nodo. Le righe sono tante quante le equazioni di equilibrio che si possono scrivere per la struttura considerata non vincolata, le colonne tante quante le componenti di spostamento complessive della struttura in assenza di vincoli. Anche la Ktot pu essere partizionata in sottomatrici 2x2 con lo stesso significato delle sottomatrici di asta:
K tot=[K 11 K 12 K13 K 14K 22 K 23 K 24sym K 33 K 34K 44]La collocazione delle Ki nella Ktot semplice operando per sottomatrici. Procedendo asta per asta si prende la KAA e la si aggiunge sommandola di volta in volta alla Kii con indici di nodo corrispondenti, idem per la KBB. Entrambe queste sottomatrici contribuiscono alle sottomatrici della diagonale principale di Ktot. Le sottomatrici KAB e KBA contribuiscono ai termini fuori diagonale della KTOT e si trattano allo stesso modo sommandole alle KIJ con indici di nodo corrispondenti.
La KTOT una matrice singolare in quanto non considera i vincoli. I nodi vincolati non contribuiscono alle equazioni di equilibrio e le corrispondenti righe e colonne devono pertanto essere eliminate dalla Ktot .
9
-
Calcolo degli spostamenti nodali
Costruita la Ktot e note le forze esterne ff possibile calcolare la matrice degli spostamenti nodali:
D i=inv K tot ff
ovvero un vettore 2n contenente gli spostamenti nei rispettivi gradi di libert attivi.
Il sistema ora risolto.
Calcoli successivi
Per ottenere gli sforzi assiali e le tensioni agenti in ogni singola asta necessario per ogni asta calcolare il vettore delle forze di elemento:
K i[usv sueve]i
=[H sV sH eV e ]i
ricostruendo la matrice di rigidezza d'elemento e moltiplicandola per il vettore degli spostamenti associati ai gradi di libert dei nodi di estremit.
Gli sforzi normali e le tensioni sono quindi date da:
N i=H si 2V si 2
i=N iAi
Il vettore di forze di elemento tale che Hs = - He e Vs = - Ve, pertanto sufficiente controllare il segno di He per determinare se gli sforzi sono di trazione o di compressione.
10
-
Soluzione manuale con il metodo degli spostamentiE' evidente come la procedura numerica offerta dal metodo degli spostamenti, pur essendo meno didattica per la comprensione della fisica del problema, possa essere efficacemente utilizzata per la soluzione statica di telai non labili. Il sistema risolvente infatti sempre determinato dato che possibile scrivere tante equazioni di equilibrio quanti sono i gradi di libert della struttura.
Verr ora risolto il seguente problema iperstatico manualmente applicando il metodo degli spostamenti:
Dati
sistema di riferimento cartesiano x,y nodi 1,3,4 vincolati con cerniere forza applicata nel nodo 2 in direzione -y pari a 1000 N aste dalle seguenti propriet:
Asta Lunghezza (mm) Area (mm2)1 2309 20002 2000 25003 4000 3000
tutte costituite d'acciaio ( E = 200000 MPa )
11
Fig. 4: Problema iperstatico di esempio
-
Equazioni di equilibrio
Si scrive l'equazione di equilibrio rispetto all'unico nodo che pu spostarsi, ovvero il 2:
x : N 3cos 30 N 1cos 60 =0y : N 1sin 30 N 2N 3sin 30 1000=0
Si hanno due gradi di libert per nodo e due nodi per ogni asta, ma la struttura ha attivi solo
quelli del nodo 2 ( u=[u2v2] ). Per risolvere il problema quindi si riscrivono le equazioni di equilibrio rispetto a questi gdl, ottenendo il sistema risolvibile di 2 equazioni in 2 incognite.
12
Fig. 5: Schema delle forze agenti
-
Calcolo deformazioni
Per fare ci si sfrutta il principio di sovrapposizione degli effetti (valido considerando la teoria dei piccoli spostamenti per cui si approssimano gli angoli alle loro tangenti) applicando gli spostamenti uno per volta in direzione positiva (rispetto al sistema di riferimento indicato in fig. 4) e infine sommandoli:
Spostamento u2:
In seguito all'applicazione di u2 si hanno le seguenti deformazioni delle aste:
1u=u2cos 60 =
12
u2
2u=0
3u=u2cos30 =
32
u2
L'asta 2 considerata indeformata in quanto sempre per l'ipotesi dei piccoli spostamenti si suppone che l'angolo non vari.
13
Fig. 6: Deformazione delle aste in seguito all'applicazione di u2
-
Spostamento v2:
In seguito all'applicazione di v2 si hanno le seguenti deformazioni delle aste:
1v=v2cos 30 =
32
v2
2v=v23
v=v2cos 60 =12
v2
Effetti globali
Si sommano quindi le due deformazioni per ogni asta:
1=12
u232
v22=v2
3=32 u2
12 v2
14
Fig. 7: Deformazione delle aste in seguito all'applicazione di v2
-
Soluzione della matrice degli spostamenti
Relazioni costitutive
A questo punto necessario collegare le deformazioni e le forze applicate al materiale e alle caratteristiche geometriche di ogni asta:
1=L1
E A1N 1=
12
u232
v2
2=L2
E A2N 2=v2
3=L3
E A3N 3=
32
u212
v2
Equazioni di equilibrio
Si sostituiscono i nuovi valori nelle equazioni di equilibrio iniziali ( K u = P ):
Essendo:
N 1=12 u232 v2E A1L1N 2=v2
E A2L2
N 3=32 u212 v2E A3L3Si ha:
32
E A3L3 32 u212 v212
E A1L1 12 u232 v2=0
32
E A1L1 12 u232 v2
E A2L2
v212
E A3L3 32 u212 v21000=0
Raccogliendo:
[34 E A3L3 14 E A1L1 ]u2[34 E A3L3 34 E A1L1 ]v2=0[34 E A1L1 34 E A3L3 ]u2[34 E A1L1 E A2L2 14 E A3L3 ]v2=1000
15
-
In forma matriciale:
E [34 A3L314 A1L1 34 A3L334 A1L134 A1L134 A3L3 34 A1L1 A2L214 A3L3 ][u2v2]=[ 01000]Sostituendo i valori si ha:
200000[34 300040003 14 20004000 34 3000400034 20004000 334
20004000 3
34
30004000
34
20004000
25002000
14
30004000
][u2v2]=[ 01000]200000[ 91638 34 34383
83 3
163 38
54 3
16][u2v2]=[ 01000]
200000[92316 3361663316
632316
][u2v2]=[ 01000]La cui soluzione :
u2 = - 0,00015475 mmv2 = - 0,00239948 mm
16
-
Implementazione MATLABMATLAB (abbreviazione di Matrix Laboratory) un ambiente per il calcolo numerico e un linguaggio di programmazione (interpretato) creato dalla MathWorks. MATLAB consente facili manipolazioni di matrici, visualizzazione di funzioni e dati, implementa algoritmi, consente la creazione di interfacce utente, e si interfaccia con altri programmi. Nonostante sia specializzato nel calcolo numerico, un toolbox opzionale interfaccia MATLAB con il motore di calcolo simbolico di Maple. MATLAB usato da milioni di persone nell'industria, nelle universit e funziona su diversi sistemi operativi, tra cui Windows, Mac OS, Linux e Unix.
L'ambiente consta in una finestra di comandi nei quali l'utente digita le istruzioni da eseguire al prompt; queste vengono memorizzate nell' history. Le funzioni risiedono in una cartella di lavoro che rappresenta il percorso di riferimento per tutti i files richiamati dagli algoritmi, e possono essere modificate dall'editor interno a MATLAB il quale offre tutte gli strumenti tipici di un software di programmazione (debug, breakpoint, analisi step by step, ...).
La facilit d'uso e la potenza di questo software hanno reso possibile lo sviluppo di un solutore numerico per i problemi di analisi strutturale di travature reticolari piane prima descritti e risolti manualmente. E' stata adottata l'ultima versione attualmente disponibile (la 7.4.0 della relase R2007a).
17
Fig. 8: Ambiente MATLAB (v. 2007a) in Windows
-
L'applicazione CAMP2000L'implementazione stata articolata in due fasi: inizialmente stato sviluppato il solutore MATLAB (il kernel) e in seguito stato sviluppato un software per facilitare l'inserimento dei dati (il preprocessore).
Il CAMP2000 infatti un'applicazione composta da due parti:
il preprocessore CAMP2000 sviluppato in Delphi 5 per ambienti Windows lo script CAMP2000KERNEL sviluppato in MATLAB
Il preprocessore ha il compito di preparare i dati in ingresso al kernel (tramite l'esportazione di files testuali) il quale esegue i calcoli finali mostrando i risultati in termini di spostamenti, tensioni e forze.
Il contenuto dei files del preprocessore con le schermate ed il codice sorgente del kernel sono indicati in appendice.
Il preprocessore
La versione finale attualmente sviluppata la 0.2.
Installazione
Lanciare il file CAMP2000_02_setup.exe:
e cliccare su Avanti ; apparir un messaggio d'avviso da leggere prima dell'installazione (corrispondente al contenuto del file Leggimi.txt) :
18
Fig. 9: Schermata iniziale dell'installazione
-
Cliccare nuovamente su Avanti e scegliere la cartella dove installare il programma (ricordando di evitare nomi accentati):
Verr quindi chiesto se aggiungere nel menu Start, sul Desktop e sulla barra dei collegamenti veloci il collegamento al programma:
19
Fig. 10: Seconda schermata installazione
Fig. 11: Terza schermata installazione
Fig. 12: Quarta schermata installazione Fig. 13: Quinta schermata installazione
-
Cliccare quindi su Avanti fino al riepilogo delle informazioni sull'installazione e infine cliccare su Installa:
quindi su Fine una volta terminato:
Il programma ora installato nella cartella di destinazione.
20
Fig. 14: Sesta schermata installazione
Fig. 15: Settima schermata installazione
Fig. 16: Ottava schermata installazione
-
Utilizzo
Lanciato il programma apparir la seguente finestra:
(nota: cliccando su ? possibile accedere alla guida rapida del programma).
Nuova travatura
Per creare una nuova travatura partendo da 0 cliccare su File, quindi su Nuova travatura .
In Nome travatura va inserito il nome del problema che si vuole risolvere e affianco vanno selezionate le unit di misura da considerare (per la forza, la lunghezza e quindi per l'area e le tensioni; se ad esempio si seleziona N,mm il programma considerer automaticamente i mm2 per l'area e i N/mm2 per le tensioni). La scelta dell'unit di misura non altera i valori numerici inseriti.
Dati di input
Va inserito il numero di elementi nel sistema (nel), ovvero il numero di aste dello schema reticolare e poi il numero di nodi presenti (n) (gli altri due campi sono bloccati in quanto si considerano esclusivamente bielle nel piano).
21
Fig. 17: Schermata iniziale programma
-
Griglia dei nodi
Va definita ora la griglia cartesiana rappresentativa dello schema piano:
Si definiscono le coordinate X e Y dei nodi, relativi ad un sistema di riferimento orientato come in figura. Si consiglia di seguire il seguente procedimento:
Fissare l'origine del sistema di riferimento con il primo nodo (coordinate del nodo 1 pari a 0,0)
Numerare i nodi da sinistra verso destra e dal basso verso l'alto (come in fig. 18)
Cliccando su Griglia dei nodi si aprir una nuova finestra con una tabella contenente tante colonne quanti sono i nodi presenti nel sistema. Inserite le coordinate di ogni nodo, ricordando l'unit di misura precedentemente adottata e NON utilizzare la virgola per i decimali bens il punto . .
Propriet geometriche e dei materiali
Cliccando su Propriet geometriche e dei materiali si definisce, per ogni asta del sistema, l'area della sezione e il modulo elastico del materiale che la costituisce. E' inserito come valore predefinito il modulo elastico dell'acciaio pari a 200000 MPa (N/mm2) . Questi valori sono fondamentali per calcolare le tensioni in ogni asta, mentre se si in fase di predimensionamento si possono inserire dei valori casuali e calcolare in forma corretta solo gli sforzi assiali.
22
Fig. 18: Griglia cartesiana interpretata dal programma con disposizione generica degli n nodi
-
Per facilitare l'inserimento, nel caso di aste tutte uguali, una volta inseriti i valori per la prima asta, cliccando su Copia i valori della prima asta nelle altre questi verranno automaticamente assegnati anche agli altri elementi.
Formazione delle aste
Ogni asta rappresentata come l'elemento che unisce il nodo iniziale e quello finale. Pertanto per rappresentare le aste dello schema reticolare considerato, per ognuna di esse nella tabella Connessione dei nodi per la formazione delle aste va indicato il numero del nodo iniziale e quello finale; con la prescrizione precedente sulla definizione della griglia, si ricorda che le aste vanno inserite considerando come nodo iniziale e finale rispettivamente il numero pi piccolo e quello pi grande tra i due in modo da evitare errate inclinazioni nel kernel.
Assegnazione dei vincoli
I vincoli vengono assegnati come limitazione ai gradi di libert del sistema, pertanto possono essere semplicemente inseriti nel programma nella tabella Definizione dei vincoli applicati ai nodi . Per il nodo nel quale presente il vincolo assegnare allo spostamento considerato il valore 0, mentre si lascia 1 se libero. Ad esempio se nel nodo 1 presente una cerniera, sia in Orizzontale (X) che in Verticale (Y) si inserir 0.
Applicazione delle forze
I carichi esterni trasmettono le loro sollecitazioni alla travatura reticolare tramite forze applicate direttamente ai nodi. Nella tabella Applicazione delle forze ai nodi vanno assegnati i valori per il nodo in interesse e per la direzione considerata. Si assume il sistema di riferimento come in figura n.
Salvataggio della travatura
E' possibile salvare la travatura inserita per poterla aprire e modificare in un secondo momento. Per fare ci sufficiente cliccare su File, quindi su Salva travatura attuale ... e scegliere dove posizionare il file *.c2k che l'estensione predefinita dei files del processore; sono archivi in formato CAB contenenti gli stessi file dell'esportazione.
Caricare una travatura salvata
Per recuperare una travatura precedentemente salvata sufficiente cliccare su File, quindi su Carica travatura esistente ... e scegliere il file *.c2k salvato.
Esportazione in MATLAB
Compilazione
Una volta completati tutti i campi dell'inserimento il programma pronto per generare i file necessari allo script MATLAB per eseguire i calcoli.I files da generare constano in 6 file *.txt che lo script legger, pertanto sar necessario definire la cartella nella quale verranno salvati. Per fare ci si clicca su Esegui, quindi su Compila . Si sceglie la cartella ( consigliabile utilizzare una sottocartella di quella di
23
-
lavoro di MATLAB) e il programma esporter i files. Se questi sono gi esistenti, verranno automaticamente sovrascritti.
Il preprocessore ha quindi terminato il proprio compito preparando il necessario per i calcoli da parte del kernel.
Il kernel
E' costituito dai seguenti 5 files:
camp2000kernel.m (script principale) feaplyc.m (funzione esterna) feasmbl.m (funzione esterna) feeldof.m (funzione esterna) fetruss.m (funzione esterna)
contenuti nella sottocartella c2kmat del percorso nel quale installato il preprocessore. Si possono quindi copiare i files nella cartella di lavoro preferita di MATLAB.
Lo script principale da lanciare una funzione dalla seguente sintassi:
camp2000kernel(path,verbose);
con:
path: stringa rappresentante il nome della cartella di riferimento per i files generati dal preprocessore. Pu essere un percorso assoluto (ex: 'C:\Prova\Esempio71') o semplicemente il nome della sottocartella esportata se questa contenuta nella stessa directory dello script (ex: 'Esempio71')
verbose: stringa indicante il tipo di visualizzazione dei risultati. Per visualizzare tutti i passaggi svolti nonch il dettaglio dei risultati scrivere si, altrimenti no per visualizzare esclusivamente gli spostamenti, le forze e le tensioni trascurando la formattazione e i passaggi intermedi.
1) Lettura dei dati in ingresso
Il kernel legge i dati necessari in ingresso da files contenuti nella cartella indicata nella variabile path, memorizzandoli nelle relative matrici:
File di origine Dati contenuti1input.txt - nel: numero di elementi nel sistema (numero di aste) [intero]
- nnel: numero di nodi per elemento [intero]- ndof: numero di gradi di libert per nodo [intero]- nnode: numero totale di nodi nel sistema [intero]- uforza: unit di misura per la forza [stringa]- ulungh: unit di misura per la lunghezza [stringa]- uarea: unit di misura per le aree [stringa]- utens: unit di misura per le tensioni [stringa]
24
-
2gcoord.txt - gcoord: matrice delle coordinate geometriche dei nodi3elprop.txt - elprop: matrice delle propriet geometriche e dei materiali delle aste4nodes.txt - nodes: matrice della connettivit dei nodi per la formazione delle aste
5constraints.txt - constraints: matrice dei vincoli, scomposta in bcdof e bcval6forces.txt - ff: matrice delle forze applicate ai nodi
Una volta letti i dati dal file 1input.txt il programma calcola i gradi di libert totali del sistema:
sdof=nnode*ndof;
e inizializza le matrici che verranno utilizzate:
ff=zeros(sdof,1); %vettore di forze del sistemakk=zeros(sdof,sdof); %matrice di rigidezza del sistemadispl=zeros(sdof,sdof); %matrice degli spostamenti di sistemaindex=zeros(nnel*ndof,1); %vettore degli indicielforce=zeros(nnel*ndof,1); %vettore di forza dell'elementoeldisp=zeros(nnel*ndof,1); %vettore della disposizione dei nodi dell'elementok=zeros(nnel*ndof,nnel*ndof); %matrice di rigidezza dell'elementostress=zeros(nel,1); %vettore delle tensioni per ogni elemento
Gli altri files sono letti dall'istruzione csvread che interpreta i file CSV (Comma Separated Values) esportati dal preprocessore. Le matrici infatti vengono salvate con i dati riga per riga, e i valori in colonna sulla stessa riga separati da virgola; ad esempio la matrice gcoord dell'esempio Demo1 :
Contenuto file 2gcoord.txt Matrice importata in MATLAB0,00,10001000,01000,10002000,02000,1000
gcoord =
0 0 0 1000 1000 0 1000 1000 2000 0 2000 1000
2) Ciclo degli elementi
Per costruire la matrice di rigidezza della struttura ( kk ) il kernel processa ogni asta:
for iel=1:nel %cicla per il numero totale di elementi
computando la matrice di rigidezza di elemento (k) per poi assemblarla in quella generale (kk); per ogni asta quindi calcola:
la lunghezza nella variabile lungh in base alle coordinate cartesiane dei nodi di estremit dell'asta:
25
-
nd(1)=nodes(iel,1); %primo nodo connesso con l'elemento iesimo nd(2)=nodes(iel,2); %secondo nodo connesso con l'elemento iesimo x1=gcoord(nd(1),1); y1=gcoord(nd(1),2); %coordinate per il primo nodo x2=gcoord(nd(2),1); y2=gcoord(nd(2),2); %coordinate per il secondo nodo length=sqrt((x2-x1)^2+(y2-y1)^2); %lunghezza dell'elemento
l'inclinazione (radianti) rispetto al sistema di riferimento globale nella variabile beta:
if (x2-x1)==0; if y2>y1; beta=2*atan(1); else beta=-2*atan(1); end else beta=atan((y2-y1)/(x2-x1)); end
Il campo di validit dell'inclinazione 9090 :
(X1,Y1 = coordinate nodo iniziale; X2,Y2 = coordinate nodo finale)
le propriet del materiale che costituiscono l'asta (modulo elastico nella variabile el) nonch l'area della sezione (nella variabile area) dalla matrice elprop:
el=elprop(iel,1); %estrae il modulo elastico area=elprop(iel,2); %estrae l'area della sezione
il sistema dei gradi di libert dell'elemento, ovvero quali gradi di libert (da 1 a sdof) sono quelli di interesse dell'asta:
index=feeldof(nd,nnel,ndof); %estrae il sistema dei gradi di libert dell'elemento
Questi dati sono assemblati tramite la funzione fetruss:
k=fetruss(el,length,area,beta); %computa la matrice degli elementi
26
Fig. 19: Inclinazioni possibili delle aste interpretate dal programma
-
che costruisce la seguente matrice:
K i= EAL [ cos
2 cos sin cos2 cos sincossin sin2 cossin sin2cos2 cos sin cos2 cos sin
cossin sin2 cossin sin2]
(file fetruss.m):
%References: "The finite element method using MATLAB" - Young W. Kwon &%Hyochoong Bang - CRC Press, 2000function[k]=fetruss(el,leng,area,beta)c=cos(beta); s=sin(beta);k=(area*el/leng)*[c*c c*s -c*c -c*s;... c*s s*s -c*s -s*s;... -c*c -c*s c*c c*s;... -c*s -s*s c*s s*s];end
Una volta computata la matrice di rigidezza d'asta, questa viene aggiunta all'interno di quella globale del sistema:
kk=feasmbl(kk,k,index); %assembla la matrice di sistema inserendo quella di elemento
tramite la funzione feasmbl:
(file feasmbl.m):
function[kk]=feasmbl(kk,k,index)edof=length(index);for i=1:edof ii=index(i); for j=1:edof jj=index(j); kk(ii,jj)=kk(ii,jj)+k(i,j); endend
la quale somma il contenuto della k d'asta al contenuto gi presente nella kk globale nella posizione relativa al sistema dei gradi di libert (indicato dal vettore index) .
3) Assegnazione dei vincoli e soluzione della matrice degli spostamenti
Data la kk (ancora in forma singolare) il kernel ora applica le condizioni al contorno:
[kk,ff]=feaplyc(kk,ff,bcdof,bcval); %applicazione delle condizioni al contorno
tramite la funzione feaplyc:
27
-
(file feaplyc.m):
%References: "The finite element method using MATLAB" - Young W. Kwon &%Hyochoong Bang - CRC Press, 2000function[kk,ff]=feaplyc(kk,ff,bcdof,bcval)n=length(bcdof); %numero dei gradi di libert vincolatisdof=size(kk); %gradi di libert del sistemafor i=1:n c=bcdof(i); %grado di libert vincolato for j=1:sdof kk(c,j)=bcval(i); kk(j,c)=bcval(i); end kk(c,c)=1; %per non annullare il determinante ff(c)=bcval(i); %la forza sul vincolo assorbita tutta da essoend
la quale assegna alle righe e alle colonne della kk relative ai gdl vincolati, indicati nella matrice bcdof , i valori della matrice bcval (sempre nulli); ad esempio per il problema Demo1 si ha:
bcdof =
1 2 10
bcval =
0 0 0
Inoltre fissa a 1 i valori sulla diagonale principale onde evitare di ridurre il rango della matrice e annulla l'eventuale forza assegnata al nodo vincolato (in quanto non viene assorbita dal resto della struttura).
E' ora possibile calcolare la matrice degli spostamenti nodali nella variabile displ :
displ=kk\ff; %risoluzione della matrice per gli spostamenti dei nodi
4) Calcolo delle tensioni e delle forze nelle aste
Per ogni asta si effettua lo stesso ciclo del punto 2) per ricalcolare la matrice di rigidezza d'elemento k. In seguito si ricavano gli spostamenti relativi ad ogni asta:
for i=1:(nnel*ndof) %estrae gli spostamenti associati con l'elemento iesimo eldisp(i)=displ(index(i));end
e si ricava il vettore forza d' elemento:
elforce=k*eldisp; %vettore forza elemento
A questo punto possibile ottenere il modulo dello sforzo normale e la tensione alla quale soggetta l'asta:
N(iel)=sqrt(elforce(1)^2+elforce(2)^2); %sforzi normalistress(iel)=N(iel)/area; %tensioni
28
-
e applicare il segno a seconda se di compressione (-) o trazione (+):
if (elforce(3))
-
con path avente lo stesso significato dello script precedente. Il postprocessore lanciato automaticamente dal kernel se attivata l'opzione verbosa:
if (verbose == 'si') %6) LANCIA IL POST PROCESSORE camp2000pp(path);...
1) Lettura dei dati in ingresso
Utilizzando le stesse funzioni del kernel, il postprocessore carica i seguenti files per poter costruire i grafici ed effettuare i calcoli successivi:
File di origine Dati contenuti1input.txt - nel: numero di elementi nel sistema (numero di aste) [intero]
- nnel: numero di nodi per elemento [intero]- ndof: numero di gradi di libert per nodo [intero]- nnode: numero totale di nodi nel sistema [intero]- uforza: unit di misura per la forza [stringa]- ulungh: unit di misura per la lunghezza [stringa]- uarea: unit di misura per le aree [stringa]- utens: unit di misura per le tensioni [stringa]
2gcoord.txt - gcoord: matrice delle coordinate geometriche dei nodi3elprop.txt - elprop: matrice delle propriet geometriche e dei materiali delle aste4nodes.txt - nodes: matrice della connettivit dei nodi per la formazione delle aste
5constraints.txt - constraints: matrice dei vincoli, scomposta in bcdof e bcval6forces.txt - ff: matrice delle forze applicate ai nodi
Spostamenti.txt - displ: vettore degli spostamenti dei nodiN.txt - N: vettore delle sollecitazioni delle aste
Tensioni.txt - stress: vettore delle tensioni delle aste
2) Grafico della travatura
In seguito il postprocessore apre una finestra grafica in MATLAB rappresentando la travatura reticolare con le forze applicate, i vincoli e la numerazione delle aste in modo da poter mostrare graficamente eventuali errori di inserimento dei dati nel preprocessore.
3) Calcolo dei valori massimi
In base ai dati esportati dal kernel, il postprocessore individua i valori massimi degli spostamenti, delle sollecitazioni e delle tensioni.
Per gli spostamenti vengono distinti quelli in direzione orizzontale (1 grado di libert del nodo) e in direzione verticale (2 grado di libert del nodo) estraendo per i primi i valori con indice dispari dal vettore displ e per i secondi quelli con indice pari:
30
-
for j=1:nnode %cicla per il numero di nodi doriz(j) = displ((j*ndof)-1); dvert(j) = displ((j*ndof));end
Il valore massimo preso considerando il valore assoluto dei due vettori:
[DHmax,NDHmax]=max(abs(doriz)); %orizzontale[DVmax,NDVmax]=max(abs(dvert)); %verticale
indicando in NDHmax e NDVmin il nodo per il quale si ha il valore DHmax e DVmax.
Per le sollecitazioni e le tensioni si calcolano i valori massimi (trazione maggiore) e minimi (compressione maggiore):
[Nmax,ANmax]=max(N); %trazione[Nmin,ANmin]=min(N); %compressione[Smax,ASmax]=max(stress); %trazione[Smin,ASmin]=min(stress); %compressione
indicando le aste per le quali si hanno i valori individuati.
4) Grafico delle sollecitazioni e delle tensioni
In seguito al calcolo dei valori massimi, il programma aprir due finestre grafiche in ognuna delle quali rappresentata la travatura reticolare con i vincoli applicati e sulle aste (colorate a seconda se tese o compresse) i valori (arrotondati alla cifra intera prossima) di sollecitazione e tensione corrispondente, evidenziando in grassetto i valori maggiori.
31
Fig. 20: Finestre grafiche di esempio esportate dal post-processore
-
Esempio dimostrativo
Il seguente esempio dimostrativo (presente anche nella guida d'uso del software) verr risolto sia con il software che manualmente con il metodo dei nodi.
Problema
Risolvere il seguente schema:
nel quale sono gi numerate le aste (da 1 a 9) e i nodi (da 1 a 6), composte tutte in acciaio (E = 200 GPa) e di area A = 2000 mm2 .
32
Fig. 21: Schema travatura reticolare di esempio
-
Soluzione con CAMP2000
1) Dati di input
Si impostano le 9 aste e i 6 nodi adottando l'unit N e mm:
2) Griglia dei nodi
Cliccare su Griglia dei nodi per definire le coordinate cartesiane del sistema. Fissare convenzionalmente l'origine con il nodo 1 con x positivo verso destra e y positivo verso l'alto:
(le dimensioni sono in millimetri come precedentemente indicato).Cliccare su Salva per salvare le impostazioni.
3) Propriet geometriche e dei materiali
Cliccare nella finestra principale su Propriet geometriche e dei materiali ... .Poich tutte le aste sono uguali, vanno definiti i valori per la prima asta e poi sufficiente cliccare su Copia i valori della prima asta nelle altre :
33
Fig. 22: Preprocessore - passaggio 1
Fig. 23: Preprocessore - passaggio 2
-
(le dimensioni sono in N/mm2 = MPa e mm2 ).Cliccare su Salva per salvare le impostazioni.
4) Formazione delle aste
Va indicato ora al programma come sono formate le aste, ovvero come sono connesse indicando il nodo iniziale e finale per ognuna di esse inserendo i valori nella tabella Connessione dei nodi per la formazione delle aste:
5) Assegnazione dei vincoli
In seguito necessario indicare i vincoli del telaio, espressi come vincoli dei gradi di libert del nodo interessato, nella tabella Definizione dei vincoli applicati ai nodi .
34
Fig. 24: Preprocessore - passaggio 3
Fig. 25: Preprocessore - passaggio 4 (aste dalla 1 alla 6)
Fig. 26: Preprocessore - passaggio 4 (aste dalla 3 alla 9)
-
Nell'esempio si nota come nel nodo 1 sia presente una cerniera (vincolati entrambi i g.d.l.) mentre nel nodo 5 un carrello (vincolato solo lo spostamento verticale):
6) Applicazione delle forze
Una volta definita la travatura reticolare l'ultimo passaggio l'applicazione dei carichi esterni espressi come forze applicate ai nodi definibili nella tabella Applicazione delle forze ai nodi .
Nell'esempio si nota come sia applicata una forza diretta verticalmente verso il basso nel nodo 4 pari a 400 N:
7) Compilazione dei dati
Il problema stato definito. E' consigliabile in questa fase salvare la travatura.Si clicca su Esegui, quindi su Compila e si sceglie (creandone una nuova, ad esempio Demo1) una sottocartella di quella nella quale sono ospitati gli script MATLAB. Una volta dato l'Ok si aprir la cartella contenente i files esportati a conferma dell'operazione.
8) Calcolo in MATLAB
Il preprocessore termina qui il suo lavoro. Va ora aperto l'ambiente MATLAB e impostata come current directory quella dello script.
Per lanciare lo script va dato il seguente comando al prompt:
camp2000kernel('Demo1','no');
e il kernel inizier i calcoli ( consigliabile utilizzare l'opzione verbosa - quindi 'si' al posto di 'no' - per comprendere al meglio il funzionamento del codice).
35
Fig. 27: Preprocessore - passaggio 5
Fig. 28: Preprocessore - passaggio 6
-
Il risultato sar:
Spostamenti in mm: (n. gdl e spostamento) 1.000000000000000 0 2.000000000000000 0 3.000000000000000 0.000500000000000 4.000000000000000 -0.000000000000000 5.000000000000000 0.000500000000000 6.000000000000000 -0.001914213562373 7.000000000000000 0.000500000000000 8.000000000000000 -0.001914213562373 9.000000000000000 0.001000000000000 10.000000000000000 0 11.000000000000000 0.000500000000000 12.000000000000000 0.000000000000000
tensioni =
1.0000 0 2.0000 0.1000 3.0000 -0.1414 4.0000 0.0000 5.0000 -0.0000 6.0000 0.1000 7.0000 -0.1414 8.0000 0 9.0000 0.0000
forze =
1.0000 0 2.0000 200.0000 3.0000 -282.8427 4.0000 0.0000 5.0000 -0.0000 6.0000 200.0000 7.0000 -282.8427 8.0000 0 9.0000 0.0000
con le forze espresse in N e le tensioni in MPa.
36
-
Soluzione con il metodo dei nodi
Lo schema statico banalmente risolvibile, in quanto le due reazioni vincolari sono pari a y = 200 N dirette verso l'alto.
Si definiscono gli sforzi assiali di ogni asta come vettori uscenti dai nodi, pertanto definendo per ognuno di essi un sistema di riferimento cartesiano destrorso si hanno le seguenti equazioni di equilibrio alla traslazione:
Nodo Traslazione asse x: Traslazione asse y:
1 N 2N 32
=0 N 1N 32
200N=0
2 N 1=0 N 4=0
3 N 6N 2=0 N 5=0
4 N 4N 8N 32
N 72
=0 N 5400N 3 2
N 72
=0
5 N 6N 72
=0 N 9200N 72
=0
6 N 8=0 N 9=0
I risultati del calcolo manuale e quello automatico al confronto sono i seguenti:
Sforzo nell'asta Soluzione manuale Soluzione con il CAMP2000N1 0 N 0 NN2 200 N 200 NN3 - 282,84 N - 282,84 NN4 0 N 0 NN5 0 N 0 NN6 200 N 200 NN7 -282,84 N -282,84 NN8 0 N 0 NN9 0 N 0 N
tutti coincidenti.
37
-
Soluzione automatica con il metodo degli spostamentiVerr ora risolto col CAMP2000 il problema precedentemente svolto manualmente con il metodo degli spostamenti.
Preparazione dei dati
In riferimento alla fig.4, adottando la stessa numerazione dei nodi e delle aste, fissando l'origine nel nodo 1 si sono calcolate le coordinate dei nodi e si sono inseriti i seguenti dati:
38
Fig. 29: Schermata CAMP2000 con i dati inseriti
-
Calcolo in MATLAB
Lanciando lo script con l'opzione verbosa attivata si ha:
CAMP2000 - Kernel-----------------1) Dati di input: Travatura "Esercizio svolto manualmente" calcolata in data: 09-Sep-2007 19:19:27Numero di elementi: 3Numero di nodi per elemento: 2Numero di gradi di libert per nodo: 2Numero totale di nodi nel sistema: 4Numero totale dei gradi di libert del sistema: 8 Matrici caricate:
gcoord =
1.0e+003 *
0 0 1.1547 -2.0000 1.1547 0 4.6188 0
nodes =
1 2 2 3 2 4
elprop =
200000 2000 200000 2500 200000 3000
bcdof =
1 2 5 6 7 8
bcval =
0 0 0 0 0 0
ff =
0 0 0 -1000 0 0 0 0
39
-
2) Ciclo degli elementi: Asta 1 - lunghezza: 2309.4008 mm - inclinazione (deg): -60 cos(betax) e cos(betay): 0.5 -0.86603 betax e betay (deg): 60 150 - modulo elastico: 200000 N/mm^2 - area: 2000 mm^2 - sistema di gradi di libert: 1 2 3 4 - matrice di rigidezza dell'elemento:
k =
1.0e+005 *
0.4330 -0.7500 -0.4330 0.7500 -0.7500 1.2990 0.7500 -1.2990 -0.4330 0.7500 0.4330 -0.7500 0.7500 -1.2990 -0.7500 1.2990
Asta 2 - lunghezza: 2000 mm - inclinazione (deg): 90 cos(betax) e cos(betay): 0 1 betax e betay (deg): 90 0 - modulo elastico: 200000 N/mm^2 - area: 2500 mm^2 - sistema di gradi di libert: 3 4 5 6 - matrice di rigidezza dell'elemento:
k =
1.0e+005 *
0.0000 0.0000 -0.0000 -0.0000 0.0000 2.5000 -0.0000 -2.5000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 -2.5000 0.0000 2.5000
Asta 3 - lunghezza: 3999.9986 mm - inclinazione (deg): 30 cos(betax) e cos(betay): 0.86603 0.5 betax e betay (deg): 30 60 - modulo elastico: 200000 N/mm^2 - area: 3000 mm^2 - sistema di gradi di libert: 3 4 7 8 - matrice di rigidezza dell'elemento:
k =
1.0e+005 *
1.1250 0.6495 -1.1250 -0.6495 0.6495 0.3750 -0.6495 -0.3750 -1.1250 -0.6495 1.1250 0.6495 -0.6495 -0.3750 0.6495 0.3750
3) Assegnazione dei vincoli e soluzione della matriceMatrice di rigidezza del sistema senza vincoli dei gdl:
kk =
1.0e+005 *
0.4330 -0.7500 -0.4330 0.7500 0 0 0 0 -0.7500 1.2990 0.7500 -1.2990 0 0 0 0 -0.4330 0.7500 1.5580 -0.1005 -0.0000 -0.0000 -1.1250 -0.6495 0.7500 -1.2990 -0.1005 4.1740 -0.0000 -2.5000 -0.6495 -0.3750 0 0 -0.0000 -0.0000 0.0000 0.0000 0 0 0 0 -0.0000 -2.5000 0.0000 2.5000 0 0 0 0 -1.1250 -0.6495 0 0 1.1250 0.6495 0 0 -0.6495 -0.3750 0 0 0.6495 0.3750
Matrice di rigidezza del sistema con i vincoli dei gdl:
40
-
kk =
1.0e+005 *
0.0000 0 0 0 0 0 0 0 0 0.0000 0 0 0 0 0 0 0 0 1.5580 -0.1005 0 0 0 0 0 0 -0.1005 4.1740 0 0 0 0 0 0 0 0 0.0000 0 0 0 0 0 0 0 0 0.0000 0 0 0 0 0 0 0 0 0.0000 0 0 0 0 0 0 0 0 0.0000
Matrice delle forze di sistema:
ff =
0 0 0 -1000 0 0 0 0
RIEPILOGO: Asta 1 - Sforzo normale elemento: 346.5213 N - Tensione elemento: 0.17326 N/mm^2Asta 2 - Sforzo normale elemento: 599.8716 N - Tensione elemento: 0.23995 N/mm^2Asta 3 - Sforzo normale elemento: 200.0641 N - Tensione elemento: 0.066688 N/mm^2 Spostamenti in mm: (n. gdl e spostamento) 1.000000000000000 0 2.000000000000000 0 3.000000000000000 -0.000154749416860 4.000000000000000 -0.002399486302799 5.000000000000000 0 6.000000000000000 0 7.000000000000000 0 8.000000000000000 0
CAMP2000 - POST PROCESSORE- Spostamento massimo orizzontale: -0.00015475 mm presente nel nodo 2- Spostamento massimo verticale: -0.0023995 mm presente nel nodo 2- Sforzo normale maggiore di trazione: 599.87 N presente nell'asta 2Tutte le aste sono tese- Tensione maggiore di trazione: 0.23995 N/mm^2 presente nell'asta 2
I gradi di libert del nodo 2 sono il 3 e il 4 per i quali corrispondono i seguenti spostamenti:
u2 = - 0,00015475 mmv2 = - 0,00239949 mm
coincidenti con il risultato ottenuto con la soluzione manuale del problema.
41
-
L'output grafico il seguente:
Calcolo in SAP2000
Il SAP2000 un software di analisi strutturale di validit universalmente riconosciuta nel settore dell'ingegneria civile.Il problema stato risolto anche con questo software per validare definitivamente il programma:
Come si nota il risultato identico.
42
Fig. 30: 2 dei 3 grafici esportati dal postprocessore MATLAB
Fig. 31: Esercizio risolto in SAP2000 diagramma sforzi assiali
-
ApplicazioniDopo aver validato il software con opportuni esempi verr ora utilizzato per la soluzione di alcune applicazioni pratiche. Si mostrer quindi il vantaggio di avere a disposizione un pacchetto software dal codice aperto che fornisce all'utente una maggiore trasparenza e fiducia nei calcoli effettuati.
La prima un confronto tra diverse tipologie di travature esistenti, soggette agli stessi carichi, aventi la stessa luce e stesso numero di moduli. Le travature saranno anche calcolate in SAP2000 per effettuare un ulteriore validazione. Infine verr analizzato il caso di una travatura reticolare esistente, ovvero un capannone industriale modellato in SAP2000 e per il quale stata effettuata una prova di carico.
Confronto tra diverse travatureUtilizzando il programma si proceder ad un'applicazione pratica effettuando il confronto dei risultati dell'analisi di una trave di tipo Howe, una Pratt e due capriate di tipo Polonceau .Per poter effettuare un confronto efficace tutte le aste sono di area A = 2000 mm2 e in acciaio (E = 200 GPa).
Howe
Calcolo in MATLAB
Dati di input esportati dal preprocessore e acquisiti dal kernel:
Numero di elementi: 25Numero di nodi per elemento: 2Numero di gradi di libert per nodo: 2Numero totale di nodi nel sistema: 14Numero totale dei gradi di libert del sistema: 28
43
Fig. 32: Problema 1: travatura Howe
-
Matrici caricate:
gcoord =
0 0 0 1000 1000 0 1000 1000 2000 0 2000 1000 3000 0 3000 1000 4000 0 4000 1000 5000 0 5000 1000 6000 0 6000 1000
nodes =
1 2 1 3 1 4 2 4 3 4 3 5 3 6 4 6 5 6 5 7 5 8 6 8 7 8 7 9 8 9 8 10 9 10 9 11 10 11 10 12 11 12 11 13 12 13 12 14 13 14
elprop =
200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000
bcdof =
1 2 26
bcval =
0 0 0
ff =
0 0 0 -5000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -5000
44
-
Risultati dello script:
Spostamenti in mm: (n. gdl e spostamento)
Nodo Gradi di libert Spostamento (mm)1 12
00
2 340.4375-0.0125
3 560.0625-0.65178
4 780.4375-0.61428
5 9100.1625-1.0828
6 11120.375-1.0703
7 13140.275-1.2307
8 15160.275-1.2307
9 17180.3875-1.0828
10 19200.175-1.0703
11 21220.4875-0.65178
12 23240.1125-0.61428
13 25260.550
14 27280.1125-0.0125
45
-
Tensioni e forze:
Asta Tensioni (MPa) Sollecitazioni (N)1 -2.5 -50002 12.5 250003 -17.678 -353554 1.4552e-014* 2.9104e-0115 7.5 150006 20 400007 -10.607 -212138 -12.5 -250009 2.5 500010 22.5 4500011 -3.5355 -7071.112 -20 -4000013 5.8208e-014 1.1642e-01014 22.5 4500015 -3.5355 -7071.116 -20 -4000017 2.5 500018 20 4000019 -10.607 -2121320 -12.5 -2500021 7.5 1500022 12.5 2500023 -17.678 -3535524 -7.276e-015 -1.4552e-01125 -2.5 -5000
* Il valore assumibile a 0; la non corrispondenza causata dal prodotto di valori non nulli (ma prossimi a 0) nella costruzione della matrice di rigidezza globale (iterazione di calcoli trigonometrici)
46
-
Pratt
Calcolo in MATLAB
Dati di input esportati dal preprocessore e acquisiti dal kernel:
Numero di elementi: 25Numero di nodi per elemento: 2Numero di gradi di libert per nodo: 2Numero totale di nodi nel sistema: 14Numero totale dei gradi di libert del sistema: 28Matrici caricate:
gcoord =
0 0 0 1000 1000 0 1000 1000 2000 0 2000 1000 3000 0 3000 1000 4000 0 4000 1000 5000 0 5000 1000 6000 0 6000 1000
nodes =
1 2 1 3 2 3 2 4 3 4 3 5 4 5 4 6 5 6 5 7 6 7 6 8 7 8 7 9 7 10 8 10 9 10 9 11 9 12 10 12 11 12 11 13 11 14 12 14 13 14
elprop =
200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000
47
Fig. 33: Problema 2: travatura Pratt
-
bcdof =
1 2 26
bcval =
0 0 0
ff =
0 0 0 -5000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -5000
Risultati dello script:
Spostamenti in mm: (n. gdl e spostamento)
Nodo Gradi di libert Spostamento (mm)1 12
00
2 340.4375-0.075
3 565.2935e-017-0.68928
4 780.375-0.75178
5 9100.0625-1.1703
6 11120.275-1.2078
7 13140.1625-1.3557
8 15160.1625-1.3807
9 17180.2625-1.1703
10 19200.05-1.2078
48
-
11 21220.325-0.68928
12 2324-0.05-0.75178
13 25260.3250
14 2728-0.1125-0.075
Tensioni e forze:
Asta Tensioni (MPa) Sollecitazioni (N)1 -15 -300002 1.0587e-014 2.1174e-0113 17.678 353554 -12.5 -250005 -12.5 -250006 12.5 250007 10.607 212138 -20 -400009 -7.5 -1500010 20 4000011 3.5355 7071.112 -22.5 -4500013 -5 -1000014 20 4000015 3.5355 7071.116 -22.5 -4500017 -7.5 -1500018 12.5 2500019 10.607 2121320 -20 -4000021 -12.5 -2500022 0 023 17.678 3535524 -12.5 -2500025 -15 -30000
49
-
Polonceau [1]
Calcolo in MATLAB
Dati di input esportati dal preprocessore e acquisiti dal kernel:
Numero di elementi: 21Numero di nodi per elemento: 2Numero di gradi di libert per nodo: 2Numero totale di nodi nel sistema: 12Numero totale dei gradi di libert del sistema: 24 Matrici caricate:
gcoord =
1.0e+003 *
0 0 1.0000 0 1.0000 0.3333 2.0000 0 2.0000 0.6667 3.0000 0 3.0000 1.0000 4.0000 0 4.0000 0.6667 5.0000 0 5.0000 0.3333 6.0000 0
nodes =
1 2 1 3 2 3 3 5 2 5 2 4 4 5 5 7 4 7 4 6 6 7 7 9 8 7 6 8 8 9 11 9 10 9 8 10 10 11 12 11 10 12
elprop =
200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000
50
Fig. 34: Problema 3: travatura Polonceau [1]
-
bcdof =
1 2 24
bcval =
0 0 0
ff =
0 -5000* 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 -5000*
Risultati dello script:
Spostamenti in mm: (n. gdl e spostamento)
Nodo Gradi di libert Spostamento (mm)1 12
00
2 340.1875-2.6443
3 560.66462-2.6527
4 780.3375-3.1882
5 9100.63187-3.2132
6 11120.45-3.1947
7 13140.45-3.1947
8 15160.5625-3.1882
9 17180.26813-3.2132
10 19200.7125-2.6443
11 21220.23538-2.6527
12 23240.90
* Queste forze saranno assorbite direttamente dal vincolo e quindi eliminate dal vettore nel calcolo degli spostamenti
51
-
Tensioni e forze:
Asta Tensioni (MPa) Sollecitazioni (N)1 37.5 750002 -39.528 -790573 -5 -100004 -39.528 -790575 9.0139 180286 30 600007 -7.5 -150008 -31.623 -632469 10.607 2121310 22.5 4500011 -6.4623e-030 -1.2925e-02612 -31.623 6324613 10.607 2121314 22.5 4500015 -7.5 -1500016 -39.528 -7905717 9.0139 1802818 30 6000019 -5 -1000020 -39.528 -7905721 37.5 75000
52
-
Polonceau [2]
Calcolo in MATLAB
Dati di input esportati dal preprocessore e acquisiti dal kernel:
Numero di elementi: 21Numero di nodi per elemento: 2Numero di gradi di libert per nodo: 2Numero totale di nodi nel sistema: 12Numero totale dei gradi di libert del sistema: 24 Matrici caricate: gcoord =
1.0e+003 *
0 0 1.0000 0 1.0000 0.3333 2.0000 0 2.0000 0.6667 3.0000 0 3.0000 1.0000 4.0000 0 4.0000 0.6667 5.0000 0 5.0000 0.3333 6.0000 0
nodes =
1 2 1 3 2 3 3 5 4 3 2 4 4 5 5 7 6 5 4 6 6 7 9 7 6 9 6 8 8 9 11 9 8 11 8 10 10 11 12 11 10 12
elprop =
200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000 200000 2000
53
Fig. 35: Problema 4: travatura Polonceau [2]
-
bcdof =
1 2 24
bcval =
0 0 0
ff =
0 -5000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 0 0 -10000 0 -5000
Risultati dello script:
Spostamenti in mm: (n. gdl e spostamento)
Nodo Gradi di libert Spostamento (mm)1 12
00
2 340.1875-2.5234
3 560.62152-2.5234
4 780.375-3.1311
5 9100.64565-3.1228
6 11120.525-3.2061
7 13140.525-3.1561
8 15160.675-3.1311
9 17180.40435-3.1228
10 19200.8625-2.5234
11 21220.42848-2.5234
12 23241.050
54
-
Tensioni e forze:
Asta Tensioni (MPa) Sollecitazioni (N)1 37.5 750002 -39.528 -790573 0 04 -31.623 -632465 -7.9057 -158116 37.5 750007 2.5 50008 -23.717 -474349 -9.0139 -1802810 30 6000011 10 2000012 -23.717 -4743413 -9.0139 -1802814 30 6000015 2.5 500016 -31.623 -6324617 -7.9057 -1581118 37.5 7500019 0 020 -39.528 -7905721 37.5 75000
55
-
Confronto tra la Howe e la Pratt
Sfruttando la rappresentazione grafica dei risultati del postprocessore possibile avere una visione di insieme delle sollecitazioni presenti nei diversi problemi analizzati (in blu le aste compresse, in rosso quelle tese, in nero quelle scariche e in grassetto i valori massimi):
I risultati ottenuti con il SAP2000 sono i seguenti:
coincidenti perfettamente con i risultati ottenuti dal CAMP2000.
56
Fig. 36: Problema 1: sollecitazioni travatura Howe
Fig. 37: Problema 2: sollecitazioni travatura Pratt
Fig. 38: Problema 1: sollecitazioni travatura Howe calcolate in SAP2000
Fig. 39: Problema 2: sollecitazioni travatura Pratt calcolate in SAP2000
-
Confrontando le due travature, differenti esclusivamente per l'inclinazione delle diagonali, si nota come:
le sollecitazioni del corrente inferiore della Howe sono pari all'opposto di quelle del corrente superiore della Pratt, idem per il corrente superiore rispetto all'altro inferiore
i montanti nella Howe ad eccezione di quelli di estremit che scaricano le forze sui due vincoli sono tutti tesi (con quello centrale scarico) mentre nella Pratt sono tutti compressi con sollecitazioni (in valore assoluto) maggiori
le diagonali nella Howe hanno sollecitazioni uguali e opposte rispetto a quelle della Pratt (compresse invece che tese nelle seconde)
Alla luce di queste annotazioni si possono fare le seguenti considerazioni progettuali: le sollecitazioni di trazioni sono praticamente comparabili, con il valore maggiore nella Howe. La Pratt ha pi aste compresse (tutti i montanti pi il corrente superiore) con la sollecitazione maggiore (-45000 N) e quindi potrebbe presentare maggiori problemi di instabilit rispetto alla Howe. Qui per sono i diagonali elementi pi lunghi e quindi con maggiore lunghezza libera di inflessione a soffrire di questo problema.
Per approfondire questo problema necessario riprendere il modello di asta di Eulero nel
quale si ha la relazione del carico critico che produce sbandamento: N cr=2 EI
L2.
Nei due problemi analizzati la lunghezza delle diagonali e quella dei montanti sono legate dalla seguente relazione: LD=LM2Effettuando il rapporto dei carichi critici nelle due tipologie di aste si ottiene:
N CR , DN CR ,M
= EI2
2 LM2
LM2
EI2=1
2
ovvero che il carico critico delle diagonali la met di quello dei montanti. Considerando che le aste dei correnti hanno la stessa lunghezza dei montanti, si prenda la diagonale pi caricata (N = -35355 N, Howe) e il montante/corrente pi caricato (N = -45000 N, Pratt). Per stabilire la condizione pi gravosa si prenda il maggiore tra i due rapporti:
N D
N CR , De
N MN CR ,M
Essendo N CR , M=2N CR , D
si ha 35355N CR , D
45000 /2=22500
N CR , DSi nota, alla luce di queste ultime considerazioni, come il fenomeno di instabilit sia pi pericoloso nella Howe rispetto alla Pratt (sempre a parit di rigidezza considerando le aste tutte uguali e con le luci adottate).
57
-
Confronto tra le due Polonceau
Si effettua ora il confronto tra le due Polonceau, differenti anch'esse per l'inclinazione delle diagonali, ottenute a partire dalla Howe e dalla Pratt:
I risultati ottenuti con il SAP2000 sono i seguenti:
coincidenti perfettamente con i risultati ottenuti dal CAMP2000.
58
Fig. 40: Problema 3: sollecitazioni travatura Polonceau [1]
Fig. 41: Problema 4: sollecitazioni travatura Polonceau [2]
Fig. 42: Problema 3: sollecitazioni travatura Polonceau [1] calcolate in SAP2000
Fig. 43: Problema 4: sollecitazioni travatura Polonceau [2] calcolate in SAP2000
-
Si pu notare che:
Entrambi i correnti inferiori sono tesi, ma nella [2] le sollecitazioni sono quasi sempre maggiori
Entrambi i correnti superiori sono compressi, ma nella [1] le sollecitazioni sono quasi sempre maggiori
I montanti nella [1], ad eccezione di quello centrale scarico, sono tutti compressi mentre nella [2] sono tutti tesi ad eccezione dei due laterali scarichi
Le diagonali nella [1] sono tese mentre nella [2] sono compresse Le sollecitazioni massime di trazione e compressione sono identiche
Ipotizzando di adottare lo stesso corrente superiore ed inferiore per entrambe (le sollecitazioni massime sono identiche), anche qui si confronta il problema di instabilit dei montanti e delle diagonali. Si nota come nella [2] siano presenti diagonali pi lunghe e pi sollecitate dei montanti nella [1], quindi localmente saranno necessarie aste rinforzate (e quindi pi materiale) a fronte per di una minor lunghezza in genere delle diagonali della [2] rispetto alla [1].
Confronto globale
Mettendo tutte e quattro le travature a confronto si pu constatare che le Polonceau necessiterebbero di minor materiale rispetto alla Howe e alla Pratt (minor numero di aste e minor lunghezza); di contro presentano sollecitazioni maggiori sia di trazione che di compressione quindi necessitano di sezioni maggiorate soprattutto nei correnti.
59
-
Capriata metallica per capannone industrialeVerr ora analizzata una capriata metallica facente parte della struttura portante della copertura di un capannone industriale di un impianto di acquacoltura. La struttura stata modellata in SAP2000 secondo tre schemi statici ed stata sottoposta ad una prova sperimentale di carico. Verr modellata anche nel CAMP2000 confrontando i risultati del software con gli spostamenti teorici del SAP2000 e con quelli sperimentali. Poich il capannone in realt una struttura tridimensionale, il carico applicato sar ripartito sulle capriate adiacenti; ci si aspetteranno quindi risultati diversi dalla modellazione numerica. Utilizzando la modellazione in SAP2000 si modeller il telaio in CAMP2000 in modo da ottenere come risultato gli spostamenti reali misurati.
60
Fig. 44: Modellazione 3D in SAP2000 del capannone industriale
-
Propriet della capriata
La capriata (la seconda a partire dalla vista frontale) sorretta da due pilastri (profilati HEA 200) collegati a dei pilastrini in calcestruzzo armato, ancorati a loro volta ad una platea di calcestruzzo che costituisce il basamento del capannone. Il corrente superiore un profilato IPE220, quello inferiore e le aste sono composti da profilati a doppia L. La luce netta della capriata di 28 m. E' posta in parallelo ad altre capriate del tutto identiche, collegate tra loro da arcarecci e da dei controventi. I profilati sono tutti in acciaio (E = 210 GPa).Il carico di progetto richiesto di 5,9 KN/m; per poterlo simulare verranno applicate due forze concentrate equivalenti in corrispondenza dei nodi posti a distanza 10,50 m dagli appoggi (nodi 10 e 13 si veda in seguito) e del valore di 48 KN.
Dati geometrici
La capriata, descritta in fig. 46, dotata delle seguenti propriet:
Numero aste Profilato Area (m2)1, 39 HEA200 5.1e-03
2,6,10,14,18,24,28,32,36,5,7,9,35,33,31 Due L 70*7 accoppiate 1.302e-03
4,8,12,16,20,21,26,30,34,38 IPE220 3.213e-033,37 Due L 80*8 accoppiate 1.712e-0311,29 Due L 60*6 accoppiate 9.48e-04
13,15,17,19,22,23,25,27 Due L 50*5 accoppiate 6.5e-04
61
Fig. 45: Numerazione delle aste per la capriata modellata in CAMP2000
-
62
Fig. 46: Vista frontale capriata
-
Modellazione statica: scelta dei vincoli
La travatura pu essere modellata in diversi modi variando la tipologia di vincoli. Sia in SAP2000 che nel CAMP2000 sono stati adottati i seguenti 3 schemi (considerando per entrambi come unit di misura i KN e i m):
1) Cerniera carrello
La struttura reticolare isostatica ed libera di deformarsi orizzontalmente; si trascura quindi l'effetto dei pilastri:
Dati di input esportati dal preprocessore e acquisiti dal kernel (attivata l'opzione format long per visualizzare tutti i valori decimali per la matrice elprop):
Numero di elementi: 39Numero di nodi per elemento: 2Numero di gradi di libert per nodo: 2Numero totale di nodi nel sistema: 21Numero totale dei gradi di libert del sistema: 42 Matrici caricate: gcoord =
0 0 0 0.3000 1.7630 0 1.7630 0.5324 3.5250 0 3.5250 0.7648 7.0500 0 7.0500 1.2295 10.5750 0 10.5750 1.6943 14.1000 2.1943 17.6250 0 17.6250 1.6943 21.1500 0 21.1500 1.2295 24.6750 0 24.6750 0.7648 26.4370 0 26.4370 0.5324 28.2000 0 28.2000 0.3000
nodes =
1 2 1 3 3 2 2 4 3 4 3 5 5 4 4 6 5 6 5 7 7 6 6 8 7 8 7 9 7 10 8 10 9 10 9 12 9 11 10 11 11 13 12 11 12 13 12 14 14 13 13 15 14 15
elprop =
1.0e+008 *
2.100000000000000 0.000000000051000 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000017120 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000009480 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000006500
63
Fig. 47: Modellazione in SAP2000 e in CAMP2000 - cerniera e carrello
-
14 16 14 17 15 17 16 17 16 18 16 19 17 19 18 19 18 20 18 21 19 21 20 21
2.100000000000000 0.000000000032130 2.100000000000000 0.000000000006500 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000009480 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000013020 2.100000000000000 0.000000000017120 2.100000000000000 0.000000000032130 2.100000000000000 0.000000000051000
bcdof =
1 2 40
bcval =
0 0 0
ff =
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -48 0 0 0 0 0 -48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
64
-
2) Cerniera cerniera
Si considera ora il massimo effetto teorico dei pilastri, ovvero il totale impedimento delle deformazioni orizzontali:
I dati di input esportati dal preprocessore e acquisiti dal kernel sono identici al caso precedente, a meno ovviamente delle matrici dei vincoli:
bcdof =
1 2 39 40
bcval =
0 0 0 0
3) Presenza dei pilastri
Si considera ora il caso pi prossimo a quello reale, ovvero si modellano anche i pilastri considerati incastrati alla base. Si possono avere due situazioni:
- i pilastri non sono in grado di confinare la capriata in maniera adeguata che quindi pi libera di deformarsi orizzontalmente; la modellazione in SAP2000 la seguente:
con i rilasci dei momenti in corrispondenza della connessione capriata pilastro.
65
Fig. 48: Modellazione in SAP2000 e in CAMP2000 - cerniera e cerniera
Fig. 49: Modellazione SAP2000 della capriata - evidenziati i rilasci dei momenti
-
- i pilastri sono in grado di effettuare un'efficace confinamento:
Come si nota ora con il pilastro stato introdotto un elemento di tipo trave, ovvero un asta che pu anche deformarsi per flessione, dotata di 3 gradi di libert nel piano per nodo (le due traslazioni e la rotazione). Per modellare la struttura in CAMP2000, dato che vengono analizzati solo elementi biella, si introducono delle aste dotate di una rigidezza equivalente al modello di trave disposte perpendicolarmente tra loro (in fig. 51 indicato il lato sinistro della capriata; le aste aggiunte sono la 40 e la 41):
Lo spostamento verticale in corrispondenza del pilastro simulato da un'asta verticale di
lunghezza e area unitaria dotata di rigidezza pari a K=EAL ; essendo L = 3 m, A =
5.1e-03 m2, E = 210 GPa, la rigidezza equivalente sar pari a 357000 KN/m2 (aste 40 e 42).
Nel primo caso, ovvero quello di pilastro non in grado di effettuare confinamento, il modello statico equivalente da adottare per lo spostamento orizzontale il seguente:
66
Fig. 52: Estratto delle soluzioni notevoli per travi isostatiche ad EJ costanti
Fig. 50: Modellazione SAP2000 della capriata - irrigidimento della connessione capriata - pilastro
Fig. 51: Modellazione CAMP2000 della capriata con pilastri lato sinistro
-
La capriata infatti trasmette al pilastro una forza orizzontale P e la deformazione
orizzontale di quest'ultimo dipender dalla sua rigidezza flessionale pari a K=3EIL3
;
dato E = 210 GPa, IHEA220=3.509e-05 m4 e L = 3,3 m, si ha K = 818.7667 KN/m2 .
Si aggiunge quindi un'asta orizzontale di area e lunghezza unitaria ed E = K (aste 41 e 43).
Nel secondo caso, ovvero con il pilastro in grado di effettuare il confinamento della capriata, va modellato il collegamento rigido. Per fare ci si deve simulare il comportamento dell'elemento trave analizzando quindi lo schema statico di trave doppiamente incastrata, dotata della seguente matrice di rigidezza:
K L=[EAL
0 0 EAL
0 0
0 12 EIL3
6 EIL2
0 12 EIL3
6 EIL2
0 6 EIL2
4 EIL
0 6 EIL2
2 EIL
EAL
0 0 EAL
0 0
0 12 EIL3
6 EIL2
0 12 EIL3
6 EIL2
0 6 EIL2
2 EIL
0 6 EIL2
4 EIL
]con f l=[ N1 T 1 M 1 N 2 T 2 M 2 ]