Ti sei mai chiesto come funziona essenzialmente il software strutturale? Continua a leggere, e scoprirai come possiamo utilizzare la piattaforma SkyCiv e la programmazione Python attraverso un esempio sviluppato in un'aula di Analisi strutturale.
Una rapida rassegna di analisi strutturale
Spesso utilizziamo software disponibili per risolvere un'analisi strutturale, che si traduce in forze, Dislocamento, sottolinea, eccetera. In parole povere, il problema cade nella seguente forma:F=K∙d
F=Re∙d
Dove:
- F sono le forze vettoriali
- K è la rigidezza della struttura
- d è il campo di spostamento
L'obiettivo principale è convertire una struttura continua in discreta “pezzi” di un'assemblea e analizzarla, ottenere forze e spostamenti. Occorre seguire un percorso generale:
- Preelaborazione: il primo passo nell'analisi strutturale, dove otteniamo i dati della struttura, geometria, proprietà dei materiali, e carica e finalizza quando viene costruita la matrice di rigidezza globale.
- Processi: dove risolviamo l'espressione precedente, F=K∙d F=Re∙d. Alcuni metodi generalmente accettati per risolvere il sistema di equazioni lineari sono Gauss-Jordan, Eliminazione gaussiana, eccetera.
- Dopo processo: la parte finale per visualizzare i risultati in termini di forze e sollecitazioni, se necessario.
Esempio di telaio planare
The case example consists of a regular planar frame (figura 1).
figura 1. Structural 2D Frame Example
The element’s properties for columns, travi, e i materiali lo sono:
Elemento strutturale | La zona, (mm^2) | Inerzia, (mm^4) |
---|---|---|
Colonne | 93,000 | 720,000,000 |
Travi | 140,000 | 2,430,000,000 |
Proprietà del calcestruzzo:
- Forza materiale, f'c=20MPun' f′c=20MPa
- Modulo di Young, E=17000MPun' E=17000MPa
Programmazione Python e modellazione SkyCiv
Ora è il momento di iniziare a lavorare in parallelo con la modellazione in Python e SkyCiv. figura 2 mostra i dati inseriti (nodi, elementi, gradi di libertà, orientamento dell'asse locale) per il codice sviluppato in Python. Puoi controllare tu stesso il file ed eseguire l'esempio attraverso questo collegamento.
figura 2. Funzione di matrice di rigidezza locale
Il file Python utilizza un paradigma di programmazione funzionale perché è facile da spiegare e sviluppare in classe. Questo consiste nel dividere e conquistare, modularizzazione della costruzione del codice e dei suoi metodi.
Quando si codifica il metodo, the most important is to define the mathematical formulation to apply. We will use the Euler Bernoulli Beam:
In sintesi, i passaggi necessari per eseguire l'analisi utilizzando la programmazione Python sono i seguenti (Riproduciamo alcune parti dello script Python):
- Definire i nodi e le loro coordinate (xi, fare )
- Determinare la matrice di rigidezza globale per ciascun elemento (kg)
- Assemblaggio della matrice di rigidezza della struttura globale (Sgr )
- Determinare il vettore di carico globale per ciascun elemento e assemblarlo nel vettore di carico della struttura generale (P, Pf)
- Risolvere l'equazione generale per lo spostamento del campo ({P – P_f} = [S]{d})
- Ottieni le forze globali e locali per ciascun elemento (Fi, Chi)
Il modello SkyCiv e i carichi applicati sono mostrati in figura 3. Consideriamo un solo caso di carico, comprese le forze gravitazionali e laterali applicate ai nodi.
figura 3. Carichi applicati sul telaio (Un solo caso di carico combinato)
Risultati e confronto
Dopo aver eseguito il modello SkyCiv e il file python, è tempo di confrontare e analizzare i risultati.
1. Spostamento di campo
figura 4. Spostamento totale in SkyCiv (millimetri)
d, mm, SkyCiv | d, mm, Script Python | (Delta )% |
---|---|---|
88.76 | 92.845 | 4.40 |
-0.414 | -0.416 | 0.48 |
141.493 | 151.641 | 6.69 |
-0.652 | -0.653 | 0.153 |
141.284 | 151.423 | 6.69 |
-0.987 | -0.986 | 0.101 |
88.694 | 92.786 | 4.41 |
-0.679 | -0.677 | 0.295 |
Le differenze di valori (Script Python e SkyCiv S3D) sono minori, con circa 2.90% come mezzo.
2. Forze assiali
figura 5. Forze assiali sviluppate nel telaio
Q, kN, SkyCiv | Q, kN, Script Python | (Delta )% |
---|---|---|
109.056 | 109.519 | 0.423 |
62.857 | 62.616 | 0.383 |
41.589 | 43.252 | 3.845 |
13.113 | 11.709 | 10.707 |
81.143 | 81.384 | 0.296 |
178.944 | 178.480 | 0.2593 |
Le differenze di valori (Script Python e SkyCiv S3D) sono minori, con circa 2.65 % come mezzo.
3. Forze di taglio
figura 6. Forze di taglio sviluppate nel telaio
Q, kN, SkyCiv | Q, kN, Script Python | (Delta )% |
---|---|---|
35.318 | 35.039 | 0.790 |
35.318 | 35.039 | 0.790 |
-11.569 | 13.252 | 12.700 |
-11.569 | 13.252 | 12.700 |
62.857 | 62.616 | 0.383 |
-81.143 | -81.384 | 0.296 |
46.199 | 46.903 | 1.501 |
-97.801 | -97.097 | 0.720 |
41.569 | 43.252 | 3.891 |
41.569 | 43.252 | 3.891 |
54.682 | 54.961 | 0.508 |
54.682 | 54.961 | 0.508 |
Le differenze di valori (Script Python e SkyCiv S3D) sono minori, con circa 3.22% come mezzo.
4. Momenti flettenti
figura 7. Momenti sviluppati nella cornice
Q, kN-m, SkyCiv | Q, kN-m, Script Python | (Delta )% |
---|---|---|
-130.993 | -133.213 | 1.667 |
80.916 | 77.022 | 4.812 |
37.358 | 42.713 | 12.537 |
-32.057 | -36.797 | 12.881 |
-32.057 | -36.797 | 12.881 |
-141.776 | -149.400 | 5.103 |
43.558 | 34.309 | 21.234 |
-266.054 | -266.859 | 0.302 |
107.639 | 110.109 | 2.243 |
-141.776 | -149.400 | 5.103 |
169.676 | 173.016 | 1.930 |
-158.415 | -156.749 | 1.052 |
Le differenze di valori (Script Python e SkyCiv S3D) sono minori, con circa 6.81% come mezzo.
5. Conclusione
Questo post è servito come test che il Piattaforma SkyCiv è una risorsa eccellente per scopi educativi grazie alle sue potenti capacità di analisi strutturale. Utilizzando la programmazione Python e confrontando i risultati con un software accurato come SkyCiv, è un must che ogni corso di ingegneria deve includere nel suo contenuto principale.
Lascia un commento