03.06.2013 Views

tesi_AntonioLorenzoM.. - LabMec

tesi_AntonioLorenzoM.. - LabMec

tesi_AntonioLorenzoM.. - LabMec

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Università della Calabria<br />

Facoltà di Ingegneria<br />

Laboratorio di Meccanica<br />

Computazionale<br />

Tesi di Laurea Magistrale<br />

in Ingegneria Civile<br />

Analisi di solidi elastici 3D mediante<br />

elementi finiti ad alta continuità.<br />

Formulazione del modello numerico ed<br />

implementazione nel codice ABAQUS R○<br />

Relatore<br />

Ing. Antonio<br />

BILOTTA<br />

Candidato<br />

Antonio Lorenzo<br />

MENDICINO<br />

Matr. 94710<br />

Anno Accademico 2006/2007


Alla mia mamma Rosina,<br />

a mia sorella Maria e mio cognato Maurizio,<br />

al mio papà Alfredo,<br />

e a mio zio Cesare,<br />

fondamenta di questi miei<br />

anni di studi.<br />

1


Indice<br />

Premessa 4<br />

1 Introduzione 5<br />

1.1 L’elemento finito HC3 . . . . . . . . . . . . . . . . . . . . . . . 5<br />

1.2 Utilizzo del codice ABAQUS R○ . . . . . . . . . . . . . . . . . . 6<br />

1.3 Contenuti della <strong>tesi</strong> . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

1.4 Notazione utilizzata . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2 Modellazione FEM di solidi 3D 8<br />

2.1 Modello di Cauchy . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.1.1 Cinematica . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.1.2 Statica . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.1.3 Formulazione del problema elastico . . . . . . . . . . . 12<br />

2.2 Tecniche di discretizzazione FEM . . . . . . . . . . . . . . . . 13<br />

2.2.1 Metodi agli elementi finiti . . . . . . . . . . . . . . . . 14<br />

2.2.2 Formulazione variazionale compatibile standard . . . . 14<br />

2.2.3 Matrice delle Masse locale . . . . . . . . . . . . . . . . 17<br />

2.2.4 Contributo locale al termine noto dovuto ai carichi<br />

distribuiti definiti sul contorno . . . . . . . . . . . . . . 18<br />

2.2.5 Matrice di Rigidezza locale . . . . . . . . . . . . . . . . 18<br />

2.2.6 Tecnica d’assemblaggio . . . . . . . . . . . . . . . . . . 19<br />

2.2.7 Discretizzazione FEM di un solido . . . . . . . . . . . . 20<br />

3 Interpolazione spline 22<br />

3.1 Approssimazione di funzioni . . . . . . . . . . . . . . . . . . . 22<br />

3.2 Funzioni Spline . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

3.3 Spline nel Computer Aided Geometric Design . . . . . . . . . 27<br />

3.4 Vantaggi dell’interpolazione spline per un metodo variazionale 33<br />

3.5 Interpolazione HC . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2


4 Formulazione dell’elemento HC3 39<br />

4.1 Interpolazione High-Continuity . . . . . . . . . . . . . . . . . 39<br />

4.2 Approccio isoparametrico . . . . . . . . . . . . . . . . . . . . . 42<br />

4.3 Matrici dell’elemento . . . . . . . . . . . . . . . . . . . . . . . 43<br />

5 Utilizzo del codice ABAQUS R○ 47<br />

5.1 Elementi solidi 3D di ABAQUS R○ . . . . . . . . . . . . . . . . 48<br />

5.2 ABAQUS R○ User-defined elements . . . . . . . . . . . . . . . . 51<br />

6 Introduzione alla sperimentazione numerica 53<br />

6.1 Implementazione HC3 in ABAQUS . . . . . . . . . . . . . . . 54<br />

6.2 Test in campo dinamico . . . . . . . . . . . . . . . . . . . . . 57<br />

6.2.1 Formulazione teoretica di una soluzione esatta tridimensionale<br />

. . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

7 Risultati Numerici 63<br />

7.1 Test 1: Analisi statica di una mensola tozza . . . . . . . . . . 63<br />

7.2 Test 2: Analisi statica di una trave tozza appoggiata . . . . . 69<br />

7.3 Test 3.a: Calcolo delle frequenze naturali di una lastra apoggiata 75<br />

7.4 Test 3.b: Calcolo delle frequenze naturali di una lastra apoggiata 81<br />

8 Conclusioni 87<br />

Bibliografia 88<br />

3


Premessa<br />

Nella meccanica computazionale con il termine elementi finiti ad alte prestazioni<br />

si intendonono modelli discreti in grado di fornire risultati accurati a costi<br />

computazionali ridotti. Nel presente lavoro si descrive la formulazione e l’implementazione<br />

un elemento finito per l’analis di solidi 3D, denominato HC3,<br />

che generalizza l’elemento finito ad alta continuità HC (high continuity),<br />

già presentato in [1] per problemi elastici 2D. La caratteristica principale<br />

di una tale tecnica di interpolazione, che può essere considerata come una<br />

generalizzazione dell’interpolazione di Bézier, consiste nella sua capacità di<br />

riprodurre campi di spostamento di classe di regolarità C 1 con un costo computazionale<br />

equivalente ad un’interpolazione C 0 , cioè, praticamente con una<br />

singola variabile per ogni elemento. L’efficienza computazionale che ne deriva<br />

è stata verificata implementando l’elemento finito HC3 all’interno del codice<br />

agli elementi finiti ABAQUS R○ , sfruttando le sue caratteristiche di codice<br />

aperto. In tal modo è stato possibile effettuare un’estesa sperimentazione<br />

numerica comfrontando l’elemento HC3 con altri tipi di elementi finiti.<br />

4


Capitolo 1<br />

Introduzione<br />

Negli ultimi anni una considerevole parte della letteratura sugli elementi finiti<br />

è stata diretta sulla formulazione dei così detti high performance (HP) elements,<br />

elementi ad alte prestazioni. Questo attributo discende dalla loro<br />

capacità di ottenere risultati accurati con costi computazionali bassi. L’interesse<br />

verso tali tematiche è evidente viso l’utilizzo ormai esteso di strumenti<br />

automatici per il calcolo ingegneristico e scientifico.<br />

1.1 L’elemento finito HC3<br />

Il lavoro qui presentato riguarda la formulazione di un elemento finito, denominato<br />

HC3, per l’analisi lineare elastica di solidi tridimensionali. L’elemento<br />

è particolarmente adatto per l’analisi di problemi a larga scala e discretizzabili<br />

con mesh regolari. In tali situazioni l’elemento HC3 proposto<br />

è realmente in grado di fornire risultati accurati a costi computazionali contenuti.<br />

L’idea alla base della formulazione è stata già proposta e sviluppata<br />

per problemi 2D da Aristodemo in [1]. Analogamente a quanto già proposto<br />

in [1], la presente formulazione si basa su una interpolazione FEM del campo<br />

degli spostamenti che ricorre ad una particolare interpolazione di B-Spline<br />

capace di riprodurre spostamenti quadratici con praticamente un parametro<br />

per ogni elemento, al riguardo si veda anche [13]. Ciò è possibile poichè<br />

la rappresentazione del campo quadratico all’interno dell’elemento utilizza il<br />

nodo dell’elemento cui l’interpolazionioe si riferisce ed anche i nodi degli elementi<br />

adiacenti. Realizzando così un notevole risparmio di parametri discreti<br />

richiesti. Come verrà mostrato nelle sezioni successive l’interpolazione HC3<br />

diventa molto conveniente nei problemi tridimensionali per i quali è tipica la<br />

crescita molto rapida dei gradi di libertà coinvolti.<br />

5


1.2 Utilizzo del codice ABAQUS R○<br />

ABAQUS R○ è una suite di programmi di simulazione ingegneristica che consente<br />

di risolvere problematiche FEM in ambito statico, dinamico, termico<br />

e per l’analisi del transitorio dinamico. Tale codice d’analisi si basa su una<br />

vasta libreria di elementi finiti, mono-, bi- e tri-dimensionali, con i quali è<br />

possibile descrivere dal punto di vista geometrico e meccanico qualsiasi tipo<br />

di solido. Le possibilità di analisi, da articolare sulla base di step di carico<br />

assegnati dall’utente, sono veramente molto ampie e comprendono l’analisi<br />

standard tensioni-spostamenti, diversi tipi di analisi dinamica, analisi di<br />

buckling e problemi accoppiati.<br />

Accanto alle numerosissime possibilità di modellazione ed analisi già offerte<br />

dal codice, è anche possibile implementare elementi finiti, modelli costitutivi<br />

e modalità di analisi definiti dall’utente. In tal modo, avvantaggiandosi<br />

di una struttura di pre-processing, calcolo e post-processing ampiamente collaudata<br />

e con un bacino di utenza molto ampio, è possibile verificare ed utilizzare<br />

nuove soluzioni definite dall’utente. A tal fine occorre implementare<br />

la propria soluzione seguendo un protollo predefinito di chiamate a funzioni.<br />

Il linguaggio utilizzato non è di tipo proprietario ma è possibile utilizzare sia<br />

il linguaggio FORTRAN e sia il linguaggio C++. Pertanto l’elemento HC3<br />

è stato implementato all’interno del codice ABAQUS R○ rendendo possibile,<br />

all’interno di un’ambiente software molto evoluto, il confronto numerico con<br />

altri elementi finiti utilizzati per l’analisi di solidi 3D.<br />

1.3 Contenuti della <strong>tesi</strong><br />

Il presente lavoro è organizzato come segue. Nel capitolo §2 viene introdotto<br />

il modello di Cauchy e la notazione di base del metodo agli elementi<br />

finiti approccio compatibile standard nel contesto dell’elasticità lineare 3D.<br />

Nel capitolo §3 viene presentato il modello di discretizzazione HC come un<br />

caso particolare dell’interpolazione spline. Nel capitolo §4 viene introdotta<br />

l’interpolazione ad alta continuità nel funzionale dell’energia potenziale allo<br />

scopo di definire la matrice di rigidezza e il vettore dei carichi locale, e nell’espressione<br />

dell’energia cinetica allo scopo di definire la matrice delle masse.<br />

Nel capitolo §5 sono dati alcuni cenni sullo strumento software utilizzato<br />

ABAQUS. Nel capitolo §6 è fornita un’introduzione alla sperimentazione numerica<br />

condotta. Nel capitolo §7 sono riportati i test numerici effettuati e<br />

sono confrontati con risultati numerici prodotti da altri elementi finiti predefiniti<br />

del codice ABAQUS. In ultimo alcune note conclusive sono presentate<br />

nel capitolo §8.<br />

6


1.4 Notazione utilizzata<br />

Per distinguerle dalle quantità scalari, le grandezze costituite da più componenti,<br />

vettori e matrici, saranno rappresentate in grassetto. Le loro componenti<br />

saranno indicate con indici. Ad esempio,<br />

mij (i, j = 1..3)<br />

denota le 9 componenti della matrice m di dimensioni [3x3]. Poichè le<br />

grandezze che intervengono nella descrizione del modello sono tipicamente<br />

riferite allo spazio tridimensionale, gli indici varieranno di regola nel campo<br />

1..3. Alcune convenzioni di scrittura saranno utilizzate per rendere le<br />

formule più compatte. Le derivate parziali saranno rappresentate con una<br />

virgola seguita dall’indice che denota la variabile rispetto a cui si deriva. Ad<br />

esempio, la derivata parziale della funzione f(xj) rispetto alla variabile x1<br />

sarà indicata nel modo seguente<br />

f,1 = ∂f<br />

Si adotterà inoltre la convenzione di indicare la somma tra componenti ripetendo<br />

l’indice su cui va eseguita la somma. Nel seguito si riportano alcuni<br />

esempi:<br />

∂x1<br />

vj,j = v1,1 + v2,2 + v3,3<br />

ajkvk = aj1v1 + aj2v2 + aj3v3<br />

aijbij = a11b11 + a12b12 + .. + a33b33<br />

7


Capitolo 2<br />

Modellazione FEM di solidi 3D<br />

La modellazione FEM delle strutture e, in generale, dei solidi è uno strumento<br />

che occupa una posizione centrale nel bagaglio culturale dell’ingegnere.<br />

Seguendo un approccio ormai consolidato, i modelli FEM vengono generati<br />

a partire da un modello meccanico ben definito introducendo, con una tecnica<br />

di interpolazione alla Galerkin, delle opportune rappresentazioni discrete<br />

delle quantità incognite.<br />

Nel caso di solidi standard la modellazione di base viene effettuta utilizzando<br />

la Meccanica dei solidi, termine con il quale si intende lo studio dello<br />

stato di deformazione e di tensione di un corpo deformabile, in relazione con<br />

le azioni ad esso applicate [8]. L’esperienza dimostra che relazioni determinate<br />

esistono in ogni tipo particolare di materiale costituente il solido e<br />

dipendono da sue particolari proprietà. I modelli materiali presi in considerazione<br />

sono quello elastico, plastico, viscoso, etc., ma, tipicamente, queste<br />

proprietà si suppongono presenti una alla volta o al più accoppiate. Ovviamente<br />

ciò è vero per i solidi ideali, in genere nei solidi reali tali proprietà si<br />

trovano accomunate.<br />

Un’altra ipo<strong>tesi</strong> fondamentale è l’idea di solido continuo necessaria per istituire<br />

certe relazioni fondamentali in forma differenziale. Tale ipo<strong>tesi</strong> equivale<br />

a condurre l’analisi meccanica a livello macroscopico anzichè al livello<br />

strutturale, atomico o subatomico.<br />

Infine un altro aspetto che caratterizza l’approccio seguito in Meccanica<br />

dei solidi è l’adozione di una descrizione matematica del problema sulla<br />

base di enti matematici, i tensori 1 della tensione e della deformazione, i<br />

1 Un tensore è un’applicazione lineare L che associa ad un vettore, un altro vettore:<br />

u = Lv, u ∈ V1, v ∈ V2<br />

essendo V1 e V2 due qualsiasi spazi vettoriali, anche di differenti dimensioni.<br />

8


quali pur avendo un carattere meno intuitivo dei vettori, sono più adatti alla<br />

formulazione delle relazioni in gioco.<br />

Nel seguito dopo avere introdotto il modello di continuo più utilizzato<br />

nella descrizione dei solidi, il modello di Cauchy, si descriverà una delle tecniche<br />

di interpolazione FEM ovvero la discretizzazione con interpolazione del<br />

campo degli spostamenti.<br />

2.1 Modello di Cauchy<br />

2.1.1 Cinematica<br />

Un continuo è un insieme di punti materiali (sistema materiale) che si identificano<br />

con i punti di una porzione di spazio continuo (un sottoinsieme compatto<br />

di R 3 ) occupata dal sistema in un determinato istante. Data una configurazione<br />

ad un istante iniziale t0, nella quale la posizione del generico punto è<br />

rappresentata da una terna (x1, x2, x3), la posizione dello stesso punto nella<br />

configurazione ad un istante generico t successivo a quello iniziale è data da:<br />

yk = yk(x1, x2, x3, t), k = 1, 2, 3<br />

Le yk, k = 1, 2, 3 non possono essere funzioni generiche, affinchè la cinematica<br />

del sistema preveda che tutti i punti materiali del continuo, con posizione<br />

x1, x2, x3 all’istante iniziale t0, vadano ad occupare una nuova porzione di<br />

spazio continuo all’istante generico t > t0, secondo una trasformazione (deformazione<br />

2 o spostamento rigido) che sia continua, e tale da garantire l’assenza<br />

di distacchi e compenetrazioni. A tal proposito le yk, k = 1, 2, 3 saranno<br />

funzioni biunivoche, le quali cioè comportano che ad ogni punto della configurazione<br />

deformata corrisponde uno e un solo punto della configurazione<br />

indeformata e viceversa, e continue. Per garantire la condizione di funzioni<br />

biunivoche continue sarà sufficiente scegliere funzioni continue e iniettive 3 .<br />

2 La deformazione per un sistema continuo è il cambiamento di posizione relativa tra i<br />

suoi punti materiali nel passaggio da uno stato iniziale ad uno stato attuale.<br />

3 A tal proposito si richiama che:<br />

• Si definisce funzione una relazione che associa ad ogni elemento appartenente ad<br />

un insieme A detto dominio, un solo elemento appartenente all’insieme d’arrivo B:<br />

f : A → Bt.c.∀a ∈ A∃!b ∈ Bt.c.f(a) = b<br />

• Si definisce funzione continua una funzione f : A → B t.c.<br />

∀a0 ∈ A, lim a→a +<br />

0<br />

9<br />

f(a) = lim −<br />

a→a f(a)<br />

0


In genere il corpo non è libero nello spazio, ma su una porzione della<br />

superficie che delimita il corpo sono assegnati dei vincoli che prescrivono il<br />

valore dello spostamento attraverso equazioni delle forma:<br />

u = ū, su ∂Ωu<br />

(2.1)<br />

Se le condizioni suddette, di continuità e iniettività per le funzioni yk, k =<br />

1, 2, 3 e quelle di spostamento assegnato su ∂Ωu, sono rispettate si ottengono<br />

trasformazioni compatibili (o congruenti) cinematicamente [7]. In particolare,<br />

si parla di condizioni di compatibilità esterna per le (2.1) e di compatibilità<br />

interna per le altre. Viene inoltre ipotizzato che le yk, k = 1, 2, 3 siano<br />

sufficientemente differenziabili affinchè siano definibili alcune operazioni su<br />

di esse.<br />

Per caratterizzare la cinematica di un corpo continuo viene usata la<br />

misura di Green, un indicatore locale della deformazione. La misura di Green<br />

conduce alla definizione del tensore della deformazione e alla formulazone<br />

delle equazioni di compatibilità interna.<br />

Si consideri l’elemento infini<strong>tesi</strong>mo di lunghezza ds0 uscente dal generico<br />

punto P0 della configurazione indeformata, di coordinate x1, x2, x3. In seguito<br />

ad una deformazione tale elemento si trasforma nell’elemento infini<strong>tesi</strong>mo<br />

di lunghezza ds uscente dal punto P della configurazione deformata, di coordinate<br />

yk = yk(x1, x2, x3), k = 1..3. La misura di Green è pari alla differenza<br />

tra il quadrato della lunghezza ds e il quadrato della lunghezza ds0.<br />

Nell’ambito della descrizione lagrangiana (yk = yk(x1, x2, x3)), si ha<br />

ds 2 = dykdyk = yk,idxiyk,jdxj<br />

ds 2 0 = dxidxi = dxidxjδij<br />

dove δij rappresenta il delta di Kronecker 4 . Tali espressioni sono caratteristica<br />

di una metrica pitagorica nello spazio euclideo in cui supponiamo immerse<br />

le configurazioni indeformata e deformata. La metrica proposta da<br />

Green è assunta a misura della deformazione nell’intorno di P0, perchè la<br />

• Si definisce funzione iniettiva una funzione f : A → B t.c.<br />

4 Il delta di Kronecker vale<br />

∀a1, a2 ∈ A, a1 = a2 ⇒ f(a1) = f(a2)<br />

δij =<br />

1 se i = j<br />

0 altrimenti<br />

10


sua conoscenza permette di conoscere le variazioni di lunghezza di ogni elemento<br />

della stella di centro P0, cioè lo stato di deformazione nel punto P0.<br />

Imponendo<br />

εij = 1<br />

2 (yk,iyk,j − δij) (2.2)<br />

risulta<br />

ds 2 − ds 2 0 = 2εijdxidxj<br />

(2.3)<br />

dove εij sono le componenti del tensore delle deformazioni che fornisce in<br />

ogni punto del corpo una misura adimensionale della deformazione.<br />

Dalla definizione (2.2) risulta che il tensore εij è simmetrico.<br />

⎡<br />

⎢<br />

⎣<br />

ε11 ε12 ε13<br />

ε22 ε23<br />

sym ε33<br />

Le (2.3) contengono implicitamente le condizioni di compatibilità interna e<br />

conducono alla scrittura delle equazioni di compatibilità interna in forma<br />

esplicita<br />

εij = 1<br />

2 (ui,j + uj,i + uk,iuk,j)<br />

che nell’ipo<strong>tesi</strong> di piccoli spostamenti diventano<br />

2.1.2 Statica<br />

⎤<br />

⎥<br />

⎦<br />

εij = 1<br />

2 (ui,j + uj,i)<br />

Per caratterizzare gli effetti delle forze sui corpi continui si usa la tensione<br />

di Cauchy 5 , una misura locale delle sollecitazioni. La tensione di Cauchy<br />

conduce alla definizione del tensore delle tensioni e alla formulazione delle<br />

equazioni di equilibrio.<br />

Sia dato un corpo continuo V soggetto a forze esterne ed in equilibrio,<br />

che venga sezionato da un piano Πn, e siano △Fn e △Mn la forza e la coppia<br />

risultanti agenti sulla generica area △An appartenente a Πn e dovute alle<br />

forze necessarie a garantire l’equilibrio delle due porzioni in cui V è diviso<br />

da Πn. Secondo le ipo<strong>tesi</strong> di Cauchy:<br />

△Fn<br />

lim△An→0<br />

△An<br />

△Mn<br />

= Sn, lim△An→0<br />

△An<br />

5 Augustin Louis Cauchy (1789 - 1857), matematico. Il suo più grande contribuito alla<br />

scienza è nato nell’ambito della meccanica del continuo, definito per questo anche continuo<br />

di Cauchy<br />

11<br />

= 0


dove Sn è il vettore tensione di Cauchy. L’insieme S delle tensioni Sn agenti<br />

su tutti i piani della stella di centro P (punto a cui tende △An) viene definito<br />

tensione nel punto P . A partire dalla relazione del tetraedro di Cauchy<br />

Sni<br />

= σjinj<br />

viene definito il tensore delle tensioni σij, e le equazioni di equilibrio sul<br />

