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