Il Bar dell'Ingegneria

Semplice travatura reticolare 2D in excel

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

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Nel mese di agosto scorso mi è capitato di aiutare una ragazza iscritta in Architettura con delle lezioni di Scienza delle Costruzioni.
    Faceva parte del programma anche la risoluzione delle travature reticolari piane col metodo degli spostamenti o dell'equilibrio.
    Le ho proposto di comporre insieme un foglio di calcolo che implementava le formule matriciali contenute nella sua dispensa per meglio comprendere il flusso dei dati noti, quelli incogniti, della composizione delle varie matrici e infine della risoluzione dell'equazione di equilibrio e il disegno della deformata. Entusiasta ha acconsentito.

    Tanto io avevo fatto la stessa cosa per un telaio piano e per una travatura reticolare sarebbe stato più semplice e sopratutto meno dispendioso.

    Ho quindi disegnato una travatura reticolare sulla quale studiare e quindi piano piano abbiamo composto tutte le tabelle e matrici necessarie.

    In questo topic, a beneficio di altri studenti alle prese con lo studio delle travature reticolari col metodo matriciale, intendo illustrare passo passo come comporre un foglio di calcolo per la sua risoluzione.

    Edited by afazio - 15/9/2019, 09:36
    Attached Image
    TravRetic00

     
    Top
    .
  2.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Lo schema geometrico e di carichi: per adesso si considerano solo carichi agenti sui nodi, in seguito potremo adattare quanto sviluppato considerando anche il peso proprio e carichi termici.
    Attached Image
    Schemageom

     
    Top
    .
  3.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Ho appena scoperto che la travatura che ho proposto non è risolvibile con Ftool. Sembra incredibile, ma... provare per credere.

    Il programma si ostina ad inserire un nodo nei punti di intersezione tra due aste diagonali rendendo cosi internamente isostatica qualsiasi travatura reticolare.

    In pratica con Ftool sarebbe impossibile simulare una croce di controvento costituita da due diagonali non connesse nella loro intersezione.
    Attached Image
    Ftool

     
    Top
    .
  4.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Iniziamo col predisporre uno schema con la numerazione dei nodi e delle aste e con l'indicazione dei versori di ciascuna asta.
    Una accortezza allo scopo di avere semplificati i successivi passaggi: numeriamo dapprima i nodi liberi e mettiamo per ultimi i nodi vincolati.

    La scelta dei versori si ripercuote sulla scrittura della matrice di compatibilità la c ui composizione sarà illustrata nel seguito.

    Qui lo schema con la numerazione che ho adottato.
    Attached Image
    Numerazione

     
    Top
    .
  5.     +1   -1
     
    .
    Avatar

    Junior Member

    Group
    Member
    Posts
    35
    Reputation
    +1

    Status
    Offline
    telaio 2d del prof. Gelfi "supera" la carenza di ftool,
    qui
    https://app.box.com/s/mb9y0ycfuwar1at8qcu0luj0zkhz4egs
    i files e alcune schermate.

    un solo dubbio
    entrambi i vincoli a terra sono cerniere?

    saluti
     
    Top
    .
  6.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (joemcgal @ 16/9/2019, 15:03) 
    telaio 2d del prof. Gelfi "supera" la carenza di ftool,
    qui
    https://app.box.com/s/mb9y0ycfuwar1at8qcu0luj0zkhz4egs
    i files e alcune schermate.

    un solo dubbio
    entrambi i vincoli a terra sono cerniere?

    saluti

    Si entrambi i vincoli sono delle cerniere, quindi la travature è due volte iperstatica internamente e una volta esternamente. Complessivamente tre volte iperstatica.

    Se riesco, oltre alle descrizione dei vari passi (sempre a beneficio di studenti che devono preparare un elaborato in ecel per il loro esame) penso di pubblicare il foglio.

    Poi tempo permettendo vorrei estendere il foglio prevedendo anche l'uso di VBA e quindi svincolarmi dalla numerazione dei nodi in un certo modo e dalle tabelle di dimensioni prefissate in funzione della travatura da esaminare.
    Ho visto che in rete c'è poco o nulla in merito.

    Vedremo dove arrivo.
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Iniziamo come al solito a costruire l'interfaccia relativa ai dati di input. Intavoliamo le linguette dando nome significativo, predisponiamo i piatti per i condimenti (tabelle dei materiali e delle sezioni).

    Ecco la tabella di input dei dati nodali.
    Questi sono:
    - il numero sequenziale del nodo (con l'accortezza di lasciare in fondo i nodi vincolati)
    - le coordinate x e y del nodo rispetto a un sistema di riferimento assoluto
    - i vincoli del nodo (0= libero; 1= vincolato)
    - i carichi direttamente applicati al nodo.

    Poi diamo alla tabella il nome "T_Nodi" e alla sua prima colonna il nome "I_Nodi". Questo per facilitare l'inserimento delle formule di ricerca quando faremo ricorso alla funzione Cerca.Verticale().

    Inseriamo un grafico a dispersioni di punti dove riporteremo la serie dei dati costituita dalla coordinate (questo per avere immediata visione sulla correttezza dell'input).
    Infine per avere un grafico approssimativamente proporzionale facciamo ricorso al codice di Peltier.
    Attached Image
    01TabellaDatiNodali

     
    Top
    .
  8.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Prima di passare alla tabella di input dei dati sulle aste, compiliamo le due tabelle di appoggio:

    Tabella dati delle sezioni, composta da:
    - numero sequenziale identificativo della sezione
    - dimensioni della sezione (b,h,t, base altezza e spessore)
    - determinazione dell'area
    - determinazione dell'inerzia

    Ho sfruttato quella che avevo predisposto per il telaio 2D, pertanto vi è la presenza del momento di inerzia che in effetti non è necessario per la risoluzione della travatura ma che potrebbe essere necessario in una successiva fare di verifica della sezione.

    Tabella dati dei materiali, composta da:
    - numero sequenziale identificativo del materiale;
    - breve descrizione
    - modulo di Yuong
    - peso per unità di volume
    - coefficiente di dilatazione termica.

    Valgono anche qui le stesse considerazioni fatte nel caso del telaio 2D sulle unita di misura scelte come input:
    - lunghezze in mm e forze in N.

    Pertanto il peso per unità di volume inserito in kN/m², dovrà essere riportato in N/mm³ all'atto del suo utilizzo.

    Edited by afazio - 18/9/2019, 09:59
    Attached Image
    02TabellaSezMat

     
    Top
    .
  9.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Passiamo alla tabella di input della aste. Questa deve contenere:
    - numero identificativo dell'elemento
    - nodo iniziale
    - nodo finale
    (i nodi iniziali e finali stabiliscono il versore o, viceversa, stabilito il versore ne discendono i nodi di inizio e di fine.
    Le coordinate dei nodi di inizio e di fine vengono lette automaticamente mediante la funzione CercaVerticale())
    - con le coordinate dei nodi si calcola la lunghezza;
    - identificativo della sezione (l'area e l'inerzia, anche se inutile in questo caso, vengono lette in automatico)
    - identificativo del materiale (modulo elastico e peso unitario dell'elemento letti in automatico )

    Dovrebbero seguire le colonne dedicate ai carichi sugli elementi, ma in questo prima stesura considero solo la colonna relativa ad un eventuale carico termico.

    Alla tabella cosi composta ho dato il nome "T_Aste_0". Essa verrà richiamata in altri fogli e completata con altre colonne contenenti i dati necessari per la composizione della matrice di compatibilità e di equilibrio.
    Attached Image
    03TabellaAste

     
    Top
    .
  10.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Il passo successivo è quello di creare una linguetta dedicata alla composizione delle varie matrici necessarie a risolvere l travatura e per prima cosa richiamare (anche per averla a portata di occhio) in questo nuovo foglio la tabella di input delle aste.
    Questa tabella la ho chiamata "T_Aste".

    Completeremo la tabella delle aste con ulteriori colonne ed in particolare con :
    - una colonna per il calcolo della rigidezza di ogni asta;
    - due colonne per il calcolo dei coseni direttori dell'asta (coseno e seno)
    Attached Image
    03TabellaAsteEstesa

     
    Top
    .
  11.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    La matrice di COMPATIBILITA'

    Parliamone un pò.

    L'equazione di compatibilità è l'equazione che lega le dilatazioni (allungamenti o accorciamenti) degli elementi, agli spostamenti dei suoi nodi di estremità.

    Indicando con :


    il vettore degli spostamenti dei nodi in cui, naturalmente, l'iesimo elemento possiede le due componenti di spostamento lungo x e lungo y :


    indicando con:

    il vettore delle dilatazioni delle m aste,

    indicando con:

    il versore della k-esima asta;

    l'equazione di compatibilità si scrive:

    in cui [C] Rappresenta la matrice di compatibilità
     
    Top
    .
  12.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Per la costruzione della matrice di compatibilità, consideriamo la generica asta k e di questa consideriamo gli spostamenti dei sui nodi di estremità ξi e ξj.

    ReNf6Sd



    la dilatazione (allungamento o accorciamento) è data dalla differenza tra la lunghezza deformata misurata lungo la direzione originaria e la lunghezza indeformata:

    5jTW3gr



    e= L'- L

    Occorre pertanto proiettare i due spostamenti ξi e ξj lungo la direzione α, secondo lo schema che segue:

    aXAInXp



    La proiezione dello spostamento lungo la direzione originaria si esprime pertanto attraverso il prodotto scalare:



    la dilatazione si scrive:

     
    Top
    .
  13.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Scrivendo una equazione (simile a quest'ultima) per ciascuna asta, è possibile notare che in ciascuna equazione vi è la presenza del versore relativo alla sua direzione, ma col proprio segno relativamente al nodo finale e col segno opposto relativamente al nodo iniziale.

    La matrice di compatibilità viene costruita proprio in base a quest'ultima considerazione.
    Essa sarà una matrice avente un numero di righe pari al numero delle aste costituenti la travatura, ed un numero di colonne pari al doppio del numero dei nodi (sia liberi sia vincolati). Pertanto il suo ordine sarà:

    C=[m; 2n]

    ove con m indico il numero complessivo delle aste e con n il numero complessivo dei nodi.

    In questa matrice gli elementi non nulli sono quelli in corrispondenza dei due nodi relativi all'asta.

    Nel caso dell'esercizio in esame, possiamo predisporre una tabella con 15 righe e 8*2=16 colonne:

    hxqSRLw

    Questa dovremo riempirla con una procedura automatica, che cercherò di illustrare prossimamente.
     
    Top
    .
  14.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Nell'immagine allegata ho riportato come esempio da seguire per la costruzione della matrice C, le quattro righe relative alle aste 3, 5, 8, 14
    Attached Image
    Compatibilita05

     
    Top
    .
  15.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Riempire la matrice di compatibilità operando "ad occhio" non sarebbe poi la fine del mondo per una piccola travatura con poche aste. Quando però le aste iniziano ad affollarsi, l'operazione potrebbe anche essere abbastanza noiosa, fonte di errori e sopratutto troppo rigida, nel senso che se volessimo variare qualcosa nella struttura con rinumerazione dei nodi e quindi anche variazione nella tabella delle aste, dovremmo nuovamente calzare occhiali e ricostruire la matrice.

    Possiamo riempire la matrice, anche senza ricorrere a VBA, con un'UNICA FORMULA da copiare e incollare (semplicemente trascinandola) in tutte le celle della tabella.
    La tecnica, formula compresa, è illustrata nella seguente immagine.

    Naturalmente per la cella accanto relativa allo stesso numero di nodo, al posto del coseno metteremo il seno. I valori del seno e del coseno li preleviamo dalla tabella delle aste estesa che si trova proprio accanto alla matrice di compatibilità.

    (ho dato la formattazione colorata alle celle con valore non nullo per verificare a vista se in effetti le celle interessate sono quelle che mi aspetto che siano).
    Attached Image
    Compatibilita06

     
    Top
    .
35 replies since 14/9/2019, 19:51   5593 views
  Share  
.