contorno<br />

σjinj = ti, i = 1..3 (2.4)<br />

Sulla base del tensore delle tensioni definito nelle formule precedenti è possibile<br />

riformulare le condizionii di equilibrio alla traslazione ed alla rotazionie<br />

nel modo seguente:<br />

σji,j + bi = 0, i = 1..3 (2.5)<br />

σij = σji<br />

Infine è possibile riformulare il problema dell’equilibrio nel modo seguente:<br />

σij,j + bi = 0, i = 1..3<br />

σijnj = ti, i = 1..3<br />

2.1.3 Formulazione del problema elastico<br />

(2.6)<br />

Per completare la descrizione del modello occorrono le equazioni di legame<br />

costitutivo che mettono in relazione i tensori εij e σij. La relazione per un<br />

materiale elastico isotropo è data da<br />

σij = Cijhkεhk<br />

dove Cijhk il tensore elastico, un tensore del IV ordine che, se si considera il<br />

caso isotropo, è dato da:<br />

Cijhk = λδijδhk + µ(δkiδhj + δhiδkj), i, j, h, k = 1..3 (2.7)<br />

dove λ e µ sono le costanti di Lamé e δij è il simbolo di Kronecker.<br />

Si perviene pertanto all formulazione del problema di un solido elastico di<br />

Cauchy. In elasticità lineare, per materiali isotropi e sotto l’ipo<strong>tesi</strong> di piccoli<br />

spostamenti, per un mezzo soggetto a forze di volume b, trazioni superficiali<br />

¯t sul contorno caricato ∂Ωt e a spostamenti impressi (o cedimenti vincolari) ū<br />

sul contorno vincolato ∂Ωu, consiste in un sistema di equazioni alle derivate<br />

parziali definite sul dominio Ω 6<br />

divσ + b = 0 (2.8)<br />

6 Gli operatori introdotti assumono il seguente significato:<br />

ε = sym∇u (2.9)<br />

σ = Eε (2.10)<br />

12


con condizioni sul bordo in parte sugli spostamenti e in parte sulle forze di<br />

superficie<br />

u = ū, su ∂Ωu (2.11)<br />

σn = ¯t, su ∂Ωt (2.12)<br />

dove n è il versore normale a ∂Ωt, σ, ε sono rispettivamente il tensore delle<br />

tensioni e il tensore delle deformazioni, E è il tensore elastico.<br />

Benchè ben posto il problema elastico non è in generale facilmente risolubile<br />

in forma chiusa. Per molti importanti casi particolari, soluzioni analitiche<br />

sono state peraltro ottenute, sfruttando quelle caratteristiche del problema<br />

specifico che consentono di semplificarne la formulazione così da renderla<br />

matematicamente trattabile.<br />

2.2 Tecniche di discretizzazione FEM<br />

La teoria dell’elasticità, permettendo una formulazione matematicamente coerente<br />

e meccanicamente ben fondata, rappresenta senza dubbio uno dei risultati<br />

più significativi della fisica-matematica dell’ottocento. Tuttavia ad oggi<br />

è noto come, con le pur importanti eccezioni di un certo numero di problemi<br />

specifici, le difficoltà connesse con l’effettivo calcolo della soluzione sono<br />

notevoli se non addirittura insormontabili, sia pur mantenendo le ipo<strong>tesi</strong><br />

di linearità geometrica (piccoli spostamenti) e/o di materiale. Sono state<br />

peraltro ricercate approssimazioni ragionevoli per mezzi continui dotati di<br />

particolare struttura, che ne consentissero una più agevole soluzione senza<br />

compromettere la correttezza della soluzione (teorie strutturali delle travi,<br />

⎡<br />

⎢<br />

div ⎢<br />

⎣<br />

m11 m12 ... m1n<br />

m21 m22 ... m2n<br />

.<br />

.<br />

. ..<br />

.<br />

mn1 mn2 ... mnn<br />

⎡<br />

⎢<br />

m = ⎢<br />

⎣<br />

⎧<br />

⎪⎨<br />

grad<br />

⎪⎩<br />

v1<br />

v2<br />

.<br />

vn<br />

⎫ ⎡<br />

⎪⎬ ⎢<br />

= ⎢<br />

⎣<br />

⎪⎭<br />

⎤<br />

⎧<br />

⎥<br />

⎦ =<br />

⎪⎨<br />

⎪⎩<br />

m11,1 + m12,2 + ...m1n,n<br />

m21,1 + m22,2 + ...m2n,n<br />

.<br />

mn1,1 + mn2,2 + ...mnn,n<br />

v1,1 v1,2 ... v1,n<br />

v2,1 v2,2 ... v2,n<br />

.<br />

m11 m12 ... m1n<br />

m21 m22 ... m2n<br />

.<br />

.<br />

.<br />

.<br />

. ..<br />

.<br />

. ..<br />

.<br />

vn,1 vn,2 ... vn,n<br />

.<br />

.<br />

mn1 mn2 ... mnn<br />

13<br />

⎤<br />

⎤<br />

⎥<br />

⎦<br />

⎥<br />

1<br />

⎥ , sym (m) =<br />

⎦ 2 (m + mT )<br />

⎫<br />

⎪⎬<br />

⎪⎭


delle piastre, dei gusci). In tempi relativamente brevi, la disponibilità di<br />

potenti mezzi di calcolo, ha portato inoltre alla definizione di modelli indipendenti<br />

dalle particolari tipologie strutturali, quali quelli a elementi finiti,<br />

che consentono raffinate analisi numeriche di strutture anche notevolmente<br />

complesse.<br />

2.2.1 Metodi agli elementi finiti<br />

I metodi degli elementi finiti sono tecniche atte ad approssimare le equazioni<br />

differenziali che governano un sistema continuo con un sistema di equazioni<br />

algebriche in un numero discreto di incognite e generate mediante l’impiego di<br />

un principio variazionale [10]. La fortuna di tali metodi è dovuta soprattutto<br />

alla facilità con cui possono essere tradotti in strumenti di calcolo automatico.<br />

Il primo passo da effettuare è una discretizzazione del sistema continuo,<br />

oggetto dell’analisi. Tale discretizzazione consiste nel suddividere il dominio<br />

in sottodomini, detti elementi finiti, e individuare dei punti, chiamati nodi<br />

sul contorno o nell’interno degli elementi. Un numero finito di parametri<br />

(valori della funzione incognita delle equazioni differenziali del sistema continuo<br />

o delle sue derivate o parametri di controllo (§ 3)) vengono poi assunti<br />

come variabili incognite del sistema discreto e la funzione incognita e le sue<br />

derivate vengono ricavate mediante funzioni di interpolazione definite sui singoli<br />

elementi. Nel caso dei problemi strutturali, vengono scelti come incognite<br />

del problema discreto, parametri di spostamento o sforzo, e spostamenti, deformazioni<br />

e tensioni in un punto generico sono espresse in termini di tali<br />

variabili mediante interpolazione. A seconda che si scelgano come variabili,<br />

solo misure del campo degli spostamenti o sia misure del campo degli spostamenti<br />

che di quello degli sforzi, si parla rispettivamente di elementi finiti<br />

compatibili o elementi misti (§ 2.2.2).<br />

2.2.2 Formulazione variazionale compatibile standard<br />

Nella formulazione compatibile vengono imposte a priori le equazioni di compatibilità<br />

e legame costitutivo e vengono imposte in forma debole le equazioni<br />

di equilibrio. I gradi di libertà del problema sono quindi gli spostamenti e<br />

le equazioni da risolvere sono equazioni di equilibrio. Il principio di minimo<br />

dell’energia potenziale totale è alla base di tale formulazione e la forma<br />

debole ad esso associata è l’equazione dei lavori virtuali.<br />

Si prenda il funzionale energetico EP T pari a:<br />

<br />

<br />

EP T [u] := 1<br />

2<br />

Cijhk(∇u)ij(∇u)hk<br />

Ω<br />

<br />

energia elastica<br />

14<br />

−<br />

tu<br />

∂Ωt<br />

<br />

lavoro esterno<br />

, (2.13)


il quale attinge il suo minimo in corrispondenza della soluzione del problema.<br />

Nel funzionale (2.13), u è il campo degli spostamenti definito sul dominio Ω,<br />

t il vettore dei carichi di superficie agenti sulla porzione di contorno ∂Ωt,<br />

Cijhk il tensore elastico definito nella (2.7).<br />

La riformulazione al discreto del funzionale energia potenziale sulla base<br />

dell’interpolazione del campo degli spostamenti, consente la definizione della<br />

matrice di rigidezza e del vettore dei carichi per l’intera struttura. Quindi, la<br />

condizione di stazionarietà associata fornisce il sistema algebrico risolvente.<br />

La procedura viene effettuata assemblando i contributi provenienti da ciascun<br />

elemento della discretizzazione. A tal fine conviene ridefinire le quantità coinvolte<br />

sulla base di una notazione vettoriale più adatta alla formulazione del<br />

problema algebrico da implementare nel codice di calcolo.<br />

Per caratterizzare lo stato di tensione in un punto si introduce il vettore<br />

σ T = {σxx σyy σzz τxy τxz τyz} (2.14)<br />

dove σxx, σyy, σzz sono le componenti di tensione normali e τxy, τxz, τyz sono<br />

le componenti di tensione tangenziali.<br />

Il vettore degli spostamenti che misura i cambiamenti nella posizione di<br />

un punto all’interno di un corpo soggetto a carichi esterni, può essere scritto<br />

in funzione delle sue componenti car<strong>tesi</strong>ane come<br />

u = u(x, y, z) î + v(x, y, z)ˆ j + w(x, y, z) ˆ k (2.15)<br />

Lo stato di deformazione in un punto è anch’esso caratterizzato da sei<br />

componenti indipendenti mediante il vettore<br />

ε T = {εxx εyy εzz γxy γxz γyz} (2.16)<br />

dove εxx, εyy, εzz sono le componenti di deformazione normali e γxy, γxz, γyz<br />

sono le componenti di deformazione tangenziali.<br />

Sulla base delle quantità sopra introdotte, la relazione di compatibilità è formulabile<br />

come:<br />

ε = Du (2.17)<br />

dove D è l’operatore differenziale lineare:<br />

⎡<br />

⎢<br />

D = ⎢<br />

⎣<br />

∂ 0 0<br />

∂x<br />

∂ 0 0 ∂y<br />

0 0 ∂<br />

∂z<br />

∂ ∂ 0<br />

∂y ∂x<br />

∂ ∂ 0 ∂z ∂x<br />

∂ ∂ 0 ∂z ∂y<br />

15<br />

⎤<br />

⎥<br />


In modo analogo il legame elastico lineare può essere riformulato nel modo<br />

seguente:<br />

σ = Cε (2.18)<br />

dove<br />

C = E<br />

⎡<br />

⎢<br />

1 + ν ⎢<br />

⎣<br />

1−ν<br />

1−2ν<br />

ν<br />

1−2ν<br />

ν<br />

1−2ν<br />

0<br />

0<br />

ν<br />

1−2ν<br />

1−ν<br />

1−2ν<br />

ν<br />

1−2ν<br />

0<br />

0<br />

ν<br />

1−2ν<br />

ν<br />

1−2ν<br />

1−ν<br />

1−2ν<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

2<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

2 0<br />

0 0 0 0 0 1<br />

2<br />

⎤<br />

⎥<br />

⎦<br />

A questo punto è possibile introdurre l’interpolazione del campo degli<br />

spostamenti:<br />

u = Nw ⇒ ε = DNw = Bw (2.19)<br />

dove N è la matrice delle funzioni di interpolazione del campo degli spostamenti,<br />

w il set di parametri discreti di spostamento o coordinate di Lagrange,<br />

B l’operatore di comatibilità al discreto. Seguendo questa notazione si potrà<br />

riscrivere il funzionale energia potenziale riferendosi al dominio discretizzato<br />

in elementi finiti, e quindi determinare il sistema algebrico risolvente.<br />

EP T = <br />

e<br />

1<br />

2<br />

Ωe ue T D T CDue − <br />

Ωe ue T b − <br />

∂Ωet ue T t <br />

= <br />

1 <br />

e 2 Ωe we T Ne T DT CDNewe − <br />

Ωe we T Ne T b − <br />

∂Ωet we T Ne T t <br />

= <br />

1 <br />

e 2 Ωe we T Be T CBewe − <br />

Ωe we T Ne T b − <br />

∂Ωet we T Ne T t <br />

= <br />

⎧<br />

⎪⎨ <br />

1 T<br />

e we Be 2<br />

Ωe<br />

⎪⎩<br />

T CBe we − we<br />

<br />

T<br />

<br />

Ke<br />

= min<br />

⇒ Kw = p<br />

Ne<br />

Ωe<br />

T b<br />

<br />

pb e<br />

−we T<br />

<br />

⎫<br />

Ne<br />

∂Ωet<br />

T t<br />

<br />

pt ⎪⎬<br />

⎪⎭<br />

e<br />

La matrice di rigidezza elastica K e il vettore dei carichi (forze generalizzate<br />

nelle coordinate di Lagrange) p possono essere definiti a partire dal<br />

principio di minimo dell’EPT. Secondo tale definizione la matrice di rigidezza<br />

può essere ricavata secondo<br />

Φ = 1<br />

2 wT Kw = 1<br />

<br />

σ<br />

2 Ω<br />

T εdΩ (2.20)<br />

16


cioé dall’uguaglianza energetica fra l’energia di deformazione del sistema continuo<br />

e quella del sistema discreto equivalente. Analogamente la matrice delle<br />

masse si ricava dall’uguaglianza fra l’energia cinetica del sistema continuo e<br />

quella scritta al discreto<br />

Ec = 1<br />

2 ˙wT M ˙w = 1<br />

<br />

ρu<br />

2 Ω<br />

T udΩ (2.21)<br />

Seguendo un approccio ad elementi finiti compatibili, le matrici di rigidezza<br />

e delle masse e il vettore dei carichi della struttura sono ottenute tramite<br />

assemblaggio delle matrici e vettori elementari. I contributi elementari si<br />

determinano applicando le (2.20), (2.21) al singolo elemento.<br />

2.2.3 Matrice delle Masse locale<br />

La matrice delle masse Me di un elemento, può essere definita mediante<br />

l’espressione al discreto dell’energia cinetica Ece dell’elemento stesso<br />

dove<br />

Ece = 1<br />

2 ˙ we T Mewe ˙<br />

(2.22)<br />

we ˙ è il vettore dei parametri discreti di velocità. La matrice Me può essere<br />

ricavata manipolando e successivamente uguagliando al secondo membro di<br />

(2.22), l’espressione al continuo di Ece, la quale nel caso di un sistema di<br />

dominio Ωe, densità di massa costante ρ e campo di velocità ue, ˙ risulta:<br />

Sostituendo infatti<br />

ue ˙ = ∂ue<br />

∂t<br />

nella (2.23) si ottiene<br />

Ece<br />

Ece = 1<br />

<br />

ρue ˙<br />

2 Ωe<br />

T uedΩe ˙<br />

=<br />

=<br />

=<br />

= <br />

ue1 ˙ ue2 ˙ ue3 ˙<br />

T<br />

<br />

1<br />

ρue ˙<br />

2 Ωe<br />

T uedΩe ˙<br />

1<br />

2 ρ<br />

<br />

∂u<br />

Ωe<br />

T e ∂ue<br />

∂t ∂t dΩe<br />

1<br />

2 ˙ we T <br />

ρ<br />

<br />

matrice masse<br />

⇒ Me = ρ<br />

<br />

N<br />

Ωe<br />

T e NedΩe<br />

17<br />

= Newe ˙<br />

N<br />

Ωe<br />

T e NedΩe we<br />

˙<br />

(2.23)<br />

(2.24)<br />

(2.25)


2.2.4 Contributo locale al termine noto dovuto ai carichi<br />

distribuiti definiti sul contorno<br />

Il contributo p t e al vettore dei termini noti, dei carichi distribuiti costanti ¯t<br />

assegnati su una porzione ∂Ωet del contorno dell’elemento può essere definito<br />

secondo la scrittura al discreto del lavoro di tali carichi:<br />

LC∂Ωe = p t t T<br />

e we<br />

(2.26)<br />

dove we è il vetore dei parametri discreti di spostamento. Il vettore p t e<br />

può essere ricavato manipolando e successivamente uguagliando al secondo<br />

membro della (2.26), l’espressione al continuo di LC∂Ωet <br />

LC∂Ωe = ¯tuedΩe<br />

t<br />

∂Ωe t<br />

dove ue sia il campo degli spostamenti.<br />

Usando infatti la (2.19) nella (2.27) si ottiene:<br />

LC∂Ωe t<br />

⇒ p t e = ¯t <br />

=<br />

=<br />

∂Ωe t NedΩe<br />

2.2.5 Matrice di Rigidezza locale<br />

<br />

¯t<br />

∂Ωet <br />

¯tuedΩe<br />

NedΩe<br />

<br />

∂Ωet <br />

p<br />

<br />

t e<br />

we<br />

(2.27)<br />

(2.28)<br />

La matrice delle rigidezze Ke di un sistema, può essere definita mediante<br />

l’espressione al discreto dell’energia di deformazione Φe del sistema stesso<br />

dove<br />

Φe = 1<br />

2 wT e Kewe<br />

(2.29)<br />

we è il vettore dei parametri discreti di spostamento. La matrice Ke<br />

può essere ricavata manipolando e successivamente uguagliando al secondo<br />

membro di (2.29), l’espressione al continuo di Φe, la quale nel caso di un<br />

sistema di dominio Ωe, campo di tensioni σe e campo di deformazione εe,<br />

risulta:<br />

Φe = 1<br />

<br />

σ<br />

2 Ωe<br />

T e εedΩe<br />

18<br />

(2.30)


Usando infatti le (2.19), (2.18), (2.17) nella (2.30) si ottiene<br />

Φe =<br />

<br />

1<br />

σ<br />

2 Ωe<br />

T =<br />

εdΩe<br />

<br />

1<br />

ε<br />

2 Ωe<br />

T =<br />

CεdΩe<br />

<br />

1<br />

w<br />

2 Ωe<br />

T e N T e D T =<br />

CDNewedΩe<br />

1<br />

2 wT <br />

e B<br />

Ωe<br />

T e CBedΩe we<br />

<br />

<br />

matrice rigidezze<br />

⇒ Ke = B T e CBedΩe<br />

2.2.6 Tecnica d’assemblaggio<br />

Ωe<br />

(2.31)<br />

Sia dato un sistema e si consideri una matrice associata ad esso, che esprima<br />

le relazioni esistenti fra i suoi gradi di libertà, o un vettore associato ad esso,<br />

che esprima una proprietà per ciascun dei suoi gradi di libertà. Sia il sistema<br />

partizionato in un insieme di sottosistemi e si voglia poter determinare tale<br />

matrice e tale vettore tramite assemblaggio di singoli contributi provenienti<br />

da tali sottosistemi. La generica cella (p, q) della matrice assemblata deve<br />

esprimere la relazione fra i gradi di libertà p e q. Tale relazione è data<br />

perciò dalla sovrapposizione delle relazioni fra p e q contenute nei singoli<br />

contribuenti. Analogamente per un vettore, la generica cella p del vettore<br />

assemblato esprime la proprietà associata al grado di libertà p ed è dato dalla<br />

sovrapposizione delle proprietà legate a p contenute nei singoli contribuenti.<br />

Note che siano le relazioni o proprietà locali, i singoli contributi vengono<br />

assegnati rispettando una corrispondenza biunivoca fra i gradi di libertà nel<br />

riferimento globale e i gradi di libertà nel generico riferimento locale.<br />

La tecnica dell’assemblaggio viene utilizzata nel metodo ad elementi finiti<br />

per la determinazione delle proprietà globali del sistema, in particolare<br />

matrici di rigidezza e delle masse e il vettore dei termini noti. I singoli contribuenti<br />

sono le matrici e vettori locali. In altre parole, il comportamento<br />

globale della struttura, descritto tramite le proprietà globali del sistema, matrice<br />

di rigidezza, matrice delle masse e vettore dei carichi generalizzati, viene<br />

valutato assemblando il contributo di ogni elemento.<br />

K = Ae(Ke)<br />

M = Ae(Me)<br />

p = Ae(pe)<br />

19


2.2.7 Discretizzazione FEM di un solido<br />

In un modello FEM compatibile tradizionale, che usi cioè interpolazione<br />

lagrangiana o hermitiana:<br />

• vengono individuati gli elementi in cui viene partizionato il dominio<br />

globale;<br />

• vengono individuati alcuni punti del dominio globale, sul contorno o<br />

l’interno degli elementi, detti nodi, nei quali, ai fini della formulazione<br />

teorica dell’elemento adottato, vengono imposti a livello locale i valori<br />

della funzione incognita o di una sua derivata;<br />

• i valori nodali della funzione incognita o di una sua derivata imposti per<br />

ricavare la formulazione dell’elemento adottato, vengono individuati<br />

come parametri globali, cioè i gradi di libertà del problema globale,<br />

nonchè parametri usati per l’interpolazione locale della soluzione.<br />

Nel caso del modello HCFEM:<br />

• vengono individuati gli elementi in cui viene partizionato il dominio<br />

globale;<br />

• vengono individuati alcuni punti del dominio globale, sul contorno degli<br />

elementi, detti nodi, nei quali, ai fini della formulazione teorica dell’elemento<br />

adottato, vengono imposti a livello locale i valori della funzione<br />

incognita o di una sua derivata, in funzione di alcuni parametri detti<br />

parametri di controllo o parametri HC associati a dei punti del<br />

dominio detti punti di controllo o nodi HC;<br />

• i parametri di controllo vengono individuati come parametri globali,<br />

cioè i gradi di libertà del problema globale, nonchè parametri usati per<br />

l’interpolazione locale della soluzione.<br />

