DELLE MARCHE
Facoltà di Ingegneria
Corso di Ingegneria Civile
Strutture Tensegrity
Metodi di analisi e di ricerca di forma
Relatore Laureando
Prof. Fabrizio DAVÍ Dario GENOVESE
Mio fratello Giulio Genovese per avermi aiutato a reperire gran parte del
materiale indicato in bibliograa (soprattutto gli articoli) e per avermi dato
più volte chiarimenti sul comportamento di vettori e matrici.
La mia amica Silvia Socinovi, per essermi stata sempre vicina, e per essere
stata sempre disponibile a fare quattro chiacchiere in chat quando non mi
venivano idee per organizzare la teoria.
Il mio relatore, prof. Fabrizio Davì, per la ducia concessami nel propormi
lo studio di un argomento così interessante.
Indice
Introduzione 1
1 STATICA E CINEMATICA DELLE STRUTTURE RETI-
COLARI 7
1.1 Denizione del modello matematico . . . . . . . . . . . . . . . 7
1.2 La regola di Maxwell . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 L'arco a tre cerniere . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.1 L'arco a tre cerniere allineate . . . . . . . . . . . . . . 12
1.4 Linearizzazione algebrica . . . . . . . . . . . . . . . . . . . . . 13
1.4.1 Matrici cinematica e di equilibrio . . . . . . . . . . . . 14
1.4.2 Decomposizione ai valori singolari della matrice di equi-
librio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.3 Eetti delle autotensioni . . . . . . . . . . . . . . . . . 18
1.5 Stabilità dell'equilibrio . . . . . . . . . . . . . . . . . . . . . . 19
1.6 Moti rigidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.6.1 Decomposizione ai valori singolari per calcolare la ma-
trice vincolare . . . . . . . . . . . . . . . . . . . . . . . 22
1.7 Interpretazione energetica e ordine dei meccanismi . . . . . . . 23
1.7.1 Esemplicazione graca . . . . . . . . . . . . . . . . . 24
1.8 Vincoli tensionali . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.9 Eetti non lineari . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 ANALISI NUMERICHE 47
3.1 Esempi numerici di ricerca di forma . . . . . . . . . . . . . . . 48
3.1.1 Struttura bidimensionale . . . . . . . . . . . . . . . . . 48
3.1.2 Struttura bidimensionale con vincoli cinematici e geo-
metrici . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 Struttura quadripode tridimensionale . . . . . . . . . . 55
3.1.4 Torre tensegrity triangolare a due livelli . . . . . . . . . 60
3.2 Analisi di una torre tensegrity . . . . . . . . . . . . . . . . . . 67
Conclusioni 71
A Codici in linguaggio Matlab 73
A.1 Codice per la ricerca della forma . . . . . . . . . . . . . . . . . 73
A.2 Codice per la rimozione dei moti rigidi . . . . . . . . . . . . . 76
A.3 Codice per determinare i meccanismi . . . . . . . . . . . . . . 77
Bibliograa 79
Introduzione
1
2 Introduzione
7
8 Statica e cinematica delle strutture reticolari
ed una rotazione. Sono possibili sei moti rigidi indipendenti (tre nello spazio
bidimensionale). Non è possibile eliminare questo tipo di meccanismo, a
meno che non si introducano dei vincoli esterni (cerniere e carrelli a terra).
Si suppone che i vincoli cinematici esterni siano esprimibili da relazioni
lineari. Detto k il numero dei vincoli, ciascuno contato con la sua molte-
plicità, si può porre f ? = Vf e d = VT d? . La matrice V è una matrice
(3j − k) × 3j . L'azione del vincolo si manifesta impedendo certi tipi di
spostamenti e reagendo alle forze nella medesima direzione. Da un punto di
vista matematico il vincolo riduce gli spazi vettoriali delle possibibili d ed
f a dei sottospazi vettoriali. Nell'usuale caso in cui i vincoli siano costituiti
da cerniere a terra, la matrice V è ottenuta togliendo dalla matrice identità
di ordine 3j tre righe per ogni cerniera, corrispondenti alle tre direzioni del
nodo vincolato. In assenza di vincoli V è l'identità.
Il prodotto scalare f · d è il lavoro delle forze esterne. Tenendo conto dei
vincoli si può esprimere anche come f · VT d? = Vf · d? = f ? · d? .
La variazione dell'energia interna è espressa dal prodotto scalare dEint =
t · de.
Si denisce inne Ei Ai /li3 la rigidezza della barra i-esima (sempre po-
sitiva). E ed A sono rispettivamente il modulo elastico del materiale con
cui è fatta la barra e l'area della sua sezione. La rigidezza mette in re-
lazione la tensione con l'allungamento mediante un legame costitutivo. Si
ha ti = (EA/l3 )i ei . Questa relazione, vettorialmente, può scriversi come
t = He, dove H è una matrice diagonale di dimensione b.
In questo modello matematico si dovranno denire le condizioni di equi-
librio e di compatibilità, ovvero trovare delle relazioni tra le variabili intro-
dotte che assicurino che la risultante delle forze sui nodi sia nulla e che gli
allungamenti siano compatibili con gli spostamenti nodali.
b = 3j − k (1.1)
Questa proposizione è nota come regola di Maxwell. Esistono tuttavia
delle eccezioni a questa regola in particolari casi in cui alcuni vincoli sono
inecienti o ridondanti, o a causa di una cattiva congurazione topologica
della struttura o per una cattiva disposizione geometrica dei nodi e delle
barre.
10 Statica e cinematica delle strutture reticolari
s = b − rA m = 3j − k − rA (1.2)
Da queste due equazioni si ottiene la generalizzazione della regola di
Maxwell :
b = 3j − k + s − m (1.3)
In particolare se s = m si ha una struttura che soddisfa la regola di
Maxwell ma che è tante volte labile quanto iperstatica.
Si osservi che per garantire l'equilibrio del nodo non è possibile alcuno
stato di pretensione. Siano d lo spostamento verticale del nodo, e e t l'allun-
gamento e la tensione su ciascuna delle due barre. Supponendo f e quindi
Statica e cinematica delle strutture reticolari 11
f = t · 2h
(1.4)
e=d·h
Se si prendono in considerazione entrambe le componenti della forza f
e degli spostamenti d, le 1.4 possono essere scritte nelle seguente forma
matriciale:
f1 h h t1
= (1.5)
f2 a −a t2
e1 h a d1
= (1.6)
e2 h −a d2
ovvero
f ? = At e = Bd? (1.7)
d? = K−1 f ? (1.10)
d2
e= (1.13)
2
Dal legame costitutivo si ottiene la tensione t su ciascuna delle due barre
EA d2
t= · (1.14)
l3 2
Inne, dall'equilibrio
d EA d2 d d3
f = 2t · l · = 3 · · l · = EA 3 (1.15)
l l 2 l l
La struttura possiede una rigidezza non lineare, del terzo ordine. Questo
signica che se f è molto piccola (innitesima del primo ordine), d è molto
grande rispetto ad f (d è innitesimo di ordine 1/3). La rigidezza lineare è
nulla, e da un punto di vista classico la struttura è labile.
In caso di pretensione le cose cambiano. Vi è infatti la possibilità di avere
uno stato di autotensione, equilibrata in assenza di forze esterne. Si ha in
particolare s = 1 ; m = 1. Supponiamo che sulla struttura indisturbata agi-
sca una pretensione t0 , essendo t0 una tensione non innitesima già presente
su ciascuna delle due barre. Dopo l'applicazione della forza f le 1.14 e 1.15
diventano rispettivamente
Statica e cinematica delle strutture reticolari 13
EA d2
t= · + t0 (1.16)
l3 2
d3
f = EA 3 + 2t0 d (1.17)
l
In questo caso la struttura acquista rigidezza lineare. L'entità dello
spostamento è dello stesso ordine della forza.
E' interessante notare che la rigidezza è positiva se è positivo t0 . Nel caso
in cui t0 < 0 l'arco a tre cerniere allineate risulta compresso, e la rigidezza
diventa negativa. Questo è sicamente inaccettabile, signicherebbe che la
forza causa uno spostamento opposto ad essa, compiendo lavoro negativo. In
assenza di carichi la struttura è in equilibrio instabile, ovvero qualsiasi per-
turbazione verticale del nodo centrale causa uno scostamento dalla posizione
di equilibrio, che viene riacquisito in una nuova posizione mettendo in conto
le componenti non lineari degli allungamenti e delle tensioni.
ld (1.18)
Questa assunzione permette di approssimare gli allungamenti e con fun-
zioni lineari di d, o al più del secondo ordine come si farà nel Par.1.7.
Le autotensioni si suppongono di un ordine di grandezza più grande delle
forze applicate, e delle tensioni da esse prodotte. Nello scrivere quindi t =
t0 + t0 si suppone t0 t0 . L'autotensione è di un ordine di grandezza più
piccola del legame costitutivo, ovvero
t0 EA/l (1.19)
Quest'ultima assunzione si rende necessaria perchè per molti materiali la
tesnione di rottura (e quindi la pretensione applicabile) è molto inferiore al
modulo elastico. Inoltre ci permette di mantenere costante la lunghezza della
14 Statica e cinematica delle strutture reticolari
A0 t = f (1.21)
Introducendo i vincoli:
VA0 t = Vf (1.22)
Ponendo VA0 = A
At = f ? (1.23)
La matrice di equilibrio A ha dimensioni (3j − k) × b. Ogni colonna di
A rappresenta una barra. Nel caso che i vincoli siano costituiti da cerniere
a terra, ogni colonna ha sei termini non nulli ed opposti a due a due, ad
Statica e cinematica delle strutture reticolari 15
eccezione di quelle che si riferiscono a barre con nodi a terra. Si osservi che
A = A(x) è funzione lineare della posizione x.
Se non esplicitamente indicato, si supporrà sempre A = A(x). La linea-
rità della matrice di equilibrio nella congurazione geometrica è una diretta
conseguenza dell'aver scelto il rapporto tra tensione e lunghezza della barra
come parametro caratterizzante lo stato tensionale. Vedremo in seguito che
A(x) può essere espressa come il prodotto di un tensore del terzo ordine per
il vettore posizione x.
Se si considera una barra che connette i nodi P e Q si può scrivere il suo
allungamento e in funzione degli spostamenti nodali dP x , dP y , dP z ; dQx , dQx ,
dQx e delle coordinate xP , yP , zP ; xQ , yQ , zQ
e = (xP −xQ )(dP x −dQx )+(yP −yQ )(dP y −dQy )+(zP −zQ )(dP z −dQz ) (1.24)
Questa equazione può essere scritta per ciascuna barra ottenendo il siste-
ma
B0 d = e (1.25)
Denendo la matrice cinematica B = B0 VT si ha
Bd? = e (1.26)
Si osservi che A = BT . Il principio dei lavori virtuali aerma che, in
una qualsiasi congurazione equilibrata, qualsiasi variazione virtuale degli
spostamenti dd? crea la stessa variazione di energia interna ed esterna. In
simboli
t · de = f ? · dd? (1.27)
Sostituendo e ed f ? , si ottiene t · Bdd? = At · dd? , da cui inne
A = BT (1.28)
La matrice A è un operatore lineare tra Rb (spazio delle tensioni) e R3j−k
(spazio dei carichi). La teoria degli operatori lineari associa ad A quattro
sottospazi vettoriali. Ad ognuno di essi può essere data sia un'interpretazione
statica, sia un'interpretazione cinematica, essendo A = BT .
Lo spazio colonna o immagine di A è lo spazio generato dalle sue colonne,
e si indica con ImA. La sua dimensione è pari al rango di A (rA ). Dal punto
di vista statico rappresenta le forze nodali a cui la struttura può far fronte
senza cambiamenti di forma. Ragionando sullo spazio riga di B, questo spazio
16 Statica e cinematica delle strutture reticolari
è isomorfo allo spazio degli spostamenti nodali che causano allungamenti nelle
aste.
Complemento ortogonale questo spazio è lo spazio nullo sinistro di A,
indicato con KerAT , che rappresenta lo spazio delle forze che non possono
essere applicate alla struttura mantenendola in equilibrio, ed ha dimensione
m = 3j − k − rA . L'interpretazione cinematica è lo spazio nullo di B, ovvero
l'insieme dei vettori d a cui corrisponde e = 0. Questo spazio è l'insieme
degli spostamenti nodali che sono meccanismi.
Lo spazio riga di A, di dimensione rA , rappresenta invece gli stati ten-
sionali che devono essere equilibrati da carichi esterni. Si indica con ImAT .
Per ogni carico applicato alla struttura senza autotensioni, lo stato tensionale
delle barre è una combinazione lineare della base di questo spazio. Cinema-
ticamente lo spazio colonna di B è l'insieme degli allungamenti delle barre
che rispettano la compatibilità dei vincoli.
Lo spazio nullo o kernel di A è il complemento ortogonale del precedente,
e si indica con KerA. Ha dimensione s = b − rA . Rappresenta l'insieme
delle autotensioni applicabii alla struttura. Cinematicamente lo spazio nullo
sinistro di B è associato a tutti quegli allungamenti che sono incompatibili
con la congurazione iniziale.
Il tutto è sintetizzato in tab.1.1.
Spazio di A Dimensione Interpretazione statica Interpretazione cinematica
Spazio colonna rA Carichi che possono essere Spostamenti che causano al-
R3j−k equilibrati da t lungamenti nelle barre
Spazio nullo sx m = 3j − Carichi non equilibrabili nel- Meccanismi
R3j−k k − rA la congurazione iniziale
Spazio riga rA Tensioni possibili in assenza Allungamenti compatibili
Rb di autotesnioni delle barre
Spazio nullo s = b − rA Autotensioni Allungamenti incompatibili
Rb delle barre
• A = B C DT
• Gli elementi Cii sulla diagonale di C sono tutti non negativi ed ordinati
in ordine non crescente al crescere di i.
A = DETT (1.29)
ed ha la forma indicata in gura 1.5
D0 D00 (1.30)
D=
Le colonne di D0 , matrice di dimensione 3j × rA , sono una base ortonor-
male dello spazio degli spostamenti che non sono meccnaismi; le m colonne
di D00 sono invece meccanismi.
La matrice T è così composta:
T0 T00 (1.31)
T=
Le colonne di T0 , matrice di dimensione b × rA , sono una base delle
tensioni equilibrate da forze esterne senza autotensioni, mentre quelle di T00 ,
di dimensione b × s, sono una base dello spazio delle autotensioni.
18 Statica e cinematica delle strutture reticolari
e = e0 + e0 = e0 + A(x)T d? (1.34)
Esaminando la 1.32, e ricordando che A(x)t0 = 0 e che d e t0 sono
innitesimi, trascurando gli innitesimi di ordine superiore al primo possiamo
trasformare la 1.33 in
rappresentano la stessa coordinata dei due nodi della barra m. Tutti gli altri
termini sono nulli.
Si osservi che questo tensore dipende solo dalla topologia della struttura
reticolare, non dalla sua geometria. Inoltre è un tensore simmetrico nel primo
e terzo indice. Con Γ̃x e Γ̃d si intendono, con riferimento alla regola di
Einstein per la sommatoria negli indici, le matrici Γ̃lmn xn e Γ̃lmn dn . Come
è facile vericare con semplici calcoli scrivendo la 1.32 per ogni nodo, si ha
A(x + d) = VΓ̃(x + d) = VΓ̃(x + VT d? ).
Ponendo Γ̃0lnm = Γ̃lmn e ricordando che t0 = He0 = HAT d? possiamo
riscrivere la 1.35 come
d0 = D0 drA (1.38)
t0 = T00 ts (1.42)
Si può così porre Ω = Ω(ts ). La matrice D, in generale, non ridurrà
a blocchi anche Ω. Osservando che, essendo D ortonormale, si ha Ω =
D(DT ΩD)DT , possiamo scrivere
Ω11 + J Ω12
K + Ω(ts ) = D DT = D Ψ(ts ) DT (1.43)
sym Ω22
Deniamo ora il vettore di dimensione 3j − k
drA
◦
d = (1.44)
dm
Poichè d? = Dd◦ , si ha anche d◦ = DT d? . Anchè la rigidezza comples-
siva sia stabile deve essere quindi
quindi concentrarci sullo spazio dei meccanismi d00 e quindi solo su Ω22 ,
ponendo, con riferimento alla 1.44, drA = 0.
Si scrive quindi Ω22 in funzione dei parametri ts
s
!
X
∃ts = [t1 , t2 , . . . , ts ]T t.c. dTm Ωi ti dm > 0 ∀dm 6= 0 (1.48)
i=1
6
X ui · dj
ui − dj (1.50)
j=1
|dj |2
V0 = V1 V2 V3T (1.51)
Si ha:
vu 3
uX
e0 = l t (∆xi + ∆di )2 − l (1.52)
i=1
Eest = f ? · d? (1.56)
L'energia interna invece è, denendola uguale a 0 nel caso sia t0 = 0 e
d=0
1
Eint = t0 · e0 + t0 · e0 (1.57)
2
24 Statica e cinematica delle strutture reticolari
Tenuto conto della 1.55, del legame costitutivo t0 = He0 , dei vincoli d =
VT d? e della relazione Γ̃00 x d = AT d? , tralasciando innitesimi di ordine
superiore al secondo rispetto a d? , si perviene a
1 1
Eint = t0 · (AT d? ) + t0 · ((Γ̃00 d)d) + d? · (AHAT )d? (1.58)
2 2
t = St? (1.60)
Statica e cinematica delle strutture reticolari 27
e? = ST e (1.62)
Il legame costitutivo H, da matrice quadrata di dimensione b, diventa di
dimensione b − τ , e si esprime con t? = He? . La variazione di energia interna
rimane espressa dal prodotto scalare t? · de? . Si ha infatti:
t? · e? = t? · ST e = St? · e = t · e (1.63)
I vincoli tensionali trasformano la matrice di equilibrio A = V Γ̃x in
A = V Γ̃x S
La rigidezza K da come indicata nelle 1.36 diventa
b = 3j − k + s + τ − m (1.66)
Nella maggior parte dei casi pratici la natura del vincolo tensionale è non
lineare nella geometria x.
28 Statica e cinematica delle strutture reticolari
de0
f ? = (t0 + He0 )T (1.69)
dd?
Si trascurano gli eetti non lineari conseguenti alla pretensione t0 . Con-
de0
centriamoci quindi soltanto sul prodotto (He0 )T dd ? . Questo prodotto si può
1 d
(e0T He0 ) (1.70)
2 dd?
Sviluppando e0 in serie di Taylor nell'intorno di d? = 0 si ottiene
Statica e cinematica delle strutture reticolari 29
1
e0 = AT d? + Γ̃00 dd + . . . (1.71)
2
Osserviamo che:
Nel prodotto e0T He0 i termini del secondo ordine in d? causano una rigi-
dezza del primo ordine. I termini del terzo ordine, derivati, diventano una
rigidezza del secondo ordine. Questi termini possono essere ottenuti solo co-
me prodotto di un termine del primo moltiplicato per un termine del secondo
ordine in e, ovvero di un allungamento derivante da uno spostamento che non
è un meccanismo (del tipo D0 drA ) e di uno spostamento generico. Stante la
1.67, si trascura questo termine, in quanto si suppone D0 drA piccolo.
Rimangono da considerare i termini del quarto ordine. Sempre per l'ipo-
tesi 1.67, si considerano solo i termini derivanti dal prodotto di due allun-
gamenti conseguenti a meccanismi. Osservando la 1.71 si deduce che questo
termine assume la forma ( 21 Γ̃00 dd) · H( 12 Γ̃00 dd), dove d è un meccanismo. Si
trascurano invece i termini che sono prodotto di un termine del primo ordine
(conseguenti ad un non meccanismo) per un termine del terzo.
Riassumendo possiamo quindi dire che, sotto queste ipotesi, la rigidezza
totale di una struttura è approssimabile da:
Si denisce quindi:
1
K˜d(4) = (Γ̃00 dd) · H(Γ̃00 dd) (1.72)
2
30 Statica e cinematica delle strutture reticolari
df̂m
Θ(dm ) = (1.80)
ddm
Data la simmetria di Km si ha
dm,0 = Ω−1
22 fm
(1.82)
dm,n+1 = dm,n − Θ(dm,n )−1 (f̂m (dm,n ) − fm )
Se la struttura non è completamente irrigidita dalla pretensione la matrice
Ω22 non è invertibile. Si può comunque calcolare dm,0 decomponendo Ω22 =
PΩ0 PT e sostituendo nella matrice diagonale Ω0 gli autovalori nulli con ad
esempio il più piccolo autovalore tra quelli positivi.
Se si vogliono considerare anche gli eetti non lineari sui non meccanismi,
o tenere conto degli eetti di qualsiasi ordine, anche per quanto riguarda la
pretensione, occorrerà sostituire nella 1.69 direttamente l'espressione 1.52. Si
dovrà quindi applicare il metodo di Newton-Raphson sull'intero vettore d? e
non solo sui meccanismi, determinando il gradiente della funzione f̂ ? (d? ).
Si osservi che se la struttura non è stabile l'algoritmo di Newton-Raphson
può non convergere, e non è inoltre garantita l'unicità della soluzione.
32 Statica e cinematica delle strutture reticolari
Capitolo 2
RICERCA DELLA FORMA
f ? = V(Γ̃x)t = 0 (2.1)
Fissato x, il primo membro di questa equazione è lineare in t, ma possiamo
anche ssare t e far variare x, ottenendo la seguente equazione lineare in x:
Z = V(Γ̃0 t) (2.3)
33
34 Ricerca della forma
d = VT d? = VT D00 dm (2.4)
da cui
Z = WXUT (2.6)
Le colonne di U rappresentano una base ortonormale delle congurazioni
geometriche x. Se una colonna di X è nulla abbiamo trovato nella rispettiva
colonna di U una congurazione compatibile con l'autosforzo.
In analogia con quanto fatto con la matrice di equilibrio nel Par.1.4.2 si
può scrivere
0T
U
0 00
(2.7)
Z= W W X
U00T
Per come è denito Γ̃0 , si ha che lo spazio nullo di Z contiene sicuramente
i vettori x che fanno coincidere tutti i nodi in un punto solo. Nello spazio
Ricerca della forma 35
Con la stessa tecnica usata nel Par.1.6 si possono eliminare questi tre
vettori dalle possibili congurazioni ed ottenere G.
Questi 3 vincoli geometrici, essendo simmetrici nelle tre direzioni, possono
essere usati anche nella riduzione monodimensionale, basta sceglierne uno
solo.
5. Se Ati+1 ' 0 esci dal loop altrimenti torna al punto iniziale dopo aver
incrementato i di 1.
In questo algoritmo deve essere denito il punto di ingresso, che può essere
o il punto 1 una volta denita t1 , o il punto 3 denendo una x1 .
Anchè l'algoritmo converga, è indispensabile denire intelligentemente i
criteri di scelta di x e t di cui ai punti 2 e 4. Un primo criterio potrebbe essere
scegliere la congurazione e la tensione che genera le forze minori per ottenere
l'equilibrio. In pratica ciò equivale a scegliere , in X ed E, i valori minimi,
e poi scegliere le relative colonne di U e da T. Questo criterio velocizza la
convergenza, ma ci da poco controllo sul risultato.
Per garantire la convergenza sceglieremo xi+1 e ti+1 , in maniera tale che,
ad eccezione eventualmente di un pressato numero di iterazioni iniziali,
almeno una delle seguenti sia sempre vericata (deve essere sempre la stessa
per ogni iterazione):
Queste condizioni devono essere soddisfatte non solo per ogni xi , ma anche
per il limite della successione delle x a cui tende il procedimento iterativo.
La prima condizione deriva dall'esigenza sica di avere una struttura tri-
dimensionale. Infatti, pur essendo possibile che una struttura bidimensionale
stabilmente rigida sia ancora stabile se immersa in uno spazio a tre dimen-
sioni, è abbastanza naturale presupporre che se lavoriamo in uno spazio a tre
dimensione è perchè cerchiamo una struttura a tre dimensioni.
La seconda condizione deriva dalla nostra denizione di tensione. Si ri-
corda (vedi la denizione di t nel cap.1.1) che la tensione è in realtà un
coeciente di tensione, ovvero il rapporto tra tensione e lunghezza della bar-
ra. Una lunghezza della barra che tende a zero, oltre ad avere sicamente
poco senso, implica che anche se la nostra t converge, la tensione reale diverge
a innito, o comunque rimane indeterminata.
Nella presente tesi il procedimento usato per il calcolo della congurazione
consiste (vedi l'App.A.1) nel fare una media ponderata delle ultime colonne
della matrice GU. Si parte dal considerare solo l'ultima colonna, aggiun-
gendone eventualmente una alla volta se non sono soddisfatte le condizioni
di non degenerazione della congurazione. Il peso viene scelto inversamente
proporzionale al prodotto di due variabili:
Ricerca della forma 39
π ξ
−η= (2.15)
2 2
In pratica questo signica che il segmento OA è parallelo ad A0 B 0 .
Una volta noto η è possibile trovate le coordinate di tutti i nodi, e calcolare
quindi la matrice di equilibrio e l'autosforzo che irrigidisce la struttura.
Ad esempio per n = 5 si hanno φ(5)/2 = 4/2 = 2 possibilità, corrispon-
denti a k = 1; k = 2, ovvero alle due congurazioni del pentagono regolare:
classica (Fig.2.2) e a stella(Fig.2.3).
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
−1
−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
2.4 Dispiegamento
Una delle applicazioni delle strutture pretese è la possibilità di modicare la
forma della struttura controllando la lunghezza dei suoi elementi. La tecnica
ingegneristica ci permette di denire numerosi metodi per il controllo della
lunghezza di una barra. Il primo classico esempio è la fune. Variando la
lunghezza della fune (ad esempio con un mulinello controllato da un motore,
o semlicemente tirando la fune), è possibile ridurre questa distanza. Com-
portamento analogo si può avere con un puntone realizzato da una barra
telescopica con meccanismo idraulico.
42 Ricerca della forma
0.7
0.6
0.5
0.4 −1
0.3 −0.5
0.2 0
0.1
0.5
0
1
−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
1 00 1 1
t · e = t · A d + (Γ̃ d)d = At · d + d · Γ̃0 t d = d · Ωd
T
(2.16)
2 2 2
df ?
dv = 0 (2.21)
dv
Dalla 2.20 si deduce
df ?
(2.22)
= V Γ̃0 t V Γ̃x = Z(t) A(x)
dv
da cui sostituendo in 2.21 si ottiene la relazione fondamentale
47
48 Analisi numeriche
%b=numero barre-->
b=12
%n=numero nodi-->
n=8
nt=[];
Output:
Coordinate dei nodi:
PtAr =
-0.3718 -0.1798
-0.2833 -0.1503
-0.2639 0.0390
-0.1375 0.0440
-0.2702 0.2661
0.1061 0.2321
-0.0583 0.4385
0.1266 0.4626
0.0933
0.1265
0.3778
0.1865
0.2439
0.2272
0.2731
0.2429
0.3077
0.2314
0.8130
0.6303
1.0168
0.9687
-0.6935
0.9982
1.0775
1.0161
1.2020
1.0970
1.1594
1.0484
-0.4136
-0.3111
10.9033
50 Analisi numeriche
7.6549
-1.8356
5.3521
4.4183
4.4717
4.4013
4.5160
3.7674
4.5307
-0.5087
-0.4936
18
0.5
0.4
0.3
0.2
0.1
−0.1
−0.2
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3
%n=numero nodi-->
n=10
VTmp=eye(d*n);
V=zeros(0,d*n);
for jj=0:(d-1)
if (nt(1,1)~=1), V=[V;VTmp(jj*n+1:jj*n+nt(1,1)-1,:)];,end
if (size(nt,2)>1)
for ii=1:(size(nt,2)-1)
V=[V;VTmp((jj*n+nt(1,ii)+1):(jj*n+nt(1,ii+1)-1),:)];
end
52 Analisi numeriche
end
if (nt(1,size(nt,2))~=n)
V=[V;VTmp((jj*n+nt(1,size(nt,2))+1):jj*n+n,:)];
end
end
[AA BB CC]=svd(GTmp);
for ii=1:size(BB,2);
if (norm(BB(:,ii))<zzero)
G=[G CC(:,ii)];
end
end
Output:
0.3594 -0.0000
0.2249 0.2489
0.0708 0.2733
-0.0726 -0.1745
-0.2211 -0.3042
-0.3634 0.0000
0.2249 -0.2489
0.0708 -0.2733
Analisi numeriche 53
-0.0726 0.1745
-0.2211 0.3042
0.2829
0.1560
0.4702
0.1971
0.3359
0.2829
0.1560
0.4702
0.1971
0.3359
0.4978
0.5466
0.3490
0.6084
1.1260
0.9826
1.0558
1.0203
1.0637
1.1260
0.9826
1.0558
1.0203
1.0637
-0.5148
-0.9089
-0.9755
-0.7493
3.9802
6.2971
2.2453
5.1766
3.1669
3.9802
6.2971
54 Analisi numeriche
2.2453
5.1766
3.1669
-1.0342
-1.6627
-2.7950
-1.2316
14
0.4
0.3
0.2
0.1
−0.1
−0.2
−0.3
−0.4
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
0.3
0.2
0.1
−0.1
−0.2
−0.3
−0.4
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
%b=numero barre-->
b=12
%n=numero nodi-->
n=8
5 1;
6 1;
6 2;
7 2;
7 3;
3 8;
8 4;
4 5]
VTmp=eye(d*n);
V=zeros(0,d*n);
for jj=0:(d-1)
if (nt(1,1)~=1), V=[V;VTmp(jj*n+1:jj*n+nt(1,1)-1,:)];,end
if (size(nt,2)>1)
for ii=1:(size(nt,2)-1)
V=[V;VTmp((jj*n+nt(1,ii)+1):(jj*n+nt(1,ii+1)-1),:)];
end
end
if (nt(1,size(nt,2))~=n)
V=[V;VTmp((jj*n+nt(1,size(nt,2))+1):jj*n+n,:)];
end
end
%V=eye(d*n) %<-- se non ci sono nodi vincolati
V
GTmp =[1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1;
0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0;
Analisi numeriche 57
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1;
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0];
[AA BB CC]=svd(GTmp);
for ii=1:size(BB,2);
if (norm(BB(:,ii))<zzero)
G=[G CC(:,ii)];
end
end
G
Output:
0.3778
0.3778
0.3778
0.3778
0.6547
0.3784
0.6547
0.3784
58 Analisi numeriche
0.6547
0.3784
0.6547
0.3784
1.0000
1.0000
1.0000
1.0000
-1.0000
1.0000
-1.0000
1.0000
-1.0000
1.0000
-1.0000
1.0000
2.6469
2.6469
2.6469
2.6469
-1.5274
2.6428
-1.5274
2.6428
-1.5274
2.6428
-1.5274
2.6428
0.3
0.2
0.1
−0.1
−0.2
−0.3
−0.4
0.2
−0.2
0.4
0 0.3 0.2 0.1 0 −0.1 −0.2 −0.3 −0.4
−0.15
−0.1
−0.05
0.05
0.1
0.15
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3
0.4
0.2
−0.2
−0.4
t =
0.7119
0.7119
0.7119
0.7119
-1.3746
1.3746
-1.3746
1.3746
-1.3746
1.3746
-1.3746
1.3746
−0.25
−0.2
−0.15
−0.1
0.3
−0.05
0.2
0
0.1
0.05
0
−0.1 0.1
−0.2 0.15
−0.3 0.2
−0.4 0.25
0.3 0.2 0.1 0 −0.1 −0.2 −0.3
x0 = x cos θ − y sin θ
(3.1)
y 0 = x sin θ + y cos θ
Il prototipo di tensione è stato scelto dopo qualche prova, in modo tale
che l'output sia una struttura stabile (ed anche di forma 'gradevole').
Codice di input:
%n=numero nodi-->
n=12
12 10;
4 5;%esagono
5 6;
6 7;
7 8;
8 9;
9 4;
2 4;%tiranti barre stesso piano
3 6;
1 8;
11 5;
12 7;
10 9;
2 5;%tiranti barre piani diversi
3 7;
1 9;
10 4;
11 6;
12 8;
1 4;%barre compresse
2 6;
3 8;
5 10;
7 11;
9 12];
nt=[];
V=eye(d*n) %<-- se non ci sono nodi vincolati
GS=[ i3 zz; %A
r120 zz; %B
r240 zz; %C
zz i3; %D
zz r60*syz; %E
zz r120; %F
zz r60*syz*r120; %G
zz r240; %H
Analisi numeriche 63
zz r60*syz*r240; %I
r60*syz zz; %J
r60*syz*r120 zz; %K
r60*syz*r240 zz];%L
G=zeros(36,6);
for jj=1:n
G(jj,:)=GS(3*jj-2,:);
G(n+jj,:)=GS(3*jj-1,:);
G(2*n+jj,:)=GS(3*jj,:);
end
Output:
0.3672
0.3672
0.3672
0.3672
0.3672
0.3672
0.2475
0.2475
0.2475
0.2475
64 Analisi numeriche
0.2475
0.2475
0.3048
0.3048
0.3048
0.3048
0.3048
0.3048
0.3568
0.3568
0.3568
0.3568
0.3568
0.3568
0.5117
0.5117
0.5117
0.5117
0.5117
0.5117
1.4563
1.4563
1.4563
1.4563
1.4563
1.4563
3.5097
3.5097
3.5097
3.5097
3.5097
3.5097
1.9445
1.9445
1.9445
1.9445
1.9445
1.9445
1.2916
1.2916
1.2916
1.2916
1.2916
1.2916
-2.8887
Analisi numeriche 65
-2.8887
-2.8887
-2.8887
-2.8887
-2.8887
3.9663
3.9663
3.9663
3.9663
3.9663
3.9663
14.1820
14.1820
14.1820
14.1820
14.1820
14.1820
6.3788
6.3788
6.3788
3.6199
3.6199
3.6199
3.6199
3.6199
3.6199
6.3788
6.3788
6.3788
-5.6451
-5.6451
-5.6451
-5.6451
-5.6451
-5.6451
67
0.25
0.2
0.15
0.1
0.05
−0.05
−0.1
−0.15
−0.2
−0.25
−0.25 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25
0.3
0.2
0.1
−0.1
−0.2
−0.3
−0.4
−0.4
−0.2
0
0.2
0.4 0.05 0.1 0.15 0.2 0.25
−0.25 −0.2 −0.15 −0.1 −0.05 0
Si procede quindi con il calcolo dei meccanismi, della loro rigidezza Ω22 ,
denita nel Par.1.5, e dei relativi autovalori per vericarne la stabilità. I
6 meccanismi, indicati con colonne secondo lo schema x = (x̄T , ȳT , z̄T )T ,
risultano essere, escludendo i moti rigidi (vedi anche l'App.A.3):
68 Analisi numeriche
V'*D2
ans =
Om22 =
svd(Om22)
ans =
11.3037
7.6016
7.0683
6.5302
5.1122
4.0062
La presente tesi ha avuto come scopo quello di esporre una metodologia ge-
nerale per lo studio delle strutture tensegrity. Come in ogni lavoro di ricerca,
gran parte di quanto esposto è ben noto in letteratura. Un primo obiettivo
è stato quindi quello di riorganizzare il materiale a disposizione allo scopo
di avere una base teorica solida e abbastanza completa per poter arontare
lo studio di una struttura reticolare pretesa, evidenziando le problematiche
fondamentali da esaminare.
Tuttavia sono stati proposti alcuni nuovi interessanti metodi e concetti:
71
72 Conclusioni
Per quanto riguarda le questioni che in questa tesi sono state arontate
solo in maniera parziale e che sono meritevoli di approfondimenti, si citano i
seguenti spunti di sviluppo futuro:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%fine input dati
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cit=0;
tstar=(S*S')^-1*S*tp;
x=xp;
beta=99999999;alpha=99999999;
flag2=0;flag1=0;
for cit=1:maxit
if (norm(tstar)~=0)
TT2=double(ttv(gamma,S*tstar,2));
[W,X,U]=svd(V*TT2*G);
%P=zeros(size(G,2),0);
if (norm(xp)==0)
x=xp;
U2=G*U;%configurazioni effettive (vincolate)
73
74 Appendice A
Lq=zeros(b,1);
Lv=zeros(size(U2,2),1);
for kk=1:size(U,2)%lunghezze al quadrato
Lq=double(ttv(gamma, {U2(:,kk),U2(:,kk)},[1 3]));
Lv(kk)=norm(Lq);
end
valsing=diag(X);
if(size(X,1)<size(X,2))
valsing=[valsing;zeros(size(X,2)-size(X,1),1)];
end
%%%%inizio scelta configurazione geometrica
for jj=1:size(G,2)
x=0;
for kk=1:jj
x=x+U2(:,size(G,2)+1-kk)/((valsing(size(G,2)+1-kk)+1)^e1*(Lv(kk)+1)^e2);
end
PtAr=zeros(0,n);
for ii=0:(d-1)
PtAr=[PtAr;x((n*ii+1):(n*(ii+1)))'];
end
PtAr=[PtAr;ones(1,n)];
Lqx=double(ttv(gamma, {x,x} ,[1 3]));%lunghezze
vv=svd(PtAr);%degenere su d-1?
if (sum(Lqx<(0.1/b)^2)==0) if(vv(d+1))>0.1 break;end;end
end
x=x/norm(x);
%fine scelta configurazione geometrica
else
alpha=norm(V*TT2*x)/norm(x);
while (1)
P=[U(:,size(G,2)-jj),P];
oldx=x;
TM=P'*G;
x=TM'*(TM*TM')^-1*TM*xp;
%controllo che non sia troppo grande
if (norm(V*TT2*x)/norm(x))>alpha*0.99;
x=oldx;
break
end
jj=jj+1;
if(jj>=b), break, end
end
end
alpha=norm(V*TT2*x)/norm(x);
end
if (alpha<zzero),flag1=1;,end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TT=double(ttv(gamma,x,3));
[D E T]=svd(V*TT*S);
flag2=0;
P=zeros(b,0);
jj=0;
if (norm(tp)==0)%scelgo la tensione con valsing più basso
tstar=zeros(size(S,2));
tstar=T(:,size(TT,2));
else %inizio scelta tensione
while (1)
oldt=tstar;
P=[T(:,b-jj),P];
Appendice A 75
tstar=P*(P'*P)^(-1)*P'*(S*S')^-1*S*tp;
flag2=1;
if (norm(tp)==0),break, end
if (norm(V*TT*tstar)/norm(tstar)>beta*0.99)
tstar=oldt;
break
end
jj=jj+1;
if(jj>=b), break, end
end
beta=norm(V*TT*tstar)/norm(tstar);
if (beta<zzero),flag2=1;,break,end
end %fine scelta tensione
if (flag1*flag2==1),break,end
tstar=tstar/norm(tstar);
end
PtAr=zeros(0,n);
for jj=0:(d-1)
PtAr=[PtAr;x((n*jj+1):(n*(jj+1)))'];
end
t=S*tstar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%fine calcolo della geometria e dell'autotensione
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clf;
xcrn=zeros(size(nt,2),1);ycrn=xcrn;
if(size(nt,2))>0%disegno delle cerniere a terra
for (ii=1:size(nt,2))
if (d==2)
xcrn(ii)=x(nt(ii));
ycrn(ii)=x(nt(ii)+n);
end
if (d==3)
xcrn(ii)=x(nt(ii));
ycrn(ii)=x(nt(ii)+n);
zcrn(ii)=x(nt(ii)+2*n);
end
end
if(d==2),scatter(xcrn,ycrn,85),end
if(d==3),scatter3(xcrn,ycrn,zcrn,85),end
end
for jj=1:b
if(t(jj)<0)
lw=3;cl=[0.4 0.4 0.4];
else
lw=0.5;cl=[0 0 0];
end
if (d==2)
line([PtAr(1,cc(jj,1)) PtAr(1,cc(jj,2))], [\n]
[PtAr(2,cc(jj,1)) PtAr(2,cc(jj,2))], [\n]
'Color',cl,'LineWidth',lw)
end
if (d==3)
line([PtAr(1,cc(jj,1)) PtAr(1,cc(jj,2))], [\n]
[PtAr(2,cc(jj,1)) PtAr(2,cc(jj,2))], [\n]
[PtAr(3,cc(jj,1)) PtAr(3,cc(jj,2))], [\n]
'Color',cl,'LineWidth',lw)
end
end
76 Appendice A
axar=zeros(1,3);
axar=axar+sum(get(gca,'DataAspectRatio'))/d;
set(gca,'DataAspectRatio',axar);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%fine disegno della figura
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ll=zeros(b,1);
for ii=1:b
for jj=0:(d-1)
ll(ii)=ll(ii)+(x(cc(ii,1)+jj*n)-x(cc(ii,2)+jj*n))^2;
end
ll(ii)=sqrt(ll(ii));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%output
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fprintf('')
fprintf('Coordinate dei nodi:')
PtAr=PtAr'
fprintf('Lunghezza di ogni barra:')
ll
fprintf('Tensione t effettivamente trovata')
t=S*tstar
fprintf('Tensione reale su ogni barra:')
realt=t./ll
fprintf('Numero effettivo di iterazioni eseguite:')
cit
fprintf('Controllo (At):')
V*TT*t
[8] J.L. Herder M. Schenk, S.D. Guest. Zero stiness tensegrty structures.
International Journal of Solids and Structures, 44(20):65696583, 2007.
79
80 Bibliograa
[10] S. Pellegrino. Structural value computation with the singular value de-
composition of the equilibrium matrix. International Journal of Solids
and Structures, 30(21):30253035, 1993.
[11] S. Pellegrino A.G. Tibert. Review of form-nding methods for tensegrity
structures. International Journal of Space Structures, 18(4):209223,
2003.
[30] Carl D. Meyer. Matrix analisys and applied linear algebra. Siam, 2000.
[31] Andrea Micheletti. Torri tensigrete. PhD thesis, Università degli Studi
di Roma Tor Vergata, facoltà di Ingegneria, dipartimento di Ingegneria
Civile, 2003.
[32] Andrea Micheletti. Strutture pieghevoli che ricercano una forma di equi-
librio. Master's thesis, Università degli Studi di Roma Tor Vergata,
facoltà di Ingegneria, dipartimento di Ingegneria Civile, 1999.
[40] Tobias Oetiker et al. Una (mica tanto) breve introduzione al LATEX 2ε ,
2000.