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.

CONTROLLA IL CODICE PYTHON

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=Kd

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=Kd 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).

SkyCiv and Python Programming - Analisi strutturale

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.

SkyCiv and Python Programming - Local stiffness matrix functions

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.

CONTROLLA IL CODICE PYTHON

Quando si codifica il metodo, the most important is to define the mathematical formulation to apply. We will use the Euler Bernoulli Beam:

Copia negli appunti
[/fusione_testo]
CONTROLLA IL CODICE PYTHON

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 )
Copia negli appunti
  • Determinare la matrice di rigidezza globale per ciascun elemento (kg)
Copia negli appunti
  • Assemblaggio della matrice di rigidezza della struttura globale (Sgr )
Copia negli appunti
  • Determinare il vettore di carico globale per ciascun elemento e assemblarlo nel vettore di carico della struttura generale (P, Pf)
Copia negli appunti
  • Risolvere l'equazione generale per lo spostamento del campo ({P – P_f} = [S]{d})
Copia negli appunti
  • Ottieni le forze globali e locali per ciascun elemento (Fi, Chi)
Copia negli appunti
CONTROLLA IL CODICE PYTHON

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.

SkyCiv and Python Programming - Load applied

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

SkyCiv and Python Programming - 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

SkyCiv and Python Programming - 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

SkyCiv and Python Programming - 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

SkyCiv and Python Programming - Momento flettente

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.