Il Bar dell'Ingegneria

Semplice telaio 3D in excel

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

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Propongo in questo topic di elaborare un foglio di calcolo di tipo didattico per la risoluzione di un semplice telaio 3D.

    Ancora non ho le idee chiare su come procedere, ma intanto apro il topic per segnaposto. Naturalmente chiunque può partecipare.

    Edited by afazio - 26/9/2019, 23:43
    Attached Image
    Copertina

     
    Top
    .
  2.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    vediamo se riesco ad aiutare afazio commentando l'esempio che io stesso ho proposto.

    jpg


    faccio notare che il sistema di riferimento globale (quello della struttura) non è centrato nel baricentro dell'impalcato. i sistemi di riferimento locali (assi csi) sono orientati (ove possibile conviene sempre) concordemente con quello globale. in questo esempio si è assunta l'ipotesi di impalcato rigido, che comporta la riduzione delle coordinate di spostamento globali alle sole Sx, Sy, Fi. altresì comporta l'ipotesi di telai piani tutti a comportamento shear-type (e dunque la riduzione delle coordinate di spostamento locali alla sola delta di piano).

    jpg


    la matrice di rigidezza del singolo telaio si costruisce facilmente assegnando un valore unitario a ciascuna delle componenti di spostamento individuate (in questo caso, una sola per via dell'ipotesi di telaio shear-type). faccio notare espressamente (perché servirà al prossimo passaggio) che la rigidezza di un telaio piano per componenti di spostamento fuori dal proprio piano è nulla. le matrici di rigidezza così costruite valgono solo nel sistema locale di ciascun telaio: occorre dunque "proiettare" le rigidezze dei telai piani scritte nel rispettivo piano nel sistema globale della struttura. a tale scopo servono le matrici di proiezione.

    jpg


    pur trattandosi in generale di matrici, in questo caso abbiamo una sola riga perché il numero di righe dipende dagli spostamenti di ciascun telaio nel proprio piano. il numero di colonne dipende dal numero degli spostamenti della struttura nel riferimento globale (dunque 3 colonne). il generico elemento di ogni matrice ci dice quanto vale lo spostamento i-esimo del telaio nel riferimento locale quando si assegna un valore unitario allo spostamento j-esimo della struttura nel riferimento globale. allora si vede che - ad esempio per il telaio A - lo spostamento delta vale 1 quando Sx=1, delta è pari a zero quando Sy=1, delta è pari a -5 quando Fi=1. riguardo a questo ultimo risultato, a parte notare che è negativo perché controverso alla direzione positiva di csi, bisogna ricordare un po' di meccanica razionale e che vale l'ipotesi di piccoli spostamenti (spostamento ortogonale alla congiungente col centro di rotazione, che è rappresentato dall'origine del sistema globale).

    jpg


    jpg


    nota la matrice di rigidezza del singolo telaio nel riferimento locale e nota la matrice di proiezione, si costruiscono le matrici di rigidezza di ciascun telaio nel sistema di riferimento globale. la matrice di rigidezza dell'intera struttura (nel riferimento della struttura) sarà data dalla somma delle matrici di tutti i telai.

    jpg


    a questo punto bisogna ripetere queste operazioni con le azioni. non vi sono azioni sui singoli telai (cioè in uno o più riferimenti locali) ma vi è solo un'azione di intensità H sull'impalcato (tipicamente una forza sismica). per questa costruzione si fa ricorso all'analogia forze/spostamenti e momenti/rotazioni. considerando i versi positivi attribuiti alle componenti di spostamento globale, ad Sx corrisponde H, a Sy corrisponde 0, a Fi corrisponde -2,5H (momento di H rispetto all'origine con segno determinato dal verso assunto per Fi).

    jpg


    impostato il sistema risolvente in forma matriciale, si procede con le usuali tecniche di algebra lineare. il risultato sarà evidentemente espresso in termini di spostamento globale. per avere gli spostamenti dei singoli telai espressi nel rispettivo riferimento locale si fa di nuovo uso delle matrici di proiezione.

    jpg


    si fa notare (come atteso) che i telai che si spostano solamente fuori dal proprio piano e non anche nella direzione dell'asse csi locale (telai C e D) hanno un vettore degli spostamenti identicamente nullo. noti gli spostamenti, si ricavano le sollecitazioni.

    jpg


    capito questo esempio, si potrà facilmente capire anche l'altro esempio (che ho postato nel thread dedicato) nel quale vi sono dei telai inclinati rispetto agli assi globali.
     
    Top
    .
  3.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Non pensavo di impostare un foglio per risolvere un telaio con l'ipotesi di unico spostamento di piano, ma ricorrendo alla formulazione generale che prevede sei gradi di libertà per ogni nodo libero e una matrice di rigidezza locale della singola asta di ordine 12*12.
     
    Top
    .
  4.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Possiamo dire che ogni nodo possiede sei gradi di libertà: le tre traslazioni secondo gli assi e le tre rotazioni attorno agli stessi.
    La forza generica applicata al nodo possiede sei componenti: le tre componenti secondo gli assi e i tre momenti attrorno agli stessi.

    Con riferimento allo schema postato nel primo messaggio, indicando con u il vettore degli spostamenti del generico nodo:



    e con F il vettore delle forze nodali:



    Raccogliendo in unico vettore, gli spostamenti relativi agli estremi di una asta e in unico vettore le forze di estremità dell'asta:





    la relazione tra forze nodali e spostamenti nodali nel sistema di riferimento locale dell'asta è espresso da:


    In cui rappresenta k la matrice di rigidezza locale dell'asta.
     
    Top
    .
  5.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Occorre porre attenzione nel diverso significato del vettore delle forze nodali definito dalle sue 6 componenti, come nel messaggio precedente, ed il vettore delle forze di estremità dell'asta, definito attraverso 12 componenti (sei per ciascun nodo)
    Quest'ultimo è da intendersi, più correttamente, come il vettore delle sollecitazioni alle estremità dell'asta e quindi le componenti rappresentano rispettivamente:
    - sforzo assiale
    - sforzo di taglio diretto lungo l'asse locale y
    - sforzo di taglio diretto lungo l'asse locale z
    - momento torcente
    - momento flettente con asse vettore asse y
    - momento flettente con asse vettore asse z

    Edited by afazio - 29/9/2019, 09:43
     
    Top
    .
  6.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    CITAZIONE (afazio @ 29/9/2019, 09:33) 
    la relazione tra forze nodali e spostamenti nodali nel sistema di riferimento locale dell'asta è espresso da:
    ...
    In cui rappresenta k la matrice di rigidezza locale dell'asta.

    aggiungiamo anche (per i neofiti di questo metodo) che la matrice di rigidezza k della generica asta è formalmente invariabile, nel senso che i suoi elementi (o termini kij che dir si voglia) hanno ciascuno una propria espressione "algebrica" che non cambia al variare della geometria o del materiale che costituisce l'asta (sempre assumendo sezione trasversale costante):

    jpg



    nella matrice qui sopra non si tiene conto degli effetti deformativi dovuti al taglio, cosa che complicherebbe ulteriormente le espressioni dei vari elementi.
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    ok. Reversi mi ha agevolato ed evito di incollare qui la matrice di rigidezza locale dell'asta che avevo predisposto io.

    Da questi primi messaggi discende che avendo nota la geometria attraverso l'input delle coordinate dei nodi e l'input della tabella di connessione delle aste, dei materiali utilizzati per ciascuna asta, e delle sezioni, possiamo costruire le matrici di rigidezza locali di ciascuna asta.

    Ci serve calcolare preventivamente tutti i termini presenti nella matrice di rigidezza e poi trovare un modo per comporre le matrici richiamando i valori gia determinati.
    In alternativa si potrebbe delegare la formazioni delle suddette matrici ad una procedura automatica VBA perdendo cosi il carattere prettamente didattico indirizzato agli allievi ingegneri.

    Vedrò nel futuro come procedere.
     
    Top
    .
  8.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Riscritta per esteso, l'equazione matriciale precedente è:
    Attached Image
    EquazEstesa

     
    Top
    .
  9.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    La tabella di input dei dati nodali e elativi nomi fin'ora attribuiti.
    In questo progetto farò quindi ricorso alle tabelle dinamiche e a qualche rigo di codice dato che ho intenzione di far disegnare i grafici 3D.
    Attached Image
    001-InputNodi

     
    Top
    .
  10.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Il primo impegno consiste nel calcolare le coordinate dei nodi in un sistema assonometrico avente angoli di Eulero α β ϒ rispettivamente gli angoli tra l'asse x ex' asse y e y' e asse z e z'. Per meglio comprendere il processo di proiezione in 3D vedere il topic "proiezioni in ripresa".
     
    Top
    .
  11.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    (secondo me) se prendi questa strada non stai più parlando di un telaio 3D come da titolo del topic ma di un solutore generale di un sistema di aste.
     
    Top
    .
  12.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    No.
    Per adesso intendo inserire il codice per la gestione del grafico 3D, anche se non escludo di poter gestire le matrici direttamente da codice. Questo comporterebbe la scrittura di procedure per la trasposizione, moltiplicazione e inversione di una matrice (che non è cosa da poco e dalla quale sono attirato). Ma anche a voler inserire questi codici, da qui a parlare di solutore generale di un sistema di aste ne passa ancora parecchio dovendo poter gestire anche i carichi (di qualsiasi tipo), gli svincolamenti interni ed esterni, cedimenti vincolari sia essi elastici che anelastici e distorsioni.

    Per intanto cerco di produrre qualcosa anche se di tipo "misto" cioè con del codice appoggiato ai fogli di calcolo.
     
    Top
    .
  13.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Nell'immagine che segue è illustrato quanto espresso:
    per adesso il codice che sto implementando nel foglio, si occupa esclusivamente di predisporre i dati inseriti in input, sotto forma di coordinate in proiezione assonometrica.
    Lo scopo è quello di verificare visivamente se l'input è quello che si pensa debba essere.
    Attached Image
    002-InputNodiGrafico

     
    Top
    .
  14.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Considerato che purtroppo le immagini che accompagnavano i discorsi nel topic "Proiezioni in ripresa" sono andate perdute per le strane dinamiche del web (servizi di hosting immagini che nel tempo vengono dismessi) e che pertanto è difficile seguire i messaggi di quel topic, ripropongo ,anche per futura memoria sperando che il servizio imgUr mantenga la sua, lo schema proiettivo dal quale sono state ricavate le formule per le coordinate di un punto dal "sistema mondo" al sistema disegno.

    2cudUqN



    In questo primo schema, il piano su cui si proietta il punto reale dal punto obiettivo V, è posto ad una distanza a dal piano xz ed è parallelo a quest'ultimo piano mentre il punto V si trova ad una distanza d dal piano di proiezione.

    Le coordinate assonometriche (proiezione da un punto di vista posto all'infinito) sono, banalmente le due coordinate x e z, mentre le coordinate prospettiche si ricavano attraverso due similitudini applicate ai triangoli estratti dallo schema.

    Per ottenere un effetto 3D è necessario ruotare il piano di proiezione di qualche angolo rispetto ai tre assi.
    Ruotare il piano PiGreco di Beta attorno all'asse v (o z) equivala e ruotare l'oggetto reale di -Beta rispetto all'asse z.
    Quest'ultima operazione si ottiene facilmente operando il prodotto scalare tra la matrice di rotazione e la matrice delle coordinate dei punti.
    E' quindi possibile ottenere qualsiasi tipo di proiezione (assonometrica o proiettiva) facendo ruotare il mondo attorno ai tre assi coordinati ciascuno di qualsivoglia angolo e quindi applicare il procedimento illustrato in figura.
     
    Top
    .
  15.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Le matrici di rotazione attorno a ciascun asse di un angolo generico ϑ sono:
    Attached Image
    004-Rotazioni

     
    Top
    .
396 replies since 26/9/2019, 22:11   16302 views
  Share  
.