Volendo generalizzare, si può dire che per definire un modello FEM compatibile,<br />

vengono individuati:<br />

• gli elementi in cui viene partizionato il dominio<br />

• i parametri globali e la loro connessione agli elementi<br />

e vengono fornite le informazioni relative a tali enti.<br />

Conviene definire istanze elemento che saranno caratterizzate da:<br />

• parametri connessi,<br />

20


• nodi connessi in cui imporre i vincoli per definire l’interpolazione,<br />

• caratteristiche meccaniche.<br />

Conviene definire istanze nodo, nel caso di discretizzazioni lagrangiane<br />

o hermitiane, o istanze nodo HC, nel caso di omonime discretizzazioni, che<br />

sono caratterizzate da:<br />

• coordinate,<br />

• valori del termine noto associati,<br />

• condizioni di vincolo sui parametri globali associati,<br />

• parametri globali associati.<br />

Il ruolo svolto dai valori nodali nelle interpolazioni lagrangiana ed hermitiana<br />

è svolto nell’interpolazione HC dai parametri di controllo. Nelle interpolazioni<br />

lagrangiana ed hermitiana il set di parametri discreti incognite<br />

del problema è costituito da valori nodali della funzione (lagrangiana) ed<br />

eventualmente (hermitiana) di una sua derivata. Di conseguenza le matrici<br />

del problema saranno scritte con riferimento a tali parametri. Nell’interpolazione<br />

spline il set di parametri discreti incognite del problema è costituito<br />

dai parametri di controllo e ovviamente di nuovo le matrici del problema<br />

saranno scritte con riferimento a tali parametri.<br />

21


Capitolo 3<br />

Interpolazione spline<br />

La necessità di buone tecniche per l’approssimazione di funzioni si presenta<br />

in molti contesti: data fitting, soluzioni appprossimate di equazioni differenziali<br />

e integrali tramite metodi variazionali, formule di integrazione e<br />

differenziazione numerica, tecniche numeriche per la risoluzione di equazioni<br />

differenziali non lineari del primo ordine [5]. Se si considera, ad esempio,<br />

una equazione differenziale ordinaria nell’incognita f(x) soggetta a determinate<br />

condizioni al bordo, è ben noto che in alcuni casi la soluzione esatta di<br />

tale problema non può essere calcolata. Si procede perciò alla ricerca di una<br />

buona approssimazione φ(x) della soluzione esatta f(x). Per fare ciò si dovrà<br />

stabilire, data la funzione f(x), quali funzioni φ(x) forniscono una buona approssimazione<br />

di f(x), che cosa si intende per buona approssimazione e come<br />

determinare una buona approssimazione φ(x) di f(x).<br />

3.1 Approssimazione di funzioni<br />

Approssimare una data funzione, p. es. reale di una variabile reale, mediante<br />

particolari combinazioni di funzioni appartenenti a date classi, è uno dei<br />

problemi centrali dell’analisi numerica. Le classi funzionali di più frequente<br />

impiego sono: polinomi, funzioni di Fourier (sennx, cosnx, n = 0, 1, ...). La<br />

funzione approssimante, che viene sostituita a quella di partenza, deve essere<br />

tale da soddisfare certi requisiti di aderenza a quest’ultima ed essere<br />

valutabile in maniera sufficientemente facile, con i mezzi di calcolo disponibili.<br />

Una delle tecniche di approssimazione più vecchie (risale almeno al XVIII<br />

sec. con Eulero e Lagrange e al 1822 con Fourier), è quella di approssimare<br />

una data funzione f(x) con la somma finita:<br />

φ(x) = c1Φ1(x) + c2Φ2(x) + ... + cnΦn(x) (3.1)<br />

22


di funzioni note che sono piuttosto semplici da calcolare. Le funzioni Φk<br />

sono le funzioni approssimanti, i coefficienti ck sono costanti che vengono<br />

determinati in base a vincoli che vengono imposti su φ(x).<br />

Anche la serie di Fourier deriva da questa idea e può essere usata per<br />

tentare di dare un’espressione di f(x) secondo la somma infinita:<br />

f(x) = Σ ∞ k=0[cksinakt + bkcosakt]<br />

dove a è una data costante. Troncando tale serie, si ottiene:<br />

φ(x) = c0 + c1sinat + b1cosat + c2sin2at<br />

+b2cos2at + ... + cnsinnat + bncosnat<br />

dove le costanti ci, bi, i = 0..n vengono determinate in base a vincoli su<br />

φ(x).<br />

Invece di usare come funzione approssimante φ(x) una funzione trigonometrica,<br />

si può usare una funzione più semplice, quale ad esempio un polinomio<br />

(polynomial) o una polinomiale a tratti (piecewise polynomial). In<br />

particolare, scelte Φk = x k , k = 0..n si ottiene:<br />

φ(x) = cnx n + cn−1x n−1 + ... + c2x 2 + c1x + c0<br />

che è un polinomio di grado ≤ n 1 , con coefficienti ck, k = 0..n, che sono delle<br />

costanti reali se abbiamo a che fare con un polinomio reale, e che vengono<br />

determinati in base ai vincoli posti su φ(x).<br />

Supposta f(x) ∈ C[a, b], cioè f(x) continua su un dato intervallo [a, b],<br />

se si scelgono Φ1, Φ2, ..., Φn ∈ C[a, b], l’approssimazione espressa nella (3.1)<br />

φ(x) ∈ span(Φ1, Φ2, ..., Φn) che è un sottospazio 2 di C[a, b]. Inoltre se Φ1, Φ2, ..., Φn<br />

sono linearmente indipendenti, allora Xn = span(Φ1, Φ2, ..., Φn) è un sottospazio<br />

di C[a, b] a dimensione n. Scelta come tecnica di approssimazione la<br />

(3.1), occorre stabilire un criterio per stimare la qualità dell’approssimazione,<br />

ad es. si stabilisca che φ(x) è una buona approssimazione di f(x) se f −φ <br />

è sufficientemente piccolo, dove . sia una norma su C[a, b].<br />

Data in generale una funzione approssimante espressa secondo la (3.1) si<br />

avranno n costanti incognite ck, k = 1..n e saranno perciò richiesti almeno n<br />

vincoli o condizioni su φ(x). Tali vincoli dovrebbero essere scelti in modo tale<br />

che φ(x) sia una buona approssimazione di f(x) e che ci sia una soluzione<br />

1 Un polinomio di grado ≤ n in una variabile x<br />

p(x) = anx n + an−1x n−1 + ... + a1x + a0,<br />

con a0, a1, ..., an ∈ R risulta essere di grado n, p(x) ∈ Pn ⇔ an = 0<br />

2 Si vedano in appendice i richiami di algebra lineare.<br />

23


unica per le incognite ck, k = 1..n. Sono numerosi i tipi vincoli che si possono<br />

imporre su φ(x). Fra questi è possibile citare:<br />

Vincoli di interpolazione puri:<br />

♦ φ(xi) = f(xi) in n distinti punti xi ∈ [a, b], i = 1..n;<br />

Vincoli di interpolazione e vincoli di regolarità:<br />

♦ φ(xi) = f(xi) in k distinti punti xi ∈ [a, b], i = 1..k<br />

♦ φ(x1) = f(x1), φ(xk) = f(xk)<br />

♦ φ(x) sia due volte differenziabile con continuità<br />

Sia data una funzione f(x) ∈ C[a, b] da approssimare e sia data una<br />

suddivisione a = x0 < x1 < x2 < ... < xn = b dell’intervallo [a, b], dove<br />

x0, x1, ..., xn sono un numero finito di punti, sono chiamati nodi o punti di<br />

collocazione o punti base e possono essere in<strong>tesi</strong> come i punti dove si impongono<br />

i vincoli della funzione approssimante. Si voglia trovare un polinomio<br />

p(x) che interpoli f(x) nei nodi x0, x1, ..., xn, cioè t.c. p(xi) = f(xi), i = 0..n.<br />

L’errore f − p varierà modificando il grado del polinomio, il numero di<br />

nodi e la posizione dei nodi. Fra le interpolazioni polinomiali la tecnica più<br />

semplice è quella che usa i polinomi di Lagrange. Il polinomio di Lagrange<br />

di grado n associato con la tabulazione è il polinomio (l’unico e solo)<br />

3.2 Funzioni Spline<br />

Si considerino n + 1 valori y0, y1, ..., yn in corrispondenza di n + 1 punti base<br />

o nodi distinti x0, x1, ..., xn in un intervallo chiuso [a, b] tali che:<br />

a = x0 < x1 < ... < xn = b.<br />

Esiste uno e un solo polinomio di grado ≤ n, detto polinomio di interpolazione,<br />

che assuma nei punti xi i corrispondenti valori prefissati yi,<br />

Pn(xi) = yi, i = 0, 1, ..., n<br />

cioè sia passante per gli n + 1 punti del piano (xi, yi), i = 0, 1, ..., n. Se n<br />

è abbastanza grande, p. es., n ≥ 7, questo polinomio presenta in generale<br />

un andamento con oscillazioni molto ampie; ciò non è accettabile nel caso in<br />

cui si vuole ottenere una curva con oscillazioni poco marcate o, come si dice<br />

24


liscia (smooth). In questo caso si può ottenere lo scopo desiderato operando<br />

con n polinomi di grado m basso, p. es. m = 3, ciascuno dei quali è definito<br />

su uno soltanto degli n sottointervalli individuati dai nodi.<br />

Si consideri una partizione di [a, b] individuata dai nodi, cioè una famiglia<br />

F di sottointervalli (xi, xi+1), i = 0, 1, ..., n − 1 chiusi aperti o semiaperti ma<br />

tali da non avere punti in comune e da esaurire [a, b]. Si dice funzione polinomiale<br />

a tratti (polynomial piecewise function) di grado m e nodi x0, x1, ..., xn<br />

associata alla partizione F , una funzione p(x) definita su tutto [a, b], che in<br />

ciascun sottointervallo (xi, xi+1) coincide con un polinomio pi+1(x) di grado<br />

m.<br />

É opportuno notare che una funzione polinomiale non è necessariamente<br />

continua nei nodi interni, cioè può in essi mancare il raccordo tra i due tratti<br />

contigui di curva e manifestarsi quindi un salto. Nella pratica è interessante<br />

prendere in considerazione tra le funzioni polinomiali a tratti quelle che presentano<br />

una certa regolarità, cioè sono continue nei nodi interni con le loro<br />

derivate fino ad un certo ordine.<br />

Assegnati l’intervallo [a, b] ed i nodi x0, x1, ..., xn si chiama funzione Spline,<br />

o semplicemente Spline, di grado m e nodi x0, x1, ..., xn, una funzione sm(x),<br />

che:<br />

• in ciascun sottointervallo (xi, xi+1), i = 0, 1, ...n − 1 coincide con un<br />

polinomio sm,i+1(x) di grado m<br />

• è continua in [a, b] con le sue derivate s (k)<br />

m , k = 1, 2, ...m − 1<br />

In altre parole:<br />

sm(x) |(xi,xi+1)∈ Pm<br />

sm(x) ∈ C m−1 [a, b].<br />

(3.2)<br />

La spline sm(x) sulla suddivisione x0, x1, ..., xn dipende da (m + 1)n coefficienti,<br />

essendo costitutita da n polinomi di grado m, ciascuno dei quali<br />

dipendente da m + 1 parametri. I singoli polinomi di gardo m non sono comunque<br />

indipendenti perchè sugli n − 1 nodi interni devono soddisfare, per<br />

la regolarità richiesta, le condizioni<br />

limx→xis(k) m,i(x) = limx→xis(k) m,i+1(x) (3.3)<br />

con k = 0, 1, ..., m−1 e i = 1, 2, ...n−1. Quindi per determinare univocamente<br />

la spline sm(x) è necessario imporre altre m + n condizioni,<br />

(m + 1)n<br />

<br />

vincoli richiesti<br />

− m(n − 1) = m + n<br />

<br />

<br />

vincoli disponibili (3.3) condizioni da aggiungere (dof)<br />

la cui natura dipende dal particolare tipo di problema che si vuole risolvere.<br />

25


Le spline più utilizzate sono quelle con m = 3, dette spline cubiche, a<br />

cui si chiede inoltre di soddisfare le proprietà di interpolazione nei nodi ed<br />

opportune condizioni agli estremi dell’intervallo. In particolare è detta spline<br />

cubica naturale una funzione s3(x) univocamente definita secondo:<br />

1. s3 ∈ C 2 [a, b], cioè s3(x) è continua con le sue derivate prime e seconde<br />

continue in [a,b];<br />

2. su ciascun sottointervallo (xi, xi+1), i = 0, 1, ..., n + 1, s3(x) è un polinomio<br />

s3,i+1(x) di terzo grado, cioè<br />

s3,i+1(x) = Ai+1,0 + Ai+1,1x + Ai+1,2x 2 + Ai+1,3x 3<br />

i = 0, 1, ..., n − 1<br />

3. nei nodi s3(xi) = yi, i = 0, 1, ..., n + 1<br />

4. s3(x) verifica agli estremi di [a, b]<br />

s ′ 3(a) = s ′ 3(b) = 0<br />

Le spline cubiche naturali presentano oscillazioni non troppo numerose nè<br />

ampie, mostrando così quelle caratteristiche di approssimazione liscia richieste<br />

3 .<br />

La dimensione dello spazio Sm delle spline sm(x) su [a, b] relative ad n+1<br />

nodi distinti è dim{Sm} = m + n. Una spline può essere convenientemente<br />

rappresentata come combinazione lineare di dim{Sm} funzioni di base tali<br />

per cui le proprietà di spline (3.2) siano automaticamente verificate. Vengono<br />

generalmente usate come base per le spline, le B-Spline (o bell-spline) 4 . La<br />

3 Il vocabolo inglese spline indica un sottile righello flessibile, vincolato a passare mediante<br />

opportune guide senza discontinuità o punti angolosi per i punti di un piano<br />

(xi, yi), i = 0, 1, ..., n + 1 e usato dai disegnatori per raccordare tali punti. L’energia<br />

potenziale elastica del righello, compatibilmente con i vincoli assegnati, è minima, ed è<br />

minima la sua curvatura. tale comportamento può essere modellizzato matematicamente<br />

con una spline cubica naturale; precisamente si può dimostrare la proprietà di minimo:<br />

fra tutte le funzioni u(x) ∈ C 2 [a, b], che interpolano i punti assegnati, si ottiene il minimo<br />

del funzionale b<br />

[u<br />

a<br />

′′ (x)] 2 dt<br />

quando u(x) coincide con una spline cubica naturale.<br />

4 Altrove si usa chiamare quelle che qui chiamiamo B-spline, come basis B-Spline, e le<br />

combinazioni lineari di tali basis B-Spline, cioè quelle che finora abbiamo chiamato spline,<br />

come B-Spline.<br />

26


B-Spline B m i di ordine m relativa ai nodi distinti xi, xi+1, ..., xi+m+1 può essere<br />

definita secondo la formula ricorsiva:<br />

B0 <br />

1 se x ∈ [xi, xi+1],<br />

i (x) =<br />

0 altrimenti,<br />

B m i (x) = x−xi<br />

xi+m−xi Bm−1<br />

i (x) + xi+m+1−x<br />

xi+m+1−xi+1 Bm−1<br />

i+1 (x), k ≥ 1<br />

(3.4)<br />

Dati n + 1 nodi distinti, xi, i = 0..n si possono costruire n − m B-spline<br />

linearmente indipendenti di grado m, ma restano da saturare ancora 2m<br />

gradi di libertà per ottenre una base per Sm. Un modo di procedere consiste<br />

nell’introdurre 2m nodi fittizi<br />

x−m ≤ x−m+1 ≤ ... ≤ x−1 ≤ x0 ≡ a, b ≡ xn ≤ xn+1 ≤ ... ≤ xn+m<br />

ai quali vengono associate le B-spline B m i , i=-m..-1 e i=n-m..n-1. Con questo<br />

accorgimento ogni spline sm ∈ Sm potrà essere scritta come:<br />

sm(x) = Σ n−1<br />

i=−k ciB k i (x)<br />

dove ci sono valori reali, detti coefficienti B-spline.<br />

3.3 Spline nel Computer Aided Geometric Design<br />

Nel passato si usava distinguere le linee luogo geometrico dalle linee grafiche.<br />

Le prime potevano essere controllate con strumenti semplici, come il compasso,<br />

e conseguentemente tracciate in cantiere per guidare la costruzione di un<br />

muro o di una copertura. Le seconde, invece, nate dal gesto della mano che<br />

disegna senza alcun ausilio tecnico, non potevano essere descritte in forma algoritmica<br />

ed erano, perciò, difficili da controllare. Per tracciare linee grafiche<br />

passanti per punti prefissati,nel disegno architettonico, quale ad esempio la<br />

curva dell’entasi, cioè la curva che raccorda l’imoscapo al sommoscapo nella<br />

sezione rastremata del fusto delle colonne di ordine classico, Pietro Cataneo<br />

nel 1567, propone di usare un regolo piegabile (si veda Figura 3.1). Un<br />

identico problema si presenta nella costruzione degli scafi, degli aerei e delle<br />

carrozzerie delle automobili e una identica soluzione è stata utilizzata per<br />

controllare queste curve dalla forma libera, fino all’avvento dell’informatica.<br />

Le curve, infatti, venivano tracciate raccordando pochi punti con sottili<br />

listelli detti ’splines’, bloccati da pesi (si veda Figura 3.2(d)).<br />

Oggi, invece, il termine è usato come acronimo dell’espressione ’smooth<br />

polyline’ e sta ad indicare un algoritmo che permette di descrivere numericamente<br />

un curva qualsiasi. Questa soluzione ha numerosi vantaggi: la curva<br />

27


Figura 3.1:<br />

è controllata analiticamente con grande accuratezza; può essere riprodotta<br />

esattamente, ingrandita o rimpiccolita a piacere; permette infine, come<br />

vedremo, di descrivere con il medesimo algoritmo curve e superfici da esse<br />

generate diversissime, anche le curve e le superfici luogo geometrico, come<br />

caso particolare.<br />

Una spline è, in generale, una curva, generata analiticamente, che simula<br />

il comportamento di una linea grafica ovvero dei listelli flessibili (detti, appunto,<br />

spline), usati per disegnare forme ’avviate’, come quelle degli scafi o<br />

degli aeroplani. La spline viene governata da una serie di punti isolati, oppure<br />

anche dai vertici e dai lati di una linea spezzata: questi punti sono detti<br />

poli o punti di controllo (si veda Figura 3.2(a)). Conveniamo di chiamare k<br />

l’ordine della curva, n il grado del polinomio che la descrive e m il numero<br />

dei punti di controllo. Il grado n di una spline è uguale all’ordine k diminuito<br />

dell’unità: n = k-1<br />

Una spline può appartenere ai punti di controllo o semplicemente avvicinarsi<br />

ad essi, nel primo caso si dice curva di interpolazione, nel secondo curva<br />

di approssimazione.<br />

Le spline di interpolazione hanno ordine k = 4 e perciò sono descritte da<br />

polinomi di terzo grado (n = 3): si dicono anche curve polinomiali cubiche.<br />

Tutti i modellatori dispongono di comandi per costruire le spline cubiche<br />

(AutoCAD R○, Rhino R○, MicroStation R○). Il più noto degli algoritmi di approssimazione<br />

è dovuto al matematico francese Pierre Bézier. Una curva di<br />

Bézier è una curva di approssimazione che non passa attraverso i punti che<br />

28


interpola (con l’eccezione del primo e dell’ultimo, quando è aperta). L’ordine<br />

di una curva di Bézier è sempre uguale al numero dei poli. Perciò: una curva<br />

di Bézier è una curva di interpolazione che ha un numero di nodi m eguale<br />

al suo ordine k (k=m). Quella in Figura 3.2(b), ad esempio, è una curva di<br />

Bézier, di ordine 5: il polinomio che la descrive è di quarto grado (n = k-1<br />

= 4).<br />

Le proprietà delle curve di Bézier: se è aperta, la curva passa per lo<br />

start point e per l’end point; se è chiusa passa solo per il primo e l’ultimo<br />

dei punti di controllo, che coincidono; le tangenti alla curva nei punti suddetti<br />

sono il primo e l’ultimo segmento della spezzata guida; la curva giace<br />

per intero nell’involucro convesso della spezzata guida, cioè all’interno del<br />

poligono convesso che si ottiene ’avvolgendo la spezzata con un elastico’ (si<br />

veda Figura 3.2(c) tracciato in verde);<br />

29


(a)<br />

(b)<br />

(c) (d)<br />

Figura 3.2: (a) Esempio di curva spline; (b) Esempio di curva di Bézier; (c)<br />

Proprietà delle curve di Bézier; (d) Strumento spline per il disegno.<br />

30


Le B-spline sono curve che discendono dalle curve di Bézier, ma sono<br />

formate da più tratti o spans e hanno ordine k minore o uguale al numero p<br />

dei poli: per esempio, data una spezzata con 12 vertici, l’ordine della curva<br />

può variare tra 12 e 2. Se l’ordine è 12, la curva è una curva di Bézier,<br />

come caso particolare. Se l’ordine è 2, la curva degenera e coincide con la<br />

spezzata di controllo. Le curve di Bézier sono dunque un caso particolare<br />

delle B-spline.<br />

In Figura 3.3(a) si vede una spezzata con sei vertici che controlla quattro<br />

B-spline di ordine 3 (in grigio chiaro), 4, 5 e 6 (in blu). La B-spline blu è<br />

una curva di Bézier.<br />

Riassumiamo qui di seguito le proprietà delle B-spline che consentono di<br />

modellarle. la B-spline è una curva il cui ordine k può essere uguale o minore<br />

del numero mdei poli; la curva passa per lo start point e per l’end point; le<br />

tangenti alla curva nei punti suddetti sono il primo e l’ultimo segmento della<br />

spezzata guida; la curva giace per intero nell’involucro convesso generato<br />

dai k vertici contigui della spezzata guida, dove k è l’ordine della curva ad<br />

esempio: nella Figura 3.3(b) è stata costruita una B-spline controllata da sei<br />

vertici di una spezzata (in rosso); l’ordine della spline è 4; se si costruisce<br />

un poligono di 4 lati con i primi quattro vertici della spezzata, si vede che<br />

la parte della B-spline interessata dai quattro vertici del poligono è tutta al<br />

suo interno; analogamente per il poligono successivo (in verde), e così via.<br />

la curva si allontana dai poli tanto più, quanto più è grande il suo ordine<br />

k (si veda il primo esempio di B-spline dato sopra); quindi, più si desidera<br />

smussare la spezzata di controllo, più alto deve essere il grado della curva; se<br />

la spezzata guida possiede k nodi consecutivi allineati, la curva in quel tratto<br />

è rettilinea; ad esempio: nella Figura 3.3(c)la spezzata possiede otto vertici,<br />

quattro dei quali allineati; la B-spline gialla ha ordine 8, la verde ordine 4; la<br />

B-spline verde ha un tratto rettilineo compreso tra i quattro punti di controllo<br />

allineati; la B-spline consente il controllo locale della forma: se si cambia un<br />

nodo, vengono influenzati k tratti soltanto; viceversa, ogni tratto della curva è<br />

influenzato da k punti di controllo. se due o più punti di controllo coincidono,<br />

la curva si avvicina al nodo, tanto più, quanto maggiore è il numero dei punti<br />

coincidenti; per k nodi coincidenti, la curva passa per il punto di controllo; la<br />

spezzata, nella Figura 3.3(d), ha tre punti di controllo coincidenti nel vertice<br />

in basso; la spline blu, di ordine 3, passa per il vertice, spezzandosi; la spline<br />

rossa, di ordine 6, non passa per il vertice, ma gli si avvicina.<br />

31


(a)<br />

(b)<br />

(c) (d)<br />

Figura 3.3: Esempi di curve B-spline<br />

32


Le NURBS (Non Uniform Rational B-spline) sono B-spline controllate da<br />

punti e da pesi relativi ad ogni punto di controllo. Le B-spline sono dunque un<br />

caso particolare delle NURBS, che si verifica quando i pesi dei punti controllo<br />

sono tutti eguali. Anche le NURBS, come le B-Spline sono formate da più<br />

archi o spans. La continuità tra questi archi è descritta da un numero intero:<br />

co = 0 sta per continuità posizionale, gli archi sono semplicemente contigui;<br />

co = 1 sta per continuità tangenziale, gli archi sono contigui e ammettono<br />

la medesima tangente nel punto di saldatura; co = 2 sta per continuità di<br />

curvatura, gli archi sono contigui, ammettono la medesima tangente e hanno<br />

la medesima curvatura (il reciproco del raggio) nel punto di saldatura.<br />

I parametri che modellano una NURBS sono dunque:<br />

- il numero np dei poli o punti di controllo e il loro peso;<br />

- il numero na degli archi o spans che compongono la curva;<br />

- la continuità co tra gli archi nei punti di saldatura (knots);<br />

- il grado della curva, deg.<br />

Questi parametri sono legati tra loro dalla relazione:<br />

np = (deg - con) na + con + 1.<br />

Una caratteristica notevole delle NURBS è la loro capacità di descrivere<br />

le coniche esattamente e non per approssimazione, come le altre spline. I<br />

modellatori più recenti adottano quasi esclusivamente gli algoritmi NURBS,<br />

con i quali sono in grado di modellare un numero ampissimo di linee e superfici<br />

curve.<br />

3.4 Vantaggi dell’interpolazione spline per un<br />

metodo variazionale<br />

Sia dato un problema variazionale definito in H 2 che richieda quindi una<br />

classe di continuità C 1 , quale è quello della lastra di Kirchhoff, nella cui<br />

formulazione differenziale o forte sono appunto presenti derivate del quarto<br />

ordine. Si voglia garantire tale richiesta di continuità C 1 , ad esempio<br />

in un problema con incognita una funzione scalare unidimensionale, utilizzando<br />

elementi finiti con un interpolazione tradizionale, che cioè usa come<br />

parametri solo valori della funzione (interpolazione lagrangiana) o solo valori<br />

della funzione o di una sua derivata (interpolazione hermitiana): si dovrà<br />

usare un elemento hermitiano cubico. Il numero di parametri globali richiesti<br />

nel caso di discretizzazione del dominio in n elementi, è pari a 2n + 2.<br />

Un problema variazionale definito in H 1 richiedente invece una classe di continuità<br />

C 0 potrà essere risolto con un elemento finito lineare, che realizza<br />

la regolarità voluta con n + 1 parametri globali. Maggiore è la regolarità<br />

33


della funzione incognita, maggiore sarà il numero di parametri globali richiesti<br />

e quindi il costo computazionale. In contrapposizione all’interpolazione<br />

tradizionale (Lagrange con vincoli puri di interpolazione e Hermite con vincoli<br />

misti di interpolazione e di regolarità) si pone l’interpolazione HC dove<br />

alcune condizioni di regolarità vengono implicitamente imposte sopperendo<br />

così alla necessità di un numero relativamente elevato di parametri globali.<br />

Sono sufficienti infatti n+2 parametri globali, praticamente un parametro per<br />

elemento (quindi tre ad esempio, nel caso di funzione a tre componenti) per<br />

ottenere la classe di continuità C 1 . Tale costo è praticamente l’equivalente<br />

di un’interpolazione lineare che garantisce C 0 . In tal modo già su mesh rade,<br />

e quindi a costi computazionali ridotti, è possibile ottenere ottimi risultati.<br />

3.5 Interpolazione HC<br />

Il modello di discretizzazione HC è basato sull’uso dell’approssimazione Bspline<br />

(vedi §3.2) quadratica che garantisce una continuità di classe C 1 con<br />

l’uso di un solo parametro per elemento nel caso di una funzione incognita<br />

unidimensionale. Il risparmio di parametri globali, già presente quindi nel<br />

caso unidimensionale, è maggiore nel caso 2D, e ancora di più nel caso 3D.<br />

Sia dato un intervallo reale [a, b] e si voglia definire su tale intervallo<br />

una funzione f(x) ∈ C 1 [a, b] con relativamente pochi parametri. Tale scopo<br />

può essere raggiunto con una particolare spline quadratica (si veda §3.2),<br />

l’interpolazione HC presentata in [1].<br />

Si consideri una suddivisione di [a, b] in n sottointervalli o elementi individuati<br />

da punti equidistanti:<br />

a ≡ x0 < x1 < ... < xn ≡ b.<br />

Si imponga che f(x) nel generico sottointervallo sia un polinomio quadratico.<br />

Dovranno perciò esserci per il generico elemento tre parametri. Si considerino<br />

punti di controllo pi nei punti medi di ciascun sottointervallo. Si associ<br />

ad ogni punto di controllo un parametro di controllo qi. In questo modo, per<br />

un elemento interno potremo associare i 3 parametri locali al punto medio<br />

dell’elemento stesso e a quelli dei 2 elementi adiacenti. La stessa scelta non<br />

può essere operata per un elemento di bordo, il quale non ha dal lato esterno<br />

del bordo un elemento adiacente: gli verrebbe a mancare quindi un<br />

parametro di controllo. Su un elemento di bordo, invece, si sostituisce il<br />

punto di controllo mancante con l’estremo del dominio globale connesso all’elemento<br />

stesso, cioè il punto sul bordo lungo la congiungente il punto di<br />

controllo mancante e il punto di controllo associato all’elemento. I punti di<br />

34


q0<br />

controllo globali pi, i = 1..n + 2 dovranno quindi essere posizionati nei punti<br />

medi degli elementi e negli estremi del dominio globale (si veda Figura 3.4).<br />

q1<br />

q2<br />

qi<br />

qi+1 qn-1<br />

p1 p2 pi pi+1 pn-1<br />

x0=p0 x1 x2 xi-1 xi xi+1<br />

pn<br />

xn-2 xn-1 xn=pn+1<br />

e1 e2 ei ei+1 en-1 en<br />

Si avrà quindi<br />

Figura 3.4: Costruzione dell’interpolazione HC<br />

f(x) |(xi−1,xi)= φ1qi−1 + φ2qi + φ3qi+1<br />

dove φ1, φ2, φ3 sono le blending functions, le funzioni di forma per l’interpolazione<br />

spline.<br />

Supposti noti i parametri di controllo si consideri la spezzata S che congiunge<br />

i punti di coordinate (pi, qi). Si imponga che f(x) nel generico sottointervallo<br />

sia un polinomio quadratico con negli estremi dell’elemento l’intersezione<br />

della funzione con S e nell’estremo sinistro dell’elemento la tangenza<br />

ad S. Il sistema che conduce alla definizione delle blending functions per un<br />

generico elemento interno risulta quindi<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

f(xi−1) = 1<br />

2 (qi−1 + qi)<br />

f(xi) = 1<br />

2 (qi + qi+1)<br />

f ′ (xi−1) = qi − qi−1<br />

che considerando f(x) quadratica definita su dominio adimensionalizzato<br />

diventa ⎧<br />

⎪⎨<br />

⎪⎩<br />

f0 − f1 + f2 = 1<br />

2 (qi−1 + qi)<br />

f0 + f1 + f2 = 1<br />

2 (qi + qi+1)<br />

f1 − 2f2 = qi − qi−1<br />

Secondo tali condizioni si ottengono le blending functions nella variabile ξj,<br />

per un elemento interno normalizzato (-a,a)<br />

φ1[ξj] = 1 1<br />

−<br />

8 4a ξj + 1<br />

8a2 ξ2 j<br />

φ2[ξj] = 3 1<br />

−<br />

4 4a2 ξ2 j<br />

35<br />

qn<br />

qn+1


φ3[ξj] = 1 1<br />

+<br />

8 4a ξj + 1<br />

8a2 ξ2 j<br />

Per elementi di bordo normalizzati (-a,a)<br />

⎧<br />

⎪⎨<br />

sinistro:<br />

⎪⎩<br />

φ1[ξj] = 1<br />

4<br />

φ2[ξj] = 5<br />

8<br />

φ3[ξj] = 1<br />

8<br />

− 1<br />

2a ξj + 1<br />

4a 2 ξ 2 j<br />

+ 1<br />

4a ξj − 3<br />

8a 2 ξ 2 j<br />

+ 1<br />

4a ξj + 1<br />

8a 2 ξ 2 j<br />

⎧<br />

⎪⎨<br />

destro:<br />

⎪⎩<br />

φ1[ξj] = 1<br />

8<br />

φ2[ξj] = 5<br />

8<br />

φ3[ξj] = 1<br />

4<br />

− 1<br />

4a ξj + 1<br />

8a 2 ξ 2 j<br />

− 1<br />

4a ξj − 3<br />

8a 2 ξ 2 j<br />

+ 1<br />

2a ξj + 1<br />

4a 2 ξ 2 j<br />

Nel caso di elementi adimensionalizzati con dominio (-1/2,1/2) si ha<br />

invece:<br />

⎧<br />

⎪⎨<br />

sinistro:<br />

⎪⎩<br />

φ1[ξj] = 1 1<br />

−<br />

8 2 ξj + 1<br />

2 ξ2 j ,<br />

φ2[ξj] = 3<br />

4 − ξ2 j ,<br />

φ3[ξj] = 1 1<br />

+<br />

8 2 ξj + 1<br />

2 ξ2 j .<br />

φ1[ξj] = 1<br />

4 − ξj + ξ 2 j ,<br />

φ2[ξj] = 5<br />

8<br />

φ3[ξj] = 1<br />

8<br />

+ 1<br />

2 ξj − 3<br />

2 ξ2 j ,<br />

+ 1<br />

2 ξj + 1<br />

2 ξ2 j ,<br />

⎧<br />

⎪⎨<br />

destro:<br />

⎪⎩<br />

φ1[ξj] = 1<br />

8<br />

φ2[ξj] = 5<br />

8<br />

− 1<br />

2 ξj + 1<br />

2 ξ2 j ,<br />

− 1<br />

2 ξj − 3<br />

2 ξ2 j ,<br />

φ3[ξj] = 1<br />

4 + ξj + ξ 2 j .<br />

Quanto ottenuto può essere verificato calcolando le derivate prime delle<br />

funzioni fei , i = 1..n, definite sugli elementi e1, e2, ...en, nei punti di interconnessione<br />

fra gli elementi xi, i = 1..n − 1. Ovvero<br />

f ′ ei (xi) = f ′ ei+1 (xi) = qi+1 − qi, i = 1..n − 1<br />

e quindi che l’interpolazione HC garantisce la continuità C 1 .<br />

Sia dato un dominio bidimensionale rettangolare discretizzato in ex x ey<br />

elementi finiti e siano dati i parametri di controllo fpq per una funzione f. Si<br />

ottengono interpolazioni biquadratiche locali della funzione bidimensionale<br />

f utilizzando nove parametri di controllo fij e le blending functions φi ed ψj<br />

f =<br />

3<br />

i,j=1<br />

φiψjfij<br />

Sia dato, invece, un dominio tridimensionale a forma di parallelepipedo<br />

discretizzato in ex x ey x ez elementi finiti e siano dati i parametri di controllo<br />

fpqr per la funzione f. Si ottengono interpolazioni quadratiche locali della<br />

36


funzione tridimensionale f utilizzando 27 parametri di controllo locali fijk e<br />

le blending functions φi, ψj ed χk<br />

f =<br />

3<br />

i,j,k=1<br />

φiψjχkfijk<br />

Si considerino i punti di controllo xpqr posizionati nei centroidi degli elementi,<br />

ai quali ci riferiremo come punti di controllo associati agli elementi.<br />

Analogamente a quanto visto per il dominio unidimensioanle per un elemento<br />

interno i suoi 27 parametri di controllo saranno associati al punto medio<br />

dell’elemento stesso e a quelli dei 26 elementi adiacenti, ma la stessa regola<br />

non può essere applicata ad un elemento di bordo. Infatti, per un elemento<br />

di bordo, che, rispetto ad un elemento interno, dal lato esterno del bordo<br />

manca di alcuni elementi adiacenti, mancherebbero alcuni punti di controllo.<br />

Su un elemento di bordo si sostituiscono i paramatri di controllo mancanti<br />

con dei corrispondenti sul bordo. In particolare con i punti sul bordo lungo le<br />

congiungenti i punti di controllo mancanti con il punto di controllo associato<br />

all’elemento 5 .<br />

I punti di controllo globali xpqr, p = 1..ex + 2, q = 1..ey + 2, r = 1..ez + 2<br />

per il caso 3D saranno dunque posizionati nei punti centroidi degli elementi,<br />

nei vertici del dominio e nei punti medi dei segmenti e dei quadrati in cui<br />

si discretizzano rispettivamente gli spigoli e le facce del contorno 6 . Analogamente<br />

per il caso 2D i punti di controllo globali xpq, p = 1..ex+2, q = 1..ey+2<br />

saranno posizionati nei punti medi degli elementi, nei vertici del dominio e<br />

nei punti medi dei segmenti in cui è discretizzato il contorno.<br />

Le interpolazioni B-spline biquadratica e triquadratica (rispettivamente<br />

quadratica in 2 direzioni e quadratica in 3 direzioni) possono essere determinate<br />

facendo il prodotto fra interpolazioni B-spline quadratiche per unidimensionale<br />

nelle direzioni di riferimento. Le funzioni di forma per un elemento<br />

interno, che è quindi interno rispetto a tutte le direzioni di riferimento (2<br />

nel caso 2D, 3 nel caso 3D), sono uguali per ciascuna di tali direzioni tranne<br />

che cambia la variabile indipendente che le governa. Un elemento di bordo,<br />

invece, che può essere esterno in una direzione e interno in un’altra avrà in<br />

generale le blending functions differenti nelle varie direzioni. Ad ogni modo,<br />

una volta determinate le blending functions nella variabile generica xii<br />

per i tre casi di posizione dell’elemento, e cioè, estreno sinistro, interno ed<br />

esterno destro, potremo scriverle per ciascuna direzione modificando solo la<br />

5 †Ci si riferisca per questo alla suddivisione in elementi finiti adimensionalizzata, che<br />

cioè riduce il dominio, curvo o retto che sia, con mesh uniforme o no, ad un parallelepipedo<br />

suddiviso in cubi.<br />

6 Si veda la nota †<br />

37


variabile indipendente che le governa. Le matrici HC che si ricavano dalle<br />

blending function per ciascuno dei tre casi di posizione dell’elemento saranno<br />

uguali fra una direzione e l’altra se e solo se la posizione dell’elemento in una<br />

direzione sarà uguale all’altra.<br />

38


Capitolo 4<br />

Formulazione dell’elemento<br />

HC3<br />

4.1 Interpolazione High-Continuity<br />

L’interpolazione ad alta continuità del campo degli spostamenti è fornita<br />

dalle seguenti espressioni:<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

u1 = 3 i,j,k=1 φi[ξ1]ψj[ξ2]χk[ξ3]w1ijk,<br />

u2 = 3 i,j,k=1 φi[ξ1]ψj[ξ2]χk[ξ3]w2ijk,<br />

u3 = 3 i,j,k=1 φi[ξ1]ψj[ξ2]χk[ξ3]w3ijk,<br />

(4.1)<br />

dove le coordinate ξi, i = 1..3 spazzano il dominio elementare unitario (nor-<br />

malizzato su ξi = − 1 1 .. 2 2 ), w1ijk, w2ijk e w3ijk sono i parametri HC coinvolti nel<br />

campo di interpolazione sul generico elemento e le funzioni di forma adottate<br />

φi(ξ1), ψj(ξ2), χk(ξ3) sono definite in §3.5.<br />

La Figura 4.1 riepiloga il caso unidimensionale e quindi il significato dei<br />

parametri HC, che definiscono le tangenti alla funzione interpolata nei punti<br />

estremi dell’elemento. La stessa figura mostra inoltre la posizione dei nodi<br />

HC e il plottaggio delle funzioni di forma. Invece, la Figura 4.2 mostra una<br />

mesh tipica su un corpo rettangolare ed i nodi coninvolti nella descrizione<br />

del campo del generico elemento per il caso a due dimensioni. Un ulteriore<br />

commento è necessario a proposito degli elemnti posizionati sul contorno.<br />

Infatti, allo scopo di rendere l’imposizione delle condizioni cinematiche al<br />

contorno più semplice, i nodi HC esterni sono translati sul contorno ∂Ω e i<br />

relativi parametri HC assumono il significato di valori della funzione (si veda<br />

Figura 4.2). Infine La Figura 4.3 mostra i nodi HC relativi ad un elemento<br />

HC3.<br />

39


domain one-dimensional<br />

parameter ξ=—1/2ξ=1/2 ) 2 φ(ξ ) 1<br />

1 3 1 φ(ξ ) 1 φ(ξ HC<br />

h node HC<br />

Figura 4.1: High continuity interpolation in one dimension. 11<br />

1<br />

ξ2 ξ1 h1 h2 ξ2 ξ 2 h h1 1<br />

Figura 4.2: High continuity interpolation in two dimensions.<br />

ξ3<br />

ξ 1<br />

Figura 4.3: Nodes related to the element in 3-D.<br />

40<br />

ξ2


L’ascissa locale ξi è legata a quella globale xi secondo:<br />

− 1<br />

2 ≤ ξi ≤ 1<br />

2 , → ¯xi ≤ xi ≤ ¯xi + hi, (4.2)<br />

dove ¯xi è l’ascissa globale corrispondente all’estremità sinistra e hi è la<br />

lunghezza dell’i-esimo lato dell’elemento finito. Conseguentemente:<br />

∂<br />

(·) =<br />

∂xi<br />

1 ∂<br />

(·), dxi = hidξi. (4.3)<br />

hi ∂ξi<br />

A questo punto, allo scopo di introdurre l’interpolazione ad alta continuità<br />

nel funzionale (2.13), abbiamo bisogno di valutare le componenti di ∇u:<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

(∇u)11 = ∂u1<br />

∂x1<br />

(∇u)12 = ∂u1<br />

∂x2<br />

(∇u)13 = ∂u1<br />

∂x3<br />

(∇u)21 = ∂u2<br />

∂x1<br />

(∇u)22 = ∂u2<br />

∂x2<br />

(∇u)23 = ∂u2<br />

∂x3<br />

(∇u)31 = ∂u3<br />

∂x1<br />

(∇u)32 = ∂u3<br />

∂x2<br />

(∇u)33 = ∂u3<br />

∂x3<br />

1 3i,j,k=1 = φi[ξ1],1 ψj[ξ2] χk[ξ3] u1ijk,<br />

h1<br />

1 3i,j,k=1 = φi[ξ1] ψj[ξ2],2 χk[ξ3] u1ijk,<br />

h2<br />

1 3i,j,k=1 = φi[ξ1] ψj[ξ2] χk[ξ3],3 u1ijk,<br />

h3<br />

1 3i,j,k=1 = φi[ξ1],1 ψj[ξ2] χk[ξ3] u2ijk,<br />

h1<br />

1 3i,j,k=1 = φi[ξ1] ψj[ξ2],2 χk[ξ3] u2ijk,<br />

h2<br />

1 3i,j,k=1 = φi[ξ1] ψj[ξ2] χk[ξ3],3 u2ijk,<br />

h3<br />

1 3i,j,k=1 = φi[ξ1],1 ψj[ξ2] χk[ξ3] u3ijk,<br />

h1<br />

1 3i,j,k=1 = φi[ξ1] ψj[ξ2],2 χk[ξ3] u3ijk,<br />

h2<br />

1 3i,j,k=1 = φi[ξ1] ψj[ξ2] χk[ξ3],3 u3ijk,<br />

h3<br />

Noi possiamo ora valutare l’energia elastica sull’e-simo elemento:<br />

o, equivalentemente<br />

(4.4)<br />

φe = 1<br />

<br />

Cijhk(∇u)ij(∇u)hk, (4.5)<br />

2 Ωe<br />

φe = 1<br />

1<br />

2<br />

2 − 1<br />

1<br />

2<br />

− 2<br />

1<br />

1<br />

2<br />

− 2<br />

1<br />

(Cijhk(∇u)ij(∇u)hk) h1h2h3dξ1dξ2dξ3. (4.6)<br />

2<br />

Manipolando opportunamente le quantità negli integrali, la matrice di<br />

rigidezza dell’e-simo elemento è memorizzata sulla base delle seguenti sottomatrici:<br />

KHC[u1ijk, u1pqr] = h2h3<br />

h1 C1111A11[ξ1]ipA00[ξ2]jqA00[ξ3]kr+<br />

h3h1<br />

h2 C1212A00[ξ1]ipA11[ξ2]jqA00[ξ3]kr+<br />

h1h2<br />

h3 C1313A00[ξ1]ipA00[ξ2]jqA11[ξ3]kr,<br />

KHC[u1ijk, u2pqr] = h3 C1122A10[ξ1]ipA01[ξ2]jqA00[ξ3]kr+<br />

h3 C1212A01[ξ1]ipA10[ξ2]jqA00[ξ3]kr,<br />

41<br />

(4.7)<br />

(4.8)


KHC[u1ijk, u3pqr] = h2 C1133A10[ξ1]ipA00[ξ2]jqA01[ξ3]kr+<br />

h2 C1313A01[ξ1]ipA00[ξ2]jqA10[ξ3]kr,<br />

KHC[u2ijk, u1pqr] = h3 C1122A01[ξ1]ipA10[ξ2]jqA00[ξ3]kr+<br />

h3 C1212A10[ξ1]ipA01[ξ2]jqA00[ξ3]kr,<br />

KHC[u2ijk, u2pqr] = h3h1<br />

h2 C2222A00[ξ1]ipA11[ξ2]jqA00[ξ3]kr+<br />

h2h3<br />

h1 C1212A11[ξ1]ipA00[ξ2]jqA00[ξ3]kr+<br />

h1h2<br />

h3 C2323A00[ξ1]ipA00[ξ2]jqA11[ξ3]kr,<br />

KHC[u2ijk, u3pqr] = h1 C2233A00[ξ1]ipA10[ξ2]jqA01[ξ3]kr+<br />

h1 C2323A00[ξ1]ipA01[ξ2]jqA10[ξ3]kr,<br />

KHC[u3ijk, u1pqr] = h2 C1133A01[ξ1]ipA00[ξ2]jqA10[ξ3]kr+<br />

h2 C1313A10[ξ1]ipA00[ξ2]jqA01[ξ3]kr,<br />

KHC[u3ijk, u2pqr] = h1 C2233A00[ξ1]ipA01[ξ2]jqA10[ξ3]kr+<br />

h1 C2323A00[ξ1]ipA10[ξ2]jqA01[ξ3]kr,<br />

KHC[u3ijk, u3pqr] = h1h2<br />

h3 C3333A00[ξ1]ipA00[ξ2]jqA11[ξ3]kr+<br />

h2h3<br />

h1 C1313A11[ξ1]ipA00[ξ2]jqA00[ξ3]kr+<br />

h3h1<br />

h2 C2323A00[ξ1]ipA11[ξ2]jqA00[ξ3]kr,<br />

dove i, j, k, p, q, r = 1..3,<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

A00[ξ1]ip<br />

A01[ξ1]ip =<br />

A10[ξ1]ip =<br />

A11[ξ1]ip =<br />

= 1<br />

2<br />

− 1<br />

2<br />

1<br />

2<br />

− 1<br />

2<br />

1<br />

2<br />

− 1<br />

2<br />

1<br />

2<br />

− 1<br />

2<br />

φi[ξ1]φp[ξ1]dξ1,<br />

φi[ξ1]φp[ξ1],1dξ1,<br />

φi[ξ1],1φp[ξ1]dξ1,<br />

φi[ξ1],1φp[ξ1],1dξ1,<br />

(4.9)<br />

(4.10)<br />

(4.11)<br />

(4.12)<br />

(4.13)<br />

(4.14)<br />

(4.15)<br />

(4.16)<br />

e analoghe formule esistono per ξ2 ξ3.<br />

Il lavoro dei carichi esterni può essere valutato seguendo la stessa procedura.<br />

4.2 Approccio isoparametrico<br />

Le formule precedenti sono relative a un semplice parallelepipedo. Però nelle<br />

applicazioni pratiche è usuale avere a che fare con geometrie generiche. Per<br />

tali casi è facile riformulare la precedente trattazione in termini di un approccio<br />

standard isoparametrico. La geometria di un elemento finito generico può<br />

42


essere rappresentata attraverso la seguente interpolazione<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

x1 = 3 i,j,k=1 φi[ξ1]ψj[ξ2]χk[ξ3]x1ijk,<br />

x2 = 3 i,j,k=1 φi[ξ1]ψj[ξ2]χk[ξ3]x2ijk,<br />

x3 = 3 i,j,k=1 φi[ξ1]ψj[ξ2]χk[ξ3]x3ijk.<br />

Quindi, introducendo la matrice Jacobiana<br />

J =<br />

⎛<br />

⎜<br />

⎝<br />

x1,ξ1 x1,ξ2 x1,ξ3<br />

x2,ξ1 x2,ξ2 x2,ξ3<br />

x3,ξ1 x3,ξ2 x3,ξ3<br />

⎞<br />

(4.17)<br />

⎟<br />

⎠ , (4.18)<br />

l’integrale di ciascuna funzione f sul dominio Ωe dell’e-simo elemento diventa<br />

<br />

Ωe<br />

fdx1dx2dx3 =<br />

1/2<br />

−1/2<br />

1/2<br />

−1/2<br />

1/2<br />

−1/2<br />

mentre le derivate del campo degli spostamenti u è<br />

dove<br />

e<br />

∇u =<br />

J −1 =<br />

f det(J)dξ1dξ2dξ3, (4.19)<br />

∇u = ∇uJ −1 , (4.20)<br />

⎛<br />

⎜<br />

⎝<br />

⎛<br />

⎜<br />

⎝<br />

è l’inversa della matrice Jacobiana.<br />

u1,ξ1 u1,ξ2 u1,ξ3<br />

u2,ξ1 u2,ξ2 u2,ξ3<br />

u3,ξ1 u3,ξ2 u3,ξ3<br />

ξ1,x1 ξ1,x2 ξ1,x3<br />

ξ2,x1 ξ2,x2 ξ2,x3<br />

ξ3,x1 ξ3,x2 ξ3,x3<br />

4.3 Matrici dell’elemento<br />

Dato un generico elemento, indichiamo con:<br />

φi, i = 1, 2, 3 blending functions in direzione x<br />

ψj, j = 1, 2, 3 blending functions in direzione y<br />

χk, k = 1, 2, 3 blending functions in direzione z<br />

⎞<br />

⎟<br />

⎠ (4.21)<br />

⎞<br />

⎟<br />

⎠ (4.22)<br />

(4.23)<br />

É noto che φi, ψj, χk dipendono rispettivamente dalla posizione dell’elemento<br />

rispetto alla direzione x, y, z. Le blending functions nella direzione generica<br />

dipendono da dove è collocato l’elemento rispetto a tale direzione, in particolare<br />

dal fatto che esso sia interno, sul bordo sinistro o sul bordo destro.<br />

43


Possiamo riferirci quindi al tipo dell’elemento e in particolare a tipo x, tipo y,<br />

tipo z, che possono assumere valori:<br />

⎧<br />

⎪⎨ 1, se tipo = sinistro<br />

tipo = 2, se tipo = interno<br />

⎪⎩<br />

3, se tipo = destro<br />

É noto inoltre che le blending functions nella direzione generica per un<br />

elemento che è di un certo tipo in tale direzione, differiscono dalle blending<br />

functions di un’altra direzione in cui l’elemento è del medesimo tipo, solo per<br />

quanto riguarda la variabile indipendente (l’ascissa). Potremo perciò riferirci<br />

ad un unica espressione delle blending functions che sia Φ[ii, jj] dove jj scorre<br />

i parametri discreti di interpolazione, mentre ii sia l’indice del tipo 1 , cioè:<br />

Si consideri l’espressione del lavoro di deformazione LD per il generico elemento<br />

finito di dominio Ω, campo delle tensioni σ, campo degli spostamenti<br />

u, tensore elastico Cdefg<br />

<br />

LD =<br />

Ω<br />

<br />

σde∇udedΩ =<br />

Ω<br />

∂ud ∂uf<br />

Cdefg dΩ (4.24)<br />

∂xe ∂xg<br />

e l’espressione dell’interpolazione HC del campo degli spostamenti<br />

ud = φiψjχkwdijk<br />

(4.25)<br />

dove wdijk sono i parametri discreti del campo degli spostamenti.<br />

Si prenda la funzione integranda dell’equazione (4.24) che chiameremo I<br />

e la si manipoli sostituendo in essa la (4.25)<br />

∂ud ∂uf<br />

I = Cdefg<br />

∂xe ∂xg<br />

=<br />

∂ud ∂uf<br />

ΣfgΣde Cdefg<br />

∂xe ∂xg<br />

= ΣfgΣde Cdefg Σijk(φiψjχk),ewdijk Σpqr(φpψqχr),gwfpqr (4.26)<br />

Secondo l’uguaglianza energetica fra la scrittura di LD al continuo e<br />

quella al discreto:<br />

<br />

LD = σde∇udedΩ = wKew<br />

Ω<br />

1 Useremo nel seguito questa notazione che richiama gli array di alcuni linguaggi<br />

di programmazione. a[i1, i2, ..., in] indica la cella dell’array a individuata dagli indici<br />

i1, i2, ..., in.<br />

44


usando la (4.24) e la (4.26) si perviene all’espressione della generica cella<br />

Ke[dijk, fpqr] di Ke, che esprime la relazione fra la componente di spostamento<br />

d del nodo ijk e la componente di spostamento f del nodo pqr:<br />

<br />

Ke[dijk, fpqr] = ΣgΣeCdefg (φiψjχk),e(φpψjχk),gdΩ (4.27)<br />

Ω<br />

con<br />

e<br />

= ΣgΣeCdefg φi,eφp,gψj,eψq,gχk,eχr,gdΩ<br />

Ω<br />

<br />

= ΣgΣeCdefg<br />

ξΩ ηΩ<br />

<br />

φi,eφp,gψj,eψq,gχk,eχr,gdetJdξdηdζ<br />

ζΩ<br />

<br />

<br />

= ΣgΣeCdefgdetJ φi,eφp,gdξ ψj,eψq,gdη χk,eχr,gdζ<br />

ξΩ<br />

ηΩ<br />

ζΩ<br />

<br />

Ix = Ax[π(e, 1), π(g, 1), i, p]ξ π(e,1)+π(g,1)<br />

,x<br />

Iy = Ay[π(e, 2), π(g, 2), j, q]η π(e,2)+π(g,2)<br />

,y<br />

Iz = Az[π(e, 3), π(g, 3), k, r]ζ π(e,3)+π(g,3)<br />

,z<br />

<br />

π(i1, i2) =<br />

Ax = A[tipo x]<br />

Ay = A[tipo y]<br />

Az = A[tipo z]<br />

<br />

A[ii, o1, o2, i, p] =<br />

Ix<br />

1 se i1 = i2<br />

0 altrimenti<br />

ξΩ<br />

Iy<br />

Iz<br />

(4.28)<br />

Φ[ii, i],o1Φ[ii, p],o2dξ (4.29)<br />

Analogamente, si può determinare la matrice delle masse Me. Si consideri<br />

l’espressione dell’energia cinetica Ec per il generico elemento finito di dominio<br />

Ω, campo delle velocità ˙u, densità di massa ρ<br />

Ec = 1<br />

<br />

ρ ˙u<br />

2 Ω<br />

T ˙udΩ (4.30)<br />

Si consideri la generica componente di velocità ˙ug data da:<br />

˙ug = Σijkφiψjχk ˙wgijk<br />

dove ˙wgijk sono i parametri discreti del campo di velocità.<br />

Sostituendo la (4.31) nella (4.30) si ottiene<br />

(4.31)<br />

Ec = 1<br />

<br />

ρ ˙u<br />

2 Ω<br />

T ˙udΩ = 1<br />

2 ρ<br />

<br />

δdfΣdΣfΣijkφiψjχk ˙wdijk<br />

Ω<br />

Σpqrφpψqχr ˙wfpqrdΩ<br />

(4.32)<br />

45


Secondo l’uguaglianza energetica fra la scrittura di Ec al continuo e quella<br />

al discreto<br />

Ec = 1<br />

<br />

ρ ˙u<br />

2 Ω<br />

T ˙udΩ = 1<br />

2 ˙wT Me ˙w (4.33)<br />

usando la (4.32) si perviene all’espressione della generica cella Me[dijk, fpqr]<br />

di Me, che esprime la relazione fra la componente di spostamento d del nodo<br />

ijk e la componente di spostamento f del nodo pqr:<br />

Me[dijk, fpqr] = δdfρAx[0, 0, i, p]Ay[0, 0, j, q]Az[0, 0, k, r]detJ (4.34)<br />

Analogamente può essere determinato il contributo pt e al vettore dei termini<br />

noti dovuto ai carichi distribuiti sul contorno. Si consideri l’espressione<br />

del lavoro dei carichi LC∂Ωt distribuiti sul contorno ∂Ωt di un elemento di<br />

dominio Ω, carichi distribuiti ¯t, campo di spostamento u<br />

<br />

LC∂Ωt = ¯tudΩ (4.35)<br />

∂Ωt<br />

Sostituendo la (4.25) nella (4.35) si ottiene<br />

<br />

LC∂Ωt =<br />

∂Ωt<br />

<br />

¯tudΩ =<br />

∂Ωt<br />

Σd ¯tduddΩ<br />

<br />

=<br />

∂Ωt<br />

Σd<br />

¯tdΣijkφiψjχkwdijkdΩ (4.36)<br />

Secondo l’uguaglianza energetica fra la scrittura di LC∂Ωt al continuo e<br />

quella al discreto<br />

<br />

LC∂Ωt =<br />

(4.37)<br />

¯tud∂Ωt = w<br />

∂Ωt<br />

T p t e<br />

usando la (4.36) si perviene all’espressione della generica cella pt e[dijk] di<br />

pe, che esprime il contributo al termine noto legato al grado di libertà d del<br />

nodo ijk. A d esempio se il contorno ∂Ωt coincide con la faccia Fy+ positiva<br />

lungo ξ2 dell’elemento adimensionalizzato, si ha<br />

dove<br />

p t e[dijk] =<br />

<br />

Fy+<br />

= ψj | ξ2= 1<br />

2<br />

¯tdφiψjχkd∂Ωt<br />

1<br />

2<br />

− 1<br />

2<br />

= Φ[3, j] | ξ2= 1<br />

2<br />

Ap[ii, i] =<br />

1<br />

2<br />

− 1<br />

2<br />

¯tdφi(ξ1)χk(ξ3)x1,ξ1x3,ξ3dξ1dξ3<br />

¯tdx1,ξ1x3,ξ3Ap[tipo x, i]Ap[tipo z, k]<br />

1<br />

2<br />

− 1<br />

2<br />

46<br />

Φ[ii, i]dξ1


Capitolo 5<br />

Utilizzo del codice ABAQUS R○<br />

ABAQUS R○ è una suite di programmi di simulazione ingegneristica della compagnia<br />

Simulia R○ . ABAQUS consiste di due principali prodotti d’analisi:<br />

ABAQUS/Standard, codice per risolvere problematiche FEM di tipo implicito<br />

in ambito statico, dinamico, termico ed ABAQUS/Explicit codice per<br />

l’analisi del transitorio dinamico mediante l’approccio esplicito. Nell’ambito<br />

del presente lavoro è stato usato ABAQUS/Standard. Tale codice d’analisi<br />

si basa su una vasta libreria di elementi finiti, mono-, bi- e tri-dimensionali,<br />

con i quali è possibile descrivere dal punto di vista geometrico e meccanico<br />

qualsiasi tipo di solido. Le possibilità di analisi, da articolare sulla base di<br />

step di carico assegnati dall’utente, comprendono l’analisi standard tensionispostamenti,<br />

diversi tipi di analisi dinamica, analisi di buckling e problemi<br />

accoppiati. L’utilizzo di ABAQUS/Standard prevede tre fasi, abbastanza<br />

standard in ambito FEM: il preprocessing (definizione del modello), la simulazione<br />

(esecuzione dell’analisi) e il postprocessing (valutazione dei risultati).<br />

Il modello per l’analisi con ABAQUS/Standard comprende almeno le seguenti<br />

informazioni: la descrizione geometrica con relativa discretizzazione, le<br />

proprietà degli elementi (dati sui materiali, carichi e condizioni al contorno),<br />

il tipo di analisi e le informazioni da fornire in fase d’output.<br />

Per eseguire un’analisi di ABAQUS occorre definire un analysis job, che<br />

a sua volta viene definito a partire da un modello. Per la costruzione del<br />

modello si può utilizzare sia l’approccio Input file - Usage sia l’approccio<br />

ABAQUS/CAE - Usage. Il primo prevede la definizione del modello mediante<br />

la scrittura del file d’input; tale preocedura consente un controllo diretto<br />

delle funzionalità del programma. Il secondo prevede la definizione del modello<br />

tramite l’interfaccia grafica, cioè l’ambiente completo di sviluppo. L’<br />

esecuzione di un analysis job definito su un modello contenuto in un input<br />

file può essere fatta o tramite ABAQUS command winow o tramite lo stesso<br />

ABAQUS/CAE.<br />

47


5.1 Elementi solidi 3D di ABAQUS R○<br />

Gli elementi solid o continuum sono gli elementi di volume standard di<br />

ABAQUS. Fra di essi distinguiamo:<br />

• One-dimensional solid (link) element<br />

• Two-dimensional solid element<br />

• Three-dimensional solid element<br />

• Cylindrical solid element<br />

• Axisymmetric solid element<br />

La libreria di ABAQUS/Standard degli elementi solidi include elementi<br />

ad interpolazione del primo ordine (lineari) ed elementi a interpolazione del<br />

secondo ordine (quadratici) in una, due e tre dimensioni. Triangoli e quadrilateri<br />

sono disponibili nel caso 2D; e tetraedri, prismi triangolari e esaedri<br />

(bricks) sono disponibili per il caso 3D. Inoltre sono disponibili elementi a<br />

integrazione ridotta, ibridi e a modi incompatibili.<br />

Negli elementi del primo ordine a deformazioni piane, a tensioni piane generalizzati,<br />

quadrilateri assialsimmetrici, solidi esaedrali e cilindirci l’operatore<br />

di deformazione fornisce deformazione volumetrica costante attraverso l’elemento.<br />

Tale deformazione costante previene il mesh locking quando la risposta<br />

del materiale è approssimativamente incompressibile. Gli elementi del secondo<br />

ordine forniscono accuratezza superiore in ABAQUS/Standard rispetto<br />

agli elementi del primo ordine per problemi regolari che non coinvolgono<br />

condizioni di contatto complesse, impatto, o gravi distorsioni dell’elemento.<br />

Essi colgono le concentrazioni di tensione più efficacemente e sono migliori<br />

per modellare caratteristiche geometriche: essi possono modellare una superficie<br />

curva con pochi elementi. Infine gli elementi del secondo ordine molto<br />

efficaci nei problemi prevalentemente flessionali. Gli elementi trinagolari e<br />

tetraedrali del primo ordine dovrebbero essere evitati quanto più possibile<br />

nei problemi di analisi delle tensioni; gli elementi sono eccessivamente rigidi<br />

e mostrano lenta convergenza all’infittimento della mesh, il che è specialmente<br />

un problema con gli elementi tetraedrali del primo ordine. Se essi<br />

sono richiesti, una mesh estremamante raffinata potrebbe essere necessaria<br />

per ottenere risultati di sufficiente accuratezza. nell’ABAQUS/Standard gli<br />

elementi triangolari e tetraedrali modificati dovrebbero essere usati nei problemi<br />

di contatto con la relazione di contatto duro di default perchè le forze di<br />

contatto siano consistenti con la direzione di contatto. Questi elementi inoltre<br />

si comportano meglio nelle analisiche coinvolgono impatto (perchè essi hanno<br />

48


una matrice delle masse concentrate), nelle analisi che coinvolgono risposta<br />

del materiale approssimativamente incompresibile e nelle analisi richiedenti<br />

grandi distorsioni dell’elemento, quali la simulazione di alcuni processi di<br />

manifattura o la risposta di componenti in gomma.<br />

L’integrazione ridotta usa un’integrazione a ordine minore per formare la<br />

rigidezza dell’elemento. la matrice delle masse e i carichi distribuiti usano<br />

l’integrazione completa. L’integrazione ridotta riduce il tempo di calcolo,<br />

specialmente nel caso di tre dimensioni. Ad esempio, l’elemento C3D20 ha<br />

27 punti di integrazione, mentre il C3D20R ne ha soli 8; perciò l’assemblaggio<br />

degli elementi è per il C3D20 approssimativamente 3.5 volte più<br />

costoso rispetto al C3D20R. Nell’ABAQUS/Standard si può scegliere fra<br />

’integrazione piena o ridotta per gli elementi quadrilateri e esaedrali (brick).<br />

Nell’ABAQUS/Explicit sono disponibili solo elementi continui quadrilateri o<br />

esaedrali del primo ordine a integrazione ridotta; tali elementi sono inoltre<br />

riferiti come elementi a deformazione uniforme o deformazione centroide con<br />

controllo a clessidra. Elementi a integrazione ridotta del secondo ordine nell’ABAQUS/Standard<br />

generalmente producono risultati più accurati rispetto<br />

ai corrispondenti elementi a integrazione completa. Tuttavia, per gli elementi<br />

del primo ordine l’accuratezza raggiunta con l’integrazione piena rispetto a<br />

quella ridotta è largamente dipendente dalla natura del problema.<br />

Gli elementi triangolari e tetraedrali sono geometricamente versatili e<br />

sono usati in molti algoritmi di meshatura automatica. ‘E molto conveniente<br />

meshare una forma complessa con triangoli o tetraedri, e gli elementi triangolari<br />

e tetraedrali modificati del secondo ordine (CPE6, CPE6M, C3D10,<br />

C3D10M, etc.) in ABAQUS sono adatti per uso generale. Tuttavia, una<br />

buona mesh di elementi esaedrali di solito fornisce una soluzione di equivalente<br />

accuratezza a costo minore. Quadrilateri ed esaedri hanno migliore<br />

grado di convergenzadei trinagoli e tetraedri, e la sensibilità all’orientamento<br />

della mesh in mesh regolari non è un problema. Tuttavia, triangoli e tetraedri<br />

sono meno sensibili alla forma dell’elemento iniziale, mentre i quadrilateri e<br />

gli esaedri del primo ordine si comportano meglio se la loro forma è approssimativamente<br />

rettangolare. Gli elementi diventano molto meno accurati quando<br />

essi sono inizialmente distorti. I trinagoli e tetraedri del primo ordine sono<br />

di solito eccessivamente rigidi ed mesh estermamente raffinate sono richieste<br />

per ottenere risultati accurati. Come menzionato precedentemente, triangoli<br />

e tetraedri del primo ordine a integrazione piena nell’ABAQUS/Standard anche<br />

mostrano locking volumetrico nei problemi incompressibili. Come regola,<br />

tali elementi non dovrebbero essere usati tranne che come elementi di riempimento<br />

in aree critiche. Perciò conviene cercare di usare elementi ben formati<br />

nelle regioni di interesse.<br />

49


Gli elementi ibridi sono in<strong>tesi</strong> principalmente per uso con comportamento<br />

di materiale incompressibile e quasi incompressibile; tali elementi sono<br />

disponibili solo nell’ABAQUS/Standard. Quando la risposta del materiale<br />

è incompressibile, la soluzione a un problema non può essere ottenuta in<br />

termini della sola storia di spostamento, poichè una pressione puramente<br />

idrostatica può essere aggiunta senza cambiare gli spostamenti.<br />

Gli elementi a modi incompatibili (CPS4I, CPE4I, CAX4I, CPEG4I, e<br />

C3D8I e i corrispondenti elementi ibridi) sono elementi del primo ordine che<br />

sono arricchiti da modi incompatibili per accrescere il loro comportamento<br />

flessionale; tali elementi sono disponibili solo nell’ABAQUS/Standard. Oltre<br />

ai gradi di libertà di spostamento standard, modi di deformazione incompatibile<br />

sono aggiunti ingternamente agli elementi. L’effetto principale di questi<br />

modi è eliminare le tensioni di taglio parassite che rendono la risposta degli elementi<br />

con spostamenti del primo ordine regolari troppo rigidi nella flessione.<br />

Inoltre, tali modi eliminano l’irrigidimento artificiale dovuto all’effetto Poisson<br />

nella flessione (che è reso manifesto negli elementi a spostamenti regolari<br />

da una variazione lineare della tensione perpendicolarmente alla direzione di<br />

inflessione). Negli elementi non ibridi - eccetto che per l’elemento a tensioni<br />

piane, CPS4I - modi incompatibili addizionali sono aggiunti per prevenire il<br />

locking degli elementi con comportamento del materiale approssimativamente<br />

incompressibile. Per materiali a comportamento pienamente incompressibile<br />

devono essere usati gli elementi ibridi corrispondenti. A causa dei gradi di<br />

libertà interni aggiunti dovuti ai modi incompatibili (4 per CPS4I; 5 per<br />

CPE4I, CAX4I, e CPEG4I; e 13 per C3D8I), tali elementi sono abbastanza<br />

più costosi degli elementi a spostamento del primo ordine regolare; tuttavia,<br />

essi sono significativamente più economici degli elementi del secondo ordine.<br />

Gli elementi a modi incompatibili usano l’integrazione completa.<br />

Nella libreria di ABAQUS degli elementi solidi 3D di tipo tensioni/spostamenti<br />

sono disponibili:<br />

C3D8 8-node linear brick<br />

C3D8H 8-node linear brick, hybrid with constant pressure<br />

C3D8I 8-node linear brick, incompatible modes<br />

C3D8RH 8-node linear brick, reduced integration with hourglass control,<br />

hybrid with constant pressure<br />

C3D20 20-node quadratic brick<br />

C3D20H 20-node quadratic brick, hybrid with linear pressure<br />

50


C3D20RH 20-node quadratic brick, reduced integration, hybrid with linear<br />

pressure<br />

5.2 ABAQUS R○ User-defined elements<br />

ABAQUS offre la possibilità all’utente di definire i propri elementi finiti da<br />

utilizzare nelle analisi. Grazie a questa estensione delle capacità del software<br />

è stato possibile implementare l’elemeto finito HC3 ed eseguire delle<br />

sperimentazioni numeriche sul suo comportamento in alcuni test.<br />

Gli elementi definiti dall’utente disponibili in ABAQUS possono essere elementi<br />

finiti nel senso usuale di rappresentare una parte geometrica del modello<br />

e possono essere lineari o non lineari. Un analysis job che usi user-defined<br />

element può essere definito solo tramite Input file Usage (non è possibile da<br />

ABAQUS/CAE definire e invocare un elemento di tipo user-defined). Gli<br />

elementi user-defined possono essere di tipo linear o di tipo general. Quelli di<br />

tipo linear forniscono le matrici dell’elemento, o tramite la lettura di esse da<br />

un ABAQUS/Standard results file 1 , o tramite la scrittura diretta della loro<br />

espressione numerica nell’input file 2 . Per usare un elemento general userdefined<br />

in un analysis job occorre disporre del file sorgente o del file oggetto<br />

relativi alla subroutine UEL in cui preventivamente si siano implementati<br />

il contributo locale allo jacobiano e il contributo locale al residuo, per le<br />

varie procedure di soluzione. Inoltre si dovrà definire e invocare l’elemento<br />

nell’input file. L’invocazione di un elemento definito dall’utente all’interno<br />

dell’input file (che avviene quando si definisce, all’interno del modello, un<br />

elemento finito del tipo definito dall’utente) avviene allo stesso modo con<br />

cui viene invocato un elemento predefinito di ABAQUS: vale a dire, che<br />

nella definizione dell’elemento è sufficiente specificare l’elemento tipo, il numero<br />

dell’elemento e i nodi connessi ad esso. Il tipo di elemento si specifica<br />

tramite la chiave (element type key) associata ad esso, che per gli elementi<br />

nativi di ABAQUS è predefinita, mentre per gli elementi user-defined deve<br />

essere indicata nella definizione dell’elemento all’interno dell’input file. Nella<br />

definizione dell’elemento, oltre all’element type key devono essere specificati<br />

i gradi attivi dell’elemento e l’ordinamento di essi, che saranno poi assunti<br />

nell’implementazione contenuta nella UEL subroutine.<br />

1 Per questa alternativa, serve la element matrix output che è disponibile solo per<br />

elementi senza nodi interni. L’HC3 non può essere implementato con questa strada.<br />

2 Tale alternativa può essere usata per implementare l’HC3 ma non offre un approccio<br />

conveniente, perchè per definire un singolo modello, si richiederebbe la determinazione<br />

delle matrici fuori da ABAQUS, e per un modello con diversi valori di geometria e/o<br />

caratteristiche materiali, se ne richiederebbe un’altra.<br />

51


Per usare uno general user-defined element di ABAQUS occorre utilizzare<br />

la user subroutine interface di ABAQUS. La user subroutine interface<br />

di ABAQUS consente all’utente di scrivere delle procedure che gli servono<br />

per estendere le capacità di ABAQUS. La User subroutine interface<br />

di ABAQUS è scritta nel linguaggio di programmazione Fortran, tuttavia<br />

è possibile scrivere le user subroutine non solo in Fortran ma anche in altri<br />

linguaggi quali il C++ (linguaggio generalmente usato per ottenere alte<br />

prestazioni computazionali), con il vincolo però che il codice sia invocabile<br />

da Fortran.<br />

52


Capitolo 6<br />

Introduzione alla<br />

sperimentazione numerica<br />

I risultati numerici riportati nel capitolo successivo sonon stati ottenuti effettuando<br />

alcune analisi utilizzando sia l’elemento HC qui proposto ed implementato<br />

sia elementi appartenenti alla libreria di ABAQUS. In totale sono<br />

state effettuate quattro analisi: due di tipo statico e due di tipo dinamico<br />

con il calcolo delle frequenze naturali.<br />

Le sperimentazioni numeriche sono state effettuate variando il livello di<br />

nfittimento delle mesh utilizzate al fine di evidenziare le caratteristiche di<br />

convergenza dell’elemento proposto confrontandole con quelle degli elementi<br />

standard.<br />

Il codice ABAQUS è stato utilizzato, in ambiente Windows, nella versione<br />

Standard con Input-file Usage 1 . Per ogni test i file di input sono stati creati<br />

con un apposito codice scritto in C++, che ne ha permesso la generazione<br />

automatica. Gli analysis job associati ai singoli input file sono stati lanciati<br />

medianti uno script che li ha eseguiti automaticamente uno dopo l’altro. Gli<br />

script per il processing, sono stati scritti secondo la ABAQUS scripting<br />

interface, che è un’estensione del linguaggio pseudo-compilato o-o Python.<br />

Il file .obj da legare alla procedura di escuzione di ABAQUS per usare<br />

l’implementazione dell’elemento finito HC3 è stato compilato con Ms Visual<br />

Studio C++. Per il post processing è stato usato un programma in C++:<br />

ABAQUS infatti offre anche la C++ Application Programming Interface<br />

per la lettura e scrittura da ODB, in alternativa alla ABAQUS Scripting<br />

Interface, a quegli utenti che richiedono alte prestazioni.<br />

E’ opportuno far notare che, nel caso degli elementi finiti HC3, i gradi di<br />

libertà dei modelli creati non sono spostamenti, ma parametri di controllo.<br />

1 In particolare è stata la release 6.6-1.<br />

53


Perciò ad ABAQUS sono stati passati come nodi, gli HC nodes e come matrici<br />

del problema, quelle reative ai parametri di controllo. Anche le condizioni<br />

di vincolo sul contorno del dominio sono state dettate sulla base di questo:<br />

dato un parallelepipedo, per la faccia vincolata nella direzione di traslazione<br />

x sono stati annulati tutti i parametri di controllo associati a tale faccia e<br />

tale direzione. In questa ottica, quando ABAQUS fornisce la soluzione del<br />

problema, non ci sta fornendo degli spostamenti, ma i parametri di controllo.<br />

Con un opportuno post-processing può essere calcolata l’effettiva soluzione<br />

in termini di spostamenti, deformazioni e tensioni.<br />

6.1 Implementazione HC3 in ABAQUS<br />

Per l’implementazione dell’HC3 nel codice ABAQUS è stata scritta una user<br />

subroutine UEL in linguaggio C++. Per compilare e linkare la user subroutine<br />

sono serviti opportuni compilatori C++ e Fortran, in particolare è stato<br />

necessario installare sulla macchina Intel Visual Fortran 8.1 e Microsoft Visual<br />

C++ .NET 2003 (Version 7.1). La scrittura della procedura UEL in C++<br />

anzichè in Fortran (linguaggio della ABAQUS User Subroutine Interface) 2 ha<br />

comportato un livello addizionale di complessità alla fase di programmazione.<br />

L’ABAQUS On Line Support infatti raccomanda di scrivere le proprie user<br />

subroutine in Fortran. La procedura di chiamata di una C++ function<br />

da un’applicazione Fortran è machine dependent (dipende dalla piattaforma<br />

e dal compilatore) e richiederebbe un’ esperta conoscenza delle convenzioni<br />

dei compilatori e dei sistemi operativi. Fra gli argomenti che devono0 essere<br />

compresi ci sono:<br />

• corrispondenza fra gli external C++ names e gli external Fortran names,<br />

• corrispondenza fra i C++ data types e i Fortran data types,<br />

• convenzioni per le chiamate di procedure inter-language.<br />

Nella user subroutine scritta per l’implementazione dell’HC3 sono quindi<br />

state adottate opportune accortezze, fra cui ad esempio:<br />

• è stata adottata la convenzione di chiamata stdcall (quella che si è<br />

rivelata adatta per la macchina usata per le sperimentazioni),<br />

• sono stati usati solo puntatori (poichè in Fortran le variabili sono<br />

passate tutte per riferimento e non per valore),<br />

2 Il C++ in generale offre migliore efficienza nelle prestazioni rispetto al Fortran.<br />

54


• sono stati considerati gli array come monodimensionali ordinati per<br />

colonne (poichè è così che avviene il loro storage in Fortran).<br />

Nel seguito viene riportata parte della user subroutine, AbHC3.cpp, scritta<br />

per l’implementazione dell’ elemento HC3 in ABAQUS. In particolare la<br />

parte riportata riguarda l’assemblaggio della matrice di rigidezza.<br />

#define HKS NT<br />

#ifndef FOR C H<br />

#define FOR C H<br />

#if defined FOR TRAIL<br />

#define FOR NAME(lc name,uc name) lc name ##<br />

#define CALL NAME(lc name,uc name) lc name ##<br />

...<br />

#elif defined HKS NT<br />

#define FOR NAME(lc name,uc name) stdcall uc name<br />

#define CALL NAME(lc name,uc name) uc name<br />

...<br />

#endif<br />

#include <br />

#include <br />

#include <br />

#include <br />

extern C void FOR NAME(uel, UEL)(double* pRhs, double* pAmatrx,<br />

double* pSvars, double* pEnergy, int* pNdofel, int* pNrhs, int* pNsvars,<br />

double* pProps, int* pNprops, double* pCoords, int* pMcrd, int* pNnode,<br />

double* pU, double* pDu, double* pV, double* pA, int* pJtype, double* pTime,<br />

double* pDtime, int* pKstep, int* pKinc, int* pJelem, double* pParams,<br />

int* pNdload, int* pJdltyp, double* pAdlmag, double* pPredef, int* pNpredf,<br />

int* pLflags, int* pMlvarx, double* pDdlmag, int* pMdload, double* pPnewdt,<br />

int* pJprops, int* pNjprop, double* pPeriod)<br />

{<br />

int nr, nc, dr, dc, n = 3, gdlCinem = 3;<br />

if(pLflags[2]==1)//normal Implicit Time Incrementation<br />

{<br />

if( (pLflags[0]==1) | (pLflags[0]==2) )// static<br />

{<br />

55


for(int i=0; i


...<br />

}<br />

dr = 2; dc = 3;<br />

pAmatrx[ nr+(dr-1)*n*n*n +(*pNdofel)*(nc+(dc-1)*n*n*n ) ]<br />

= h[0]*C2233*A00[xi[0]][i][p]*A10[xi[1]][j][q]*A01[xi[2]][k][r]<br />

+ h[0]*C2323*A00[xi[0]][i][p]*A01[xi[1]][j][q]*A10[xi[2]][k][r];<br />

//<br />

// contributo u3ijk u3pqr<br />

//<br />

dr = 3; dc = 3;<br />

pAmatrx[ nr+(dr-1)*n*n*n +(*pNdofel)*(nc+(dc-1)*n*n*n ) ]<br />

= h231*C1313*A11[xi[0]][i][p]*A00[xi[1]][j][q]*A00[xi[2]][k][r]<br />

+ h312*C2323*A00[xi[0]][i][p]*A11[xi[1]][j][q]*A00[xi[2]][k][r]<br />

+ h123*C3333*A00[xi[0]][i][p]*A00[xi[1]][j][q]*A11[xi[2]][k][r];<br />

// contributo u3ijk u1pqr<br />

dr = 3; dc = 1;<br />

pAmatrx[ nr+(dr-1)*n*n*n +(*pNdofel)*(nc+(dc-1)*n*n*n ) ]<br />

= h[1]*C1133*A01[xi[0]][i][p]*A00[xi[1]][j][q]*A10[xi[2]][k][r]<br />

+ h[1]*C1313*A10[xi[0]][i][p]*A00[xi[1]][j][q]*A01[xi[2]][k][r];<br />

// contributo u3ijk u2pqr<br />

dr = 3; dc = 2;<br />

pAmatrx[ nr+(dr-1)*n*n*n +(*pNdofel)*(nc+(dc-1)*n*n*n ) ]<br />

= h[0]*C2233*A00[xi[0]][i][p]*A01[xi[1]][j][q]*A10[xi[2]][k][r]<br />

+ h[0]*C2323*A00[xi[0]][i][p]*A10[xi[1]][j][q]*A01[xi[2]][k][r];<br />

6.2 Test in campo dinamico<br />

I test 3.a e 3.b sono tratti dall’articolo [4]. In tale articolo viene trattata<br />

l’analisi delle vibrazioni libere di piastre rettangolari semplicemente appoggiate<br />

con spessore qualsiasi. L’analisi condotta si basa sulla teoria lineare<br />

elastica tridimensionale con ipo<strong>tesi</strong> di piccole deformazioni. Lo scopo è<br />

portare avanti la qualità della ricerca oltre quella fornita dalle teorie approssimate<br />

2D e 3D della piastra, ricorrendo ad un’analisi tridimensionale esatta.<br />

Sia le piastre sottili che quelle spesse sono largamente usate nelle strutture<br />

meccaniche, civili e aerospaziali.Perciò la conoscenza del loro comportamento<br />

in caso di vibrazioni libere è molto importante per i progettisti srtutturali.<br />

Nella teoria delle piastre classica (classical plate theory, CPT), si assume che i<br />

segmenti retti originariamente normali al piano medio della piastra rimarran-<br />

57


no retti e normali dopo la deformazione (ipo<strong>tesi</strong> di normalità di Kirchhoff).<br />

Tale assunzione implica che tutte le deformazioni a taglio trasversali siano<br />

nulle nella piastra. Tuttavia è ben noto che la deformazione a taglio diventa<br />

sempre più importante all’aumentare del rapporto spessore-campata della<br />

piastra. Inoltre, quest’effetto andrebbe considerato quando una maggiore<br />

accuratezza dei modi o delle risposte è richiesta, anche per piastre sottili.<br />

Rilasciando l’ipo<strong>tesi</strong> di normalità, Mindlin et al. (1956), propose la cosidetta<br />

teoria della deformazione a taglio del primo ordine (first-order shear deformation<br />

theory, FSDT) per piastre moderatamente spesse. Il segmento retto<br />

originariamente normale ora diventa un segmento curvo che è strettamente<br />

approssimato in un senso di media da un segmento retto non normale, e come<br />

risultato, non solo lo spostamento, ma anche le rotazioni sono richieste per<br />

descrivere la deformazione della piastra. Un fattore di correzione a taglio κ<br />

è quindi introdotto per compensare gli errori risultanti dall’approssimazione<br />

fatta sulla distribuzione di deformazione a taglio non uniforme. Molti valori<br />

del fattore di correzione a taglio κ sono stati suggeriti. Per esempio,<br />

Reissner (1945) ha usato un valore di 5/6. Ci si dovrebbe rendere conto<br />

che quando si ha a che fare con piastre composite o altamente ortotrope,<br />

teorie di deformazione a taglio di ordine superiore possono essere necessarie<br />

in luogo di teorie del primo ordine perchè queste ultime potrebbero essere<br />

inadeguate. Le teorie di ordine superiore descrivono non solo le deformazioni<br />

a taglio trasversali, ma anche una variazione parabolica di esse attraverso<br />

lo spessore, e conseguentemente, non c’è bisogno di usare coefficienti di correzione<br />

a taglio per il calcolo delle tensioni a taglio. Questo miglioramento<br />

estende il modello per descrivere piastre relativamente spesse quando lo spessore<br />

può essere tanto grande quanto la metà della più piccola dimensione in<br />

pianta della piastra. Le teorie della piastra 2D offrono una manipolazione<br />

matematica relativamente semplice nelle implementazioni analitiche o computazionali.<br />

Esse riducono le dimensioni del problema della piastra (e quindi<br />

la dimensione del determinante dell’equazione agli autovalori) da tre a due<br />

indirizzando le quantità di interesse, come gli sforzi membranali, i momenti<br />

flettenti, e gli sforzi di taglio, in termini di certe medie sugli spostamenti<br />

attraverso la dimensione più piccola, cioè lo spessore. Queste semplificazioni<br />

sono inerentemente erronee, e perciò possono portare a risultati irrealistici<br />

per piastre relativamente spesse.<br />

In contrasto alle teorie 2D, nessuna assunzione è fatta nella teoria elastica<br />

tridimensionale che, non solo, fornisce soluzioni realistiche, ma inoltre tira<br />

fuori le caratteristiche fisiche delle piastre. Le soluzioni elastiche tridimensionali<br />

perciò forniscono una base reale per stimare le soluzioni delle teorie<br />

2D. Soluzioni discendenti dalla teoria esatta elastica tridimensionale sono diventate<br />

eminenti negli anni recenti. Questo è dovuto al rapido avanzamento<br />

58


delle industrie contemporanee verso applicazioni ingegneristiche ad alta precisione,<br />

che acquista previsioni più accurate dei comportamenti dei sistemi<br />

meccanici. Modelli stabiliti basati sulla teoria elastica tridimensionale per<br />

problemi in meccanica strutturale hanno molti vantaggi comparativi sulle<br />

teorie delle piastre semplificate e raffinate. Uno dei vantaggi ovvii è che gli<br />

effetti delle deformazioni a taglio trasversali, le inerzie rotatorie e il comportamento<br />

nel piano (quali il moto tagliante lungo lo spessore e quello torcente<br />

lungo lo spessore) sono inerentemente spiegati nella formulazione. Ne risulta<br />

che nell’analizzare la risposta in caso di vibrazioni delle piastre spesse elastiche,<br />

il metodo estrae il completo spettro di vibrazione senza nessun modo<br />

mancante.<br />

In questo contesto la soluzione in forma chiusa del problema agli autovalori<br />

delle piastre rettangolari semplicemente appoggiate, Srinvas et al.<br />

(1970), Gentilini and Viola (2002), Genyilini et al. (2002), assume una grande<br />

importanza nella dinamica delle vibrazioni.<br />

6.2.1 Formulazione teoretica di una soluzione esatta<br />

tridimensionale<br />

Si consideri la configurazione geometrica di una piastra rettangolare omogenea<br />

e isotropa mostrata in Figura 6.1.<br />

h<br />

x 1<br />

a<br />

x 3<br />

Figura 6.1: Dimensioni e geometria di una piastra rettangolare<br />

59<br />

b<br />

x 2


La geometria e le dimensioni della piastra sono definite rispetto a un<br />

sistema car<strong>tesi</strong>ano (O : x, y, z)), la cui origine è in un vertice della piastra e gli<br />

assi sono paralleli agli spigoli. Le componenti di spostamento corrispondenti<br />

a un generico punto sono descritte nel vettore:<br />

u(x, y, x, t) = { u(x, y, z, t) v(x, y, z, t) w(x, y, z, t) } T<br />

Secondo la teoria tridimensionale, le equazioni del moto, senza considerare<br />

le forze di massa, sono, (vedi Gentilini and Viola (2002)):<br />

dove<br />

G∇ 2 u + (λ + G)∇divu = ρ ∂2 u<br />

∂t 2<br />

λ = 2Gν<br />

, G =<br />

(1 − 2ν)<br />

E<br />

2(1 + ν) ,<br />

(6.1)<br />

E è il modulo di Young, ν è il coefficiente di Poisson e ρ è la densità di<br />

massa. Per una piastra soggetta a vibrazioni libere, le sue componenti di<br />

spostamento periodiche possono essere espresse in termini delle funzioni di<br />

ampiezza di spostamento come segue:<br />

u(x, y, z, t) = U(x, y, z)e iωt , (6.2)<br />

v(x, y, z, t) = V (x, y, z)e iωt , (6.3)<br />

w(x, y, z, t) = W (x, y, z)e iωt , (6.4)<br />

where ω indica la frequenza naturale della piastra. Le funzioni di ampiezza<br />

di spostamento sono riunite nel seguente vettore:<br />

U(x, y, z) = [ U(x, y, z) V (x, y, z) W (x, y, z) ] T<br />

e la (6.1) può essere scritta come:<br />

∇ 2 U + 1<br />

1 − 2ν ∇divU + ρω2U G<br />

= 0 (6.5)<br />

Le condizioni al contorno per una piastra semplicemente appoggiata possono<br />

essere espresse come:<br />

σx = 0, v = 0, w = 0 per x = 0, a, (6.6)<br />

σy = 0, u = 0, w = 0 per y = 0, b. (6.7)<br />

Per semplicità e convenienza nella formulazione matematica, viene introdotto<br />

il seguente sistema di ccordinate adimensionalizzato :<br />

X = x y z<br />

, Y = , Z =<br />

a b h .<br />

60


Le condizioni al contorno (6.6) e (6.7) sono soddisfatte imponendo, (vedi<br />

Srinivas et al. (1970)):<br />

U(X, Y, Z) = hΣ ∞ m=1Σ ∞ n=1Φ(Z)cosmπXsinnπY,<br />

V (X, Y, Z) = hΣ ∞ m=1Σ ∞ n=1Ψ(Z)sinmπXcosnπY,<br />

W (X, Y, Z) = hΣ ∞ m=1Σ ∞ n=1χ(Z)sinmπXsinnπY<br />

(6.8)<br />

dove m ed n sono numeri naturali. Imponendo:<br />

M = mπh nπh<br />

, N = ,<br />

a b<br />

g =<br />

(6.9)<br />

√ M 2 + N 2 <br />

ρh<br />

, λsr = ω<br />

2<br />

,<br />

G<br />

(6.10)<br />

D = ∂<br />

∂Z , D2 = ∂2<br />

,<br />

∂Z 2 (6.11)<br />

e sostituendo le (6.8) nelle (6.5), otteniamo la seguente equazione matriciale:<br />

⎡<br />

⎢<br />

⎣<br />

D 2 + λ 2 sr − g 2 −<br />

− MN<br />

1−2ν<br />

− MD<br />

1−2ν<br />

M 2<br />

1−2ν<br />

− MN<br />

1−2ν<br />

D 2 + λ 2 sr − g 2 −<br />

− ND<br />

1−2ν<br />

N 2<br />

1−2ν<br />

La soluzione non banale di (6.12) produce<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

Φ(Z)<br />

Ψ(Z)<br />

χ(Z)<br />

⎫<br />

⎪⎬<br />

⎪⎭ =<br />

⎡<br />

⎢<br />

⎣<br />

rM −rM N N M M<br />

rN −rN −M −M N N<br />

g 2 g 2 0 0 s −s<br />

MD<br />

1−2ν<br />

ND<br />

1−2ν<br />

D2 + λ2 sr − g2 + D2<br />

1−2ν<br />

⎧<br />

Ae<br />

⎤<br />

⎪⎨<br />

⎥<br />

⎦<br />

⎪⎩<br />

rZ<br />

Ke−rZ BerZ Re−rZ CesZ Se−sZ ⎫<br />

⎪⎬<br />

⎪⎭<br />

⎤ ⎧<br />

⎪⎨ ⎥<br />

⎦ ⎪⎩<br />

(6.12)<br />

(6.13)<br />

dove A, K, B, R, C, S sono sei costanti arbitrarie ed r, s possono essere<br />

espressi nella forma:<br />

<br />

r = g2 − λ2 <br />

sr, s = g2 − λ2sr(1 − 2ν)<br />

(6.14)<br />

2 − 2ν<br />

Usando la (6.13), le relazioni tensioni-spostamenti e la (6.8) si ottengono<br />

le seguenti espressioni per le componenti di tensione:<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

σx<br />

σy<br />

σz<br />

τxy<br />

τxz<br />

τyz<br />

⎫<br />

⎪⎬<br />

= GΣ ∞ m=1Σ ∞ ⎪⎨<br />

n=1<br />

⎪⎭<br />

⎧<br />

⎪⎩<br />

61<br />

σ ∗ xsinmπXsinnπY<br />

σ ∗ ysinmπXsinnπY<br />

σ ∗ zsinmπXsinnπY<br />

τ ∗ xycosmπXcosnπY<br />

τ ∗ xzcosmπXsinnπY<br />

τ ∗ yzsinmπXcosnπY<br />

⎫<br />

⎪⎬<br />

⎪⎭<br />

Φ(Z)<br />

Ψ(Z)<br />

χ(Z)<br />

⎫<br />

⎪⎬<br />

⎪⎭ =<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

0<br />

0<br />

0<br />

⎫<br />

⎪⎬<br />

⎪⎭


dove:<br />

dove<br />

⎡<br />

⎢<br />

Λ = ⎢<br />

⎣<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

σ ∗ x<br />

σ ∗ y<br />

σ ∗ z<br />

τ ∗ xy<br />

τ ∗ xz<br />

τ ∗ yz<br />

⎫<br />

⎪⎬ ⎪⎨<br />

= Λ<br />

⎪⎭<br />

⎧<br />

⎪⎩<br />

Ae rZ<br />

Ke −rZ<br />

Be rZ<br />

Re −rZ<br />

Ce sZ<br />

Se −sZ<br />

⎫<br />

⎪⎬<br />

⎪⎭<br />

(6.15)<br />

−2rM 2 2rM 2 −2MN −2MN 2ν(s2−g 2 )<br />

1−2ν − 2M 2 2ν(s2−g 2 )<br />

1−2ν<br />

−2rN 2 2rN 2 2MN 2MN<br />

2ν(s2−g 2 )<br />

1−2ν − 2N 2 2ν(s2−g 2 )<br />

1−2ν<br />

2g 2 r −2g 2 r 0 0 r 2 + g 2 r 2 + g 2<br />

2MNr −2MNr N 2 − M 2 N 2 − M 2 2MN 2MN<br />

(r 2 + g 2 )M (r 2 + g 2 )M Nr −Nr 2Ms −2Ms<br />

(r 2 + g 2 )N (r 2 + g 2 )N −Mr Mr 2Ns −2Ns<br />

Le condizioni di stress-free per una piastra semplicemente appoggiata<br />

sulle superfici superiore e inferiore sono:<br />

σz = τxz = τyz = 0 in Z = 0, 1 (6.16)<br />

Il soddisfacimento di tali condizioni conduce ad un sistema di sei equazioni<br />

per ogni coppia (m, n). Una soluzione non banale del problema viene raggiunta<br />

imponendo nullo il determinante ∆ della latrice dei coefficienti dell’equazione<br />

ottenuta dalle (6.16) e (6.15). Ciò produce l’equazione caratteristica:<br />

∆ = [8g 2 rs <br />

r 2 + g 2 <br />

2<br />

(1−coshrcoshs)+ 16g 4 r 2 s 2 + <br />

r 2 + g 24 <br />

sinhrsinhs]sinhr = 0.<br />

(6.17)<br />

La soluzione di questa equazione trascendentale per ogni coppia (m, n) produce<br />

una sequenza infinita di autovalori.<br />

62<br />

2 − 2M<br />

2 − 2N<br />

⎤<br />

⎥<br />


Capitolo 7<br />

Risultati Numerici<br />

Vengono presentati i risultati numerici ottenuti al fine di mostrare le prestazioni<br />

dell’elemento finito HC3. Sono stati confrontati i risultati numerici ottenuti<br />

tramite l’HC3 con quelli di elementi finiti predefiniti di ABAQUS.<br />

In particolare si è indagato sperimentalmente il comportamento dell’elemento<br />

proposto rispetto ad infittimenti successivi della mesh utilizzata nell’analisi.<br />

Il comportamento che si attendeva, e che si è anche verificato, è<br />

una riduzione progressiva dell’errore (consistenza del metodo approssimante<br />

[11]) e quindi la convergenza alla soluzione esatta 1 .<br />

7.1 Test 1: Analisi statica di una mensola<br />

tozza<br />

Il primo test consiste in una trave tozza a mensola con sezione rettangolare<br />

riportata in Figura 7.1. La faccia con x3 = L è fissata (u1 = u2 = u3 = 0)<br />

mentre la faccia x2 = L è soggetta a un carico esterno ripartito uniforme-<br />

2<br />

mente. La Tabella 7.1 riporta i risultati ottenuti con differenti mesh dell’elemento<br />

finito HC3 per i punti A = (0, − L<br />

L L L<br />

, 0), B = (− , − , ) e C = (0, 0, L)<br />

2 6 2 2<br />

(si veda di nuovo la Figura 7.1). Nella stessa tabella sono inoltre riportati<br />

i valori ricavati con alcuni elementi finiti predefiniti di ABAQUS, con varie<br />

mesh. Tutti i risultati dei test numerici usano un coefficiente di Poisson<br />

ν = 0.3.<br />

Nelle Figure 7.6, 7.5, 7.4, 7.2, 7.3 sono mostrati i grafici degli output<br />

adimensionalizzati usati nella Tabella 7.1 per il confronto fra l’elemento HC3<br />

e i predefiniti di ABAQUS. Nella Figura 7.7 viene presentato il plottaggio,<br />

1 Nei FEMs ad un progressivo infittimento della mesh corrisponde un progressivo<br />

avvicinarsi della soluzione approssimata a quella esatta (h-refinement [11]) e quindi un<br />

miglioramento in termini di accuratezza.<br />

63


L<br />

x 1<br />

x 2<br />

A<br />

x 3<br />

L<br />

B<br />

C<br />

q<br />

u 1 =0 u 2 =0<br />

u 3 =0<br />

L/3<br />

Figura 7.1: Test 1: geometria e condizioni di carico.<br />

ottenuto con il software ABAQUS, della configurazione deformata (in blu)<br />

con sovrapposizione della configurazione indeformata (in bianco), per il test<br />

eseguito con una mesh 4x20x20 di elementi C3D20.<br />

64


sol name dofs<br />

u A 2<br />

−qL/E<br />

u A 3<br />

−qL/E<br />

u B 1<br />

−0.01qL/E<br />

σ C 33<br />

−0.01q<br />

σ C 23<br />

−0.1q<br />

AbHC3 (2x6x6) 768 2.9252 1.0146 3.2370 9.8302 8.9672<br />

AbHC3 (4x12x12) 3528 2.9418 1.0209 3.2141 9.4960 8.9661<br />

AbHC3 (8x24x24) 20280 2.9475 1.0231 3.2220 9.2541 8.9925<br />

AbHC3 (16x48x48) 135000 2.9498 1.0239 3.2226 9.2223 9.0032<br />

C3D8 (4x8x8) 1215 2.9014 1.0180 3.1428 17.9781 9.8569<br />

C3D8 (6x12x12) 3549 2.9239 1.0198 3.2478 15.5269 9.6476<br />

C3D8 (12x22x22) 20631 2.9405 1.0222 3.2438 12.8426 9.3974<br />

C3D8 (18x48x48) 136857 2.9489 1.0239 3.2321 10.9308 9.2052<br />

C3D8H (4x8x8) 1215 2.9014 1.0180 3.1428 17.9781 9.8569<br />

C3D8H (6x12x12) 3549 2.9239 1.0198 3.2478 15.5269 9.6476<br />

C3D8H (12x22x22) 20631 2.9405 1.0222 3.2438 12.8426 9.3974<br />

C3D8H (18x48x48) 136857 2.9489 1.0239 3.2321 10.9308 9.2052<br />

C3D8RH (4x8x8) 1215 2.9503 1.0078 0.9731 24.7987 9.1087<br />

C3D8RH (6x12x12) 3549 2.9495 1.0530 2.5422 19.7773 9.1313<br />

C3D8RH (12x22x22) 20631 2.9520 1.0258 3.3492 15.4241 9.1437<br />

C3D8RH (18x48x48) 136857 2.9530 1.0256 3.2212 11.8668 9.0764<br />

C3D20 (2x8x8) 2511 2.9244 1.0164 3.2189 8.2929 8.9652<br />

C3D20 (2x10x10) 3795 2.9299 1.0172 3.2240 8.8165 8.9881<br />

C3D20 (4x20x20) 24507 2.9431 1.0216 3.2221 9.6103 8.9596<br />

C3D20 (8x36x36) 141747 2.9471 1.0230 3.2221 9.2595 8.9901<br />

C3D20H (2x8x8) 2511 2.9312 1.0193 3.1658 8.1844 9.0036<br />

C3D20H (2x10x10) 3795 2.9351 1.0195 3.2738 11.0371 9.0060<br />

C3D20H (4x20x20) 24507 2.9451 1.0224 3.2257 9.8031 8.9782<br />

C3D20H (8x36x36) 141747 2.9480 1.0234 3.2228 9.3547 8.9959<br />

C3D20RH (2x8x8) 2511 2.9323 1.0199 3.0942 6.3177 9.1497<br />

C3D20RH (2x10x10) 3795 2.9358 1.0199 3.2717 10.7029 9.1816<br />

C3D20RH (4x20x20) 24507 2.9455 1.0225 3.2222 9.6647 8.9910<br />

C3D20RH (8x36x36) 141747 2.9482 1.0235 3.2223 9.3458 9.0012<br />

Tabella 7.1: Test 1: risultati dell HC3 e dei predefiniti di ABAQUS.<br />

65


2.97<br />

2.96<br />

2.95<br />

2.94<br />

2.93<br />

2.92<br />

2.91<br />

2.9<br />

2.5 3 3.5 4<br />

log dofs<br />

4.5 5 5.5<br />

1.06<br />

1.05<br />

1.04<br />

1.03<br />

1.02<br />

1.01<br />

Figura 7.2: Test 1: u2<br />

−qL/E<br />

1<br />

2.5 3 3.5 4<br />

log dofs<br />

4.5 5 5.5<br />

Figura 7.3: Test 1: u3<br />

−qL/E<br />

66<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

L<br />

nel punto A = (0, − , 0) 2<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

L<br />

nel punto A = (0, − , 0) 2


3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

2.5 3 3.5 4<br />

log dofs<br />

4.5 5 5.5<br />

26<br />

24<br />

22<br />

20<br />

18<br />

16<br />

14<br />

12<br />

10<br />

8<br />

Figura 7.4: Test 1:<br />

u1<br />

−0.01qL/E<br />

6<br />

2.5 3 3.5 4<br />

log dofs<br />

4.5 5 5.5<br />

Figura 7.5: Test 1: σ33<br />

−0.01q<br />

67<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

L L L<br />

nel punto B = (− , − , 6 2 2 )<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

nel punto C = (0, 0, L)


9.9<br />

9.8<br />

9.7<br />

9.6<br />

9.5<br />

9.4<br />

9.3<br />

9.2<br />

9.1<br />

9<br />

8.9<br />

2.5 3 3.5 4<br />

log dofs<br />

4.5 5 5.5<br />

3<br />

2<br />

1<br />

Figura 7.6: Test 1: σ23<br />

−0.1q<br />

nel punto C = (0, 0, L)<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.7: Test 1: mesh C3D20 4x20x20, abaqus deformed plot<br />

68


7.2 Test 2: Analisi statica di una trave tozza<br />

appoggiata<br />

Il secondo test numerico è sulla trave tozza semplicemente appoggiata con<br />

sezione rettangolare riportata nella Figura 7.8. Gli spostamenti u1 e u2 sui<br />

lati x3 = 0 e x3 = L sono vincolati mentre il lato x2 = L è soggetto a un carico<br />

2<br />

uniforme esterno. La Tabella 7.2 riporta i risultati nei punti O = (0, 0, 0)<br />

A = (0, − L L<br />

L L L<br />

L<br />

L<br />

, − ), B = (− , − , ), C = (0, − , 0) e D = (0, 0, ) (si<br />

2 2 6 2 2 2 2<br />

veda di nuovo la Figura 7.8), con dimensioni della mesh crescenti. Nella<br />

stessa tabella sono inoltre riportati i valori ricavati con alcuni elementi finiti<br />

predefiniti di ABAQUS, con varie mesh. Anche in questo caso si assume un<br />

coefficiente di Poisson ν = 0.3. Nelle Figure da 7.11 a 7.10 sono mostrati i<br />

L<br />

x 1<br />

x 2<br />

O<br />

C<br />

x 3<br />

L<br />

D<br />

A B<br />

q<br />

u 1 =0 u 2 =0<br />

Figura 7.8: Simply supported beam: geometria e condizioni di carico.<br />

grafici degli output adimensionalizzati usati nella Tabella 7.2 per il confronto<br />

fra l’elemento HC3 e i predefiniti di ABAQUS. Nella Figure 7.12 e 7.13 sono<br />

presentati i plottaggi, ottenuti con il software ABAQUS, della configurazione<br />

indeformata e deformata del test eseguito con una mesh 14x16x16 di elementi<br />

C3D20.<br />

69<br />

L/3


sol name dofs<br />

u A 2<br />

−qL/E<br />

u B 1<br />

0.1qL/E<br />

u C 3<br />

qL/E<br />

AbHC3 (3x9x9) 1815 0.3110 0.3646 0.2398 0.7554 0.5170 0.5621<br />

AbHC3 (7x21x21) 14283 0.3111 0.3637 0.2399 0.7556 0.5168 0.5581<br />

AbHC3 (11x33x33) 47775 0.3109 0.3635 0.2398 0.7550 0.5165 0.5573<br />

AbHC3 (15x45x45) 112659 0.3112 0.3637 0.2399 0.7555 0.5169 0.5575<br />

C3D8 (4x10x10) 1815 0.3023 0.3139 0.2329 0.6738 0.4486 0.5432<br />

C3D8 (8x22x22) 14283 0.3092 0.3486 0.2384 0.7217 0.4846 0.5567<br />

C3D8 (12x34x34) 47775 0.3102 0.3562 0.2392 0.7340 0.4957 0.5580<br />

C3D8 (16x46x46) 112659 0.3106 0.3592 0.2395 0.7398 0.5012 0.5583<br />

C3D8H (4x10x10) 1815 0.3023 0.3139 0.2329 0.6738 0.4486 0.5432<br />

C3D8H (8x22x22) 14283 0.3092 0.3486 0.2384 0.7217 0.4846 0.5567<br />

C3D8H (12x34x34) 47775 0.3102 0.3562 0.2392 0.7340 0.4957 0.5580<br />

C3D8H (16x46x46) 112659 0.3106 0.3592 0.2395 0.7398 0.5012 0.5583<br />

C3D8RH (4x10x10) 1815 0.3017 0.3597 0.2342 0.6099 0.4432 0.5187<br />

C3D8RH (8x22x22) 14283 0.3094 0.3633 0.2391 0.6866 0.4826 0.5417<br />

C3D8RH (12x34x34) 47775 0.3104 0.3634 0.2396 0.7101 0.4944 0.5476<br />

C3D8RH (16x46x46) 112659 0.3107 0.3636 0.2397 0.7218 0.5002 0.5504<br />

C3D20 (2x8x8) 2511 0.3087 0.3619 0.2380 0.7662 0.5131 0.5640<br />

C3D20 (6x12x12) 13143 0.3094 0.3626 0.2386 0.7601 0.5143 0.5592<br />

C3D20 (14x16x16) 49623 0.3100 0.3629 0.2391 0.7578 0.5152 0.5581<br />

C3D20 (18x22x22) 116403 0.3106 0.3633 0.2395 0.7569 0.5161 0.5578<br />

C3D20H (2x8x8) 2511 0.3088 0.3580 0.2378 0.7492 0.5133 0.5646<br />

C3D20H (6x12x12) 13143 0.3095 0.3608 0.2386 0.7514 0.5151 0.5600<br />

C3D20H (14x16x16) 49623 0.3101 0.3620 0.2391 0.7527 0.5156 0.5583<br />

C3D20H (18x22x22) 116403 0.3106 0.3629 0.2395 0.7541 0.5163 0.5578<br />

C3D20RH (2x8x8) 2511 0.3090 0.3598 0.2377 0.7450 0.5109 0.5509<br />

C3D20RH (6x12x12) 13143 0.3095 0.3615 0.2386 0.7483 0.5162 0.5581<br />

C3D20RH (14x16x16) 49623 0.3101 0.3623 0.2391 0.7508 0.5164 0.5575<br />

C3D20RH (18x22x22) 116403 0.3106 0.3631 0.2395 0.7531 0.5167 0.5574<br />

Tabella 7.2: Test 2 (ν = 0.3): risultati dell’HC3 e dei predefiniti di ABAQUS<br />

70<br />

σ A 33<br />

q<br />

σ D 22<br />

−q<br />

σ O 32<br />

−q


0.314<br />

0.312<br />

0.31<br />

0.308<br />

0.306<br />

0.304<br />

0.302<br />

3.2 3.4 3.6 3.8 4 4.2<br />

log dofs<br />

4.4 4.6 4.8 5 5.2<br />

0.37<br />

0.36<br />

0.35<br />

0.34<br />

0.33<br />

0.32<br />

(b)<br />

0.31<br />

3.2 3.4 3.6 3.8 4 4.2<br />

log dofs<br />

4.4 4.6 4.8 5 5.2<br />

Figura 7.9: Test 2: (a)<br />

punto A = (0, − L L , − 2 2 )<br />

u B 1<br />

0.1qL/E<br />

(a)<br />

nel punto B = (− L<br />

6<br />

71<br />

, − L<br />

2<br />

L , ); (b) 2<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

u A 2<br />

−qL/E nel


0.241<br />

0.24<br />

0.239<br />

0.238<br />

0.237<br />

0.236<br />

0.235<br />

0.234<br />

0.233<br />

3.2 3.4 3.6 3.8 4 4.2<br />

log dofs<br />

4.4 4.6 4.8 5 5.2<br />

0.8<br />

0.78<br />

0.76<br />

0.74<br />

0.72<br />

0.7<br />

0.68<br />

0.66<br />

0.64<br />

0.62<br />

(a)<br />

0.6<br />

3.2 3.4 3.6 3.8 4 4.2<br />

log dofs<br />

4.4 4.6 4.8 5 5.2<br />

Figura 7.10: Test 2: (a)<br />

A = (0, − L L , − 2 2 )<br />

u C 3<br />

qL/E<br />

(b)<br />

L<br />

nel punto C = (0, − 2 , 0); (b) σA 33<br />

q<br />

72<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

nel punto


0.53<br />

0.52<br />

0.51<br />

0.5<br />

0.49<br />

0.48<br />

0.47<br />

0.46<br />

0.45<br />

0.44<br />

3.2 3.4 3.6 3.8 4 4.2<br />

log dofs<br />

4.4 4.6 4.8 5 5.2<br />

0.57<br />

0.56<br />

0.55<br />

0.54<br />

0.53<br />

0.52<br />

(a)<br />

0.51<br />

3.2 3.4 3.6 3.8 4 4.2<br />

log dofs<br />

4.4 4.6 4.8 5 5.2<br />

Figura 7.11: Test 2: (a) σD 22<br />

−q<br />

O = (0, 0, 0)<br />

(b)<br />

L<br />

nel punto D = (0, 0, 2 ); (b) σO 32<br />

−q<br />

73<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

nel punto


3<br />

2<br />

1<br />

Figura 7.12: Test 2: mesh C3D20 14x16x16, abaqus undeformed plot<br />

3<br />

2<br />

1<br />

Figura 7.13: Test 2: mesh C3D20 14x16x16, abaqus deformed plot<br />

74


7.3 Test 3.a: Calcolo delle frequenze naturali<br />

di una lastra apoggiata<br />

Si consideri la configurazione geometrica di una piastra rettangolare omogenea<br />

e isotropa mostrata in Figura 7.14. La piastra ha lunghezza a, larghezza<br />

b e spessore uniforme h. Si consideri il caso di una piastra quadrata e un<br />

rapporto h/b = 0.05.<br />

h<br />

x 2<br />

a<br />

x 3<br />

x 2 =0, a<br />

{<br />

a<br />

u1 =0<br />

u3 =0<br />

x 1 =0, a<br />

{<br />

u2 =0<br />

u3 =0<br />

Figura 7.14: Simply supported Plate test: geometria e vincoli.<br />

Sono state determinate le frequenze naturali della struttura e i risultati<br />

sono stati confrontati con gli elementi predefiniti di ABAQUS, e con soluzioni<br />

analitiche, in particolare con la soluzione della teoria delle piastre classica<br />

(CPT) e una soluzione elastica 3D [4] presa come soluzione di riferimento. I<br />

risultati ottenuti sono confrontabili nella Tabella 7.3, dove i valori risportati<br />

sono i parametri λsr definiti in §6.2.1.<br />

Nelle Figure da 7.15 a 7.17 sono mostrati i grafici dei risultati riportati<br />

nella Tabella 7.3 per il confronto fra l’elemento HC3 e i predefiniti di<br />

ABAQUS. Nella Figura 7.19 sono presentati i plottaggi, ottenuti con il software<br />

ABAQUS, dei modi del test eseguito con una mesh 9x9x2 di elementi<br />

C3D20.<br />

75<br />

x 1


sol name dofs Modo 1 Modo 2 Modo 3 Modo 4 Modo 5<br />

AbHC3 (6x6x3) 960 0.0240 0.0608 0.0608 0.0956 0.1305<br />

AbHC3 (12x12x3) 2940 0.0239 0.0590 0.0590 0.0933 0.1162<br />

AbHC3 (24x24x6) 16224 0.0239 0.0589 0.0589 0.0932 0.1155<br />

AbHC3 (32x32x6) 27744 0.0239 0.0589 0.0589 0.0931 0.1155<br />

C3D8 (7x7x4) 960 0.0363 0.0983 0.0983 0.1344 0.1558<br />

C3D8 (13x13x4) 2940 0.0279 0.0724 0.0724 0.1073 0.1473<br />

C3D8 (25x25x7) 16224 0.0250 0.0628 0.0628 0.0972 0.1249<br />

C3D8 (33x33x7) 27744 0.0245 0.0611 0.0611 0.0953 0.1208<br />

C3D8H (7x7x4) 960 0.0363 0.0983 0.0983 0.1344 0.1558<br />

C3D8H (13x13x4) 2940 0.0279 0.0724 0.0724 0.1073 0.1473<br />

C3D8H (25x25x7) 16224 0.0250 0.0628 0.0628 0.0972 0.1249<br />

C3D8H (33x33x7) 27744 0.0245 0.0611 0.0611 0.0953 0.1208<br />

C3D8RH (7x7x4) 960 0.0446 0.0680 0.0680 0.0680 0.0680<br />

C3D8RH (13x13x4) 2940 0.0256 0.0611 0.0611 0.0989 0.1173<br />

C3D8RH (25x25x7) 16224 0.0242 0.0592 0.0592 0.0941 0.1156<br />

C3D8RH (33x33x7) 27744 0.0238 0.0586 0.0586 0.0927 0.1148<br />

C3D20 (5x5x2) 1080 0.0240 0.0606 0.0606 0.0962 0.1248<br />

C3D20 (9x9x2) 3120 0.0239 0.0592 0.0592 0.0935 0.1168<br />

C3D20 (22x22x2) 17043 0.0239 0.0589 0.0589 0.0932 0.1156<br />

C3D20 (18x18x6) 28443 0.0239 0.0589 0.0589 0.0932 0.1156<br />

C3D20H (5x5x2) 1080 0.0240 0.0605 0.0605 0.0959 0.1245<br />

C3D20H (9x9x2) 3120 0.0239 0.0591 0.0591 0.0933 0.1166<br />

C3D20H (22x22x2) 17043 0.0239 0.0589 0.0589 0.0931 0.1155<br />

C3D20H (18x18x6) 28443 0.0239 0.0589 0.0589 0.0932 0.1156<br />

C3D20RH (5x5x2) 1080 0.0238 0.0588 0.0588 0.0928 0.1168<br />

C3D20RH (9x9x2) 3120 0.0239 0.0589 0.0589 0.0929 0.1154<br />

C3D20RH (22x22x2) 17043 0.0239 0.0589 0.0589 0.0931 0.1155<br />

C3D20RH (18x18x6) 28443 0.0239 0.0589 0.0589 0.0931 0.1155<br />

3D [4] - 0.023800 0.058900 0.058900 0.093200 0.115500<br />

CPT [4] - 0.0241 0.0602 0.0602 0.0963 0.1204<br />

Tabella 7.3: Simply supported plate test (ν = 0.3): risultati dell’HC3 vs.<br />

CPT, soluzione 3d.<br />

76


0.045<br />

0.04<br />

0.035<br />

0.03<br />

0.025<br />

0.02<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

0.1<br />

0.095<br />

0.09<br />

0.085<br />

0.08<br />

0.075<br />

0.07<br />

0.065<br />

0.06<br />

0.055<br />

modo I<br />

0.05<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

modo II<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.15: Test piastra semplicemente appoggiata: convergenza.<br />

77


0.1<br />

0.095<br />

0.09<br />

0.085<br />

0.08<br />

0.075<br />

0.07<br />

0.065<br />

0.06<br />

0.055<br />

0.05<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

0.15<br />

0.14<br />

0.13<br />

0.12<br />

0.11<br />

0.1<br />

0.09<br />

0.08<br />

0.07<br />

modo III<br />

0.06<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

modo IV<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.16: Test piastra semplicemente appoggiata: convergenza.<br />

78


0.16<br />

0.15<br />

0.14<br />

0.13<br />

0.12<br />

0.11<br />

0.1<br />

0.09<br />

0.08<br />

0.07<br />

0.06<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.17: Test piastra semplicemente appoggiata: convergenza autovalore<br />

V.<br />

2<br />

3<br />

1<br />

Figura 7.18: Test piastra semplicemente appoggiata: mesh 9x9x2 con<br />

elementi C3D20, plottaggio della configurazione indeformata<br />

79


2<br />

2<br />

2<br />

2<br />

3<br />

3<br />

3<br />

3<br />

1<br />

1<br />

1<br />

1<br />

modo I<br />

modo III<br />

modo V<br />

modo VII<br />

2<br />

2<br />

2<br />

2<br />

3<br />

3<br />

3<br />

3<br />

1<br />

1<br />

1<br />

1<br />

modo II<br />

modo IV<br />

modo VI<br />

modo VIII<br />

Figura 7.19: Test piastra semplicemente appoggiata: mesh 9x9x2 con<br />

elementi C3D20, plottaggi dei modi<br />

80


7.4 Test 3.b: Calcolo delle frequenze naturali<br />

di una lastra apoggiata<br />

Si consideri la stessa configurazione geometrica di piastra rettangolare omogenea<br />

e isotropa usata nel test 3.a e mostrata in Figura 7.14. S Si consideri<br />

il caso di una piastra quadrata e un rapporto h/b = 0.2. Sono state determinate<br />

le frequenze naturali della struttura e i risultati sono stati confrontati<br />

con gli elementi predefiniti di ABAQUS, e con soluzioni analitiche, in particolare<br />

con la soluzione della teoria delle piastre classica (CPT) e una soluzione<br />

elastica 3D [4] presa come soluzione di riferimento. I risultati ottenuti sono<br />

confrontabili nella Tabella 7.4, dove i valori risportati sono i parametri λsr<br />

definiti in §6.2.1. Nelle Figure da 7.20 a 7.22 sono mostrati i grafici dei<br />

risultati riportati nella Tabella 7.4 per il confronto fra l’elemento HC3 e i<br />

predefiniti di ABAQUS. Nella Figura 7.24 sono presentati i plottaggi, ottenuti<br />

con il software ABAQUS, dei modi del test eseguito con una mesh<br />

9x9x2 di elementi C3D20.<br />

81


sol name dofs Modo 1 Modo 2 Modo 3 Modo 4 Modo 5<br />

AbHC3 (6x6x3) 960 0.3423 0.6284 0.6284 0.7542 0.7542<br />

AbHC3 (12x12x3) 2940 0.3421 0.6283 0.6283 0.7515 0.7515<br />

AbHC3 (24x24x6) 16224 0.3421 0.6283 0.6283 0.7511 0.7511<br />

AbHC3 (32x32x6) 27744 0.3421 0.6283 0.6283 0.7511 0.7511<br />

C3D8 (7x7x4) 960 0.3457 0.6231 0.6231 0.7613 0.7613<br />

C3D8 (13x13x4) 2940 0.3397 0.6268 0.6268 0.7478 0.7478<br />

C3D8 (25x25x7) 16224 0.3412 0.6279 0.6279 0.7497 0.7497<br />

C3D8 (33x33x7) 27744 0.3409 0.6281 0.6281 0.7490 0.7490<br />

C3D8H (7x7x4) 960 0.3457 0.6231 0.6231 0.7613 0.7613<br />

C3D8H (13x13x4) 2940 0.3397 0.6268 0.6268 0.7478 0.7478<br />

C3D8H (25x25x7) 16224 0.3412 0.6279 0.6279 0.7497 0.7497<br />

C3D8H (33x33x7) 27744 0.3409 0.6281 0.6281 0.7490 0.7490<br />

C3D8RH (7x7x4) 960 0.2719 0.2719 0.2719 0.2719 0.2719<br />

C3D8RH (13x13x4) 2940 0.3308 0.5049 0.5049 0.5049 0.5049<br />

C3D8RH (25x25x7) 16224 0.3385 0.6279 0.6279 0.7434 0.7434<br />

C3D8RH (33x33x7) 27744 0.3387 0.6281 0.6281 0.7441 0.7441<br />

C3D20 (5x5x2) 1080 0.3426 0.6284 0.6284 0.7560 0.7560<br />

C3D20 (9x9x2) 3120 0.3423 0.6283 0.6283 0.7526 0.7526<br />

C3D20 (22x22x2) 17043 0.3423 0.6283 0.6283 0.7523 0.7523<br />

C3D20 (18x18x6) 28443 0.3421 0.6283 0.6283 0.7511 0.7511<br />

C3D20H (5x5x2) 1080 0.3419 0.6284 0.6284 0.7531 0.7531<br />

C3D20H (9x9x2) 3120 0.3421 0.6283 0.6283 0.7515 0.7515<br />

C3D20H (22x22x2) 17043 0.3423 0.6283 0.6283 0.7519 0.7519<br />

C3D20H (18x18x6) 28443 0.3421 0.6283 0.6283 0.7511 0.7511<br />

C3D20RH (5x5x2) 1080 0.3416 0.6284 0.6284 0.7509 0.7509<br />

C3D20RH (9x9x2) 3120 0.3421 0.6283 0.6283 0.7511 0.7511<br />

C3D20RH (22x22x2) 17043 0.3422 0.6283 0.6283 0.7517 0.7517<br />

C3D20RH (18x18x6) 28443 0.3421 0.6283 0.6283 0.7511 0.7511<br />

3D [4] - 0.342000 0.628300 0.628300 0.751100 0.751100<br />

CPT [4] - 0.3853 0.9632 0.9632 1.5411 1.9263<br />

Tabella 7.4: Simply supported plate 2 test (ν = 0.3): risultati dell’HC3 vs.<br />

CPT, soluzione 3d.<br />

82


0.36<br />

0.35<br />

0.34<br />

0.33<br />

0.32<br />

0.31<br />

0.3<br />

0.29<br />

0.28<br />

0.27<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

0.65<br />

0.6<br />

0.55<br />

0.5<br />

0.45<br />

0.4<br />

0.35<br />

0.3<br />

modo I<br />

0.25<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

modo II<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.20: Test piastra semplicemente appoggiata 2: convergenza.<br />

83


0.65<br />

0.6<br />

0.55<br />

0.5<br />

0.45<br />

0.4<br />

0.35<br />

0.3<br />

0.25<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

modo III<br />

0.2<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

modo IV<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.21: Test piastra semplicemente appoggiata 2: convergenza.<br />

84


0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

2.8 3 3.2 3.4 3.6 3.8<br />

log dofs<br />

4 4.2 4.4 4.6 4.8<br />

AbHC3<br />

C3D8<br />

C3D8H<br />

C3D8RH<br />

C3D20<br />

C3D20H<br />

C3D20RH<br />

Figura 7.22: Test piastra semplicemente appoggiata 2: convergenza<br />

autovalore V.<br />

2<br />

3<br />

1<br />

Figura 7.23: Test piastra semplicemente appoggiata 2: mesh 9x9x2 con<br />

elementi C3D20, plottaggio della configurazione indeformata<br />

85


3<br />

2 1<br />

2<br />

2<br />

2<br />

3<br />

3<br />

3<br />

1<br />

1<br />

1<br />

modo I<br />

modo III<br />

modo V<br />

modo VII<br />

2<br />

2<br />

2<br />

2<br />

3<br />

3<br />

3<br />

3<br />

1<br />

1<br />

1<br />

1<br />

modo II<br />

modo IV<br />

modo VI<br />

modo VIII<br />

Figura 7.24: Test piastra semplicemente appoggiata 2: mesh 9x9x2 con<br />

elementi C3D20, plottaggi dei modi<br />

86


Capitolo 8<br />

Conclusioni<br />

Il lavoro presentato ha riguardato la formulazione e l’implementazione di<br />

un elemento finito, denominato HC3, per l’analisi di solidi elastici 3D. La<br />

formulazione dell’elemento, di tipo compatibile, si basa su una interpolazione<br />

di tipo B-Spline che consente, a parità di grado del polinomio interpolante,<br />

un notevole risparmio computazionale rispetto ad interpolazioni standard di<br />

tipo Lagrangiano. Le prestazioni e l’accuratezza della formulazione sono state<br />

verificate implentando l’elemento HC3 nel codice di analisi ingegneristica<br />

ABAQUS il quale consente, tra le altre cose, l’utilizzo di elementi finiti non<br />

presenti nella libreria e quindi definibili dall’esterno. In tal modo è stato<br />

possibile effettuare, all’interno di un ambiente software per l’analisi FEM<br />

evoluto, un’estesa sperimentazione numerica comfrontando l’elemento HC3<br />

con altri tipi di elementi finiti. La sperimentazione numerica ha messo in<br />

luce come l’elemento proposto sia effettivamente in grado di fornire risultati<br />

accurati a costi computazionali contenuti.<br />

87


Bibliografia<br />

[1] Maurizio Aristodemo, A high-continuity finite element model for twodimensional<br />

elastic problems. Computers & Structures Vol 21. No 5, pp<br />

987-993, 1985.<br />

[2] Maurizio Aristodemo, Emilio Turco, Boundary element discretization<br />

of plane elasticity and plate bending problems. International Journal for<br />

numerical methods in Engineering, vol 37 (’94) p965-987.<br />

[3] E. Turco and M. Aristodemo, A three-dimensional B-spline boundary<br />

element, Computer methods in applied mechanics and engineering 155<br />

(1998), 119-128.<br />

[4] Cristina Gentilini, Erasmo Viola, On the three dimensional Vibration<br />

Analysis of Rectanglar plates.Dipartimento DISTART, Università di<br />

Bologna, Bologna.<br />

[5] P. M. Prenter Splines and Variational Methods, Colorado State<br />

University, John Wiley & Sons, 1989.<br />

[6] Leone Corradi Dell’Acqua, Meccanica delle Strutture - volume II, Le<br />

teorie strutturali e il metodo degli elementi finiti, McGraw-Hill, Milano,<br />

1993.<br />

[7] Leone Corradi Dell’Acqua, Meccanica delle Strutture - volume I, Il<br />

comportamento dei mezzi continui, McGraw-Hill, Milano, 1992.<br />

[8] Riccardo Baldacci Scienza delle costruzioni - volume I, Fondamenti di<br />

meccanica dei solidi, UTET, 1970.<br />

[9] Carlo Gavarini, Dinamica delle Strutture. Facoltà di Ingegneria,<br />

Università di Roma ESA Roma, 1977.<br />

[10] Raffaele Casciaro, Introduzione all’analisi computazionale delle strutture.<br />

Università della Calabria.<br />

88


[11] Salvatore Lopez, Meccanica computazionale delle strutture. Università<br />

della Calabria - Centro editoriale e librario, 2004.<br />

[12] S. Moaveni, Finite Element Analysis, Prentice Hall, New Jersey, 1999.<br />

[13] T. J. R. Hughes, J. A. Cottrel, and Y. Bazilevs, Isogeometric analysis:<br />

CAD, Finite elements, NURBS, exact geometry, and mesh refinement,<br />

Computer methods in applied mechanics and engineering 194 (2005),<br />

4135 - 4195.<br />

[14] K. J. Bathe, E. L. Wilson, and F. E. Peterson, SAP IV, Report EERC<br />

73-11, University of California, Berkeley, California, 1973.<br />

[15] M. Cannarozzi, A hybrid model for prismatic solids, International<br />

journal for numerical methods in engineering 24 (1987), 663-677.<br />

[16] N. Filonenko-Borodic, Theory of elasticity, Nordho R○ , 1963.<br />

[17] S. P. Timoshenko and J. N. Goodier, Theory of elasticity, 3rd ed.,<br />

McGraw-Hill, 1970.<br />

89

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!