Sei sulla pagina 1di 77

POLITECNICO DI TORINO

I Facolt` di Ingegneria a
Corso di Laurea in Ingegneria Aerospaziale

Tesi di Laurea Magistrale

Stability and applications of the peridynamic method

Relatori: Prof. Marco Di Sciuva Prof. Paolo Maggiore Candidato: Matteo Polleschi

Luglio 2010

Ringraziamenti
Il mio ringraziamento va ai miei relatori, al Professor David Steigmann dellUniversit` di Berkeley che mi ha accolto nel mio periodo statunitense, ai miei compagni in a questa lunga avventura e tutti coloro che mi sono vicini, sicamente e con lo spirito, nonostante la mia anima bipolide e cosmopolita.

Sommario
La meccanica strutturale ` portata ad arontare con modelli numerici seme pre pi` adabili la realt` che ci circonda; dai primi modelli agli elementi u a niti, limitati dalla scarsa potenza computazionale a disposizione, si ` pase sati a modelli estremamente accurati in grado, con indicazioni certicate, di sostituire la validazione sperimentale delle strutture aeronautiche e spaziali. Si va quindi dai calcoli statici a quelli dinamici e di buckling; una branca da non sottovalutare sia per scopi di sicurezza che di ottimizzazione di prestazioni, materiali e processi di produzione ` quella della meccanica della e frattura e dellimpatto. Questi casi sono pi` complessi da trattare in quanto, u in seguito allevento dinamico posto in essere, si creano delle discontinuit` a nel materiale; essendo le equazioni della meccanica classica basate su derivate spaziali, in presenza delle suddette discontinuit` queste grandezze non sono a pi` calcolabili dando origine a delle singolarit`. Per ovviare a questo esistou a no vari metodi, dallanare la mesh dove il materiale diventa discontinuo allintrodurre delle ipotesi sul comportamento della frattura. Esiste un modello di meccanica del continuo che ovvia a queste limitazioni, in quanto si basa su equazioni integro-dierenziali che non vanno a coinvolgere nessuna derivata spaziale, utilizzando invece gli integrali, che sono in grado di trattare anche questo tipo di problema. Questa teoria si basa su degli studi sul comportamento dei cristalli di Rogula e Kunin (intorno al 1982), poi ripresi e rielaborati dal sico statunitense Stewart Silling nella sua pubblicazione [1], e prende il nome dalle due parole greche per e dnamic, cio` e forza dellintorno; ` un argomento di ricerca molto recente, ma ha tutte le e potenzialit` per essere utilizzato in larga scala. a Il lavoro principale svolto per questa tesi ` consistito nella stesura di un e codice c++ in grado di risolvere problemi di frattura ed impatto, implementando un algoritmo di integrazione misto esplicito-implicito per ottenere la stabilit` numerica (che aigge il modello da una parte in quanto rischia a di far esplodere il calcolo, dallaltra perch prendendo troppo margine si e rallenta il calcolo stesso); successivamente, lo si ` applicato ad alcuni casi e semplici a sucienza per essere lanciati senza avere a disposizione un hard1

ware particolarmente performante, ma signicativi per dimostrare che questo metodo ` in grado di descrivere la propagazione delle cricche senza alcuna e ipotesi aggiuntiva, come diretta conseguenza di geometrie, materiali, carichi e condizioni al contorno. Segue un riassunto dei vari capitoli. Capitolo 1: fondamenti teorici Lequazione del moto del modello peridinamico `: e (x) (x, t) = u
R

f (u(x , t) u(x, t), x x)dVx + b(x, t)

(1)

dove le variabili hanno il signicato di1 : (x): densit` in x a x e x : punti (particelle) nella congurazione di riferimento u: vettore spostamento f : pairwise force function b: campo di forze esterno Questa equazione ` una forma della seconda legge di Newton. Come si pu` e o notare, lequazione ` integro-dierenziale, e la dierenziazione ` eettuata e e nel tempo, dunque non vi ` la presenza delle derivate spaziali che causano e problemi sulle discontinuit`. a Si introduce il vettore posizione relativa =x x e il vettore spostamento relativo = u(x , t) u(x, t) = u u La quantit` + descrive quindi la posizione relativa attuale tra le due a particelle. Nella formulazione pi` generale, lintegrazione ` eettuata su tutto il coru e po. Tuttavia ` conveniente denire come in gura [1] una regione allinterno e del dominio delimitata da un raggio tale che: if
1

= f (, ) = 0

(2)

I vettori sono indicati in grassetto

R
f

x'

Figura 1: Dominio ed orizzonte

Questa quantit` ` chiamata orizzonte, a ricordare che ` la regione ala e e linterno della quale la particella vedealtre particelle esercitare una forza su di essa. Per quanto riguarda il valore di , ` prassi utilizzare un valore e che ` tre volte la spaziatura tra i nodi in cui viene discretizzato il dominio. e Se si utilizza un valore inferiore, le fratture tendono a seguire un percorso innaturale, lungo le righe o colonne della mesh; al contrario, se si utilizza un orizzonte troppo ampio, non solo si appesantisce molto il calcolo, ma si causa uneccessiva dispersione ondosa ed il solido inizia a comportarsi come un uido. Il modello peridinamico ` non locale, nel senso che le particelle interae giscono a distanza nita, come nella dinamica molecolare. Esistono molte teorie di dinamica molecolare, ma questa ` lunica ad eliminare le derivate e spaziali. In questa tesi si ` utilizzato lapproccio basato sui collegamenti particellae particella, che ha alcune limitazioni (come il non poter utilizzare modelli costitutivi dalla teoria classica ed essere limitato a materiali con coeciente di Poisson = 0.25): per risolvere queste limitazioni ` stato creato il modello e dei Peridynamic States, che permette il collegamento della densit` di energia a di deformazione con il cambiamento di volume locale, e non solo linterazione tra due sole particelle. Le propriet` di legame non dipendono solo dallala lungamento del legame stesso, ma anche dagli allungamenti di tutti gli altri legami connessi alla particella che si sta considerando; questo permette di denire modelli costitutivi pi` generali. u Il termine di forza nellequazione 1 ` un funzionale che dipende dalla e funzione vettoriale f , chiamata la pairwise force function (PFF). Essa fornisce

la forza per unit` di volume al quadrato dovuta ad una particella x su una a particella x. Nella meccanica del continuo classica questo funzionale ` la e divergenza del tensore di stress. Le propriet` del materiale ed il suo comportamento sono descritte dalla a PFF. Con una serie di considerazioni basate sullequilibrio e della conservazione della quantit` di moto e del momento angolare, si ottiene che la forza tra a due particelle dipende solo dalla loro posizione relativa attuale, e che f ` una e funzione dispari. Lallungamento di un legame ` dato da: e s= y || | + | || = || || (3)

dove y = | + | ` il modulo del vettore posizione relativa attuale. e Si possono caratterizzare un gran numero di materiali in funzione dellallungamento; in questo lavoro si ` scelto un materiale proporzionale (lineare), e che abbia un comportamento di questo tipo: f cs (4)

dove c ` una costante elastica che dipende dal bulk modulus K (caratteristica e macroscopica del materiale) secondo la formula: c= 18K 4 (5)

Il danneggiamento del materiale ` introdotto a livello di legame: se lallungae mento supera una certa soglia, il legame si rompe e non restituisce pi` alcuna u forza. Anche il massimo allungamento del legame si pu` legare a parametri o macroscopici: 5G0 s0 = (6) 9E Entrambe queste denizioni derivano dal lavoro [5] di Silling ed Askari. La teoria della peridinamica non considera, nella sua formulazione di base, forze tra particelle che allinizio del calcolo erano pi` lontani dellorizzonte; u questo impedirebbe la trattazione dellimpatto (se non sotto certe ipotesi limitative, assegnando una forte velocit` iniziale alla parte impattata). Per a ovviare a questo problema sono state introdotte delle forze a corto raggio, di natura esclusivamente repulsiva (e ancora una volta dirette secondo la congiungente delle particelle), la cui intensit` ` data da ae fs = min 0, cs 4 |y y| 1 2rs (7)

dove y = x + u e y = x + u sono le posizioni correnti di x ed x , cs e rs costanti positive. Le forze repulsive compaiono quando le particelle sono pi` vicine di 2rs , che ` chiamato il raggio del nodo. Di solito si assume che u e cs = 15c. Capitolo 2: metodo numerico Il dominio ` suddiviso in nodi equispae ziati, e nellequazione del moto lintegrale diventa una somma nita: un = i
p

f (un un , xp xi )Vp + bn i i p

(8)

essendo un = u(xi , tn ) i (9) Vp ` il volume del nodo p, che per una griglia di calcolo uniforme ` semplicee e mente pari a x3 . La somma ` eettuata su tutti i nodi p tali che |xp xi | < . e Lequazione del moto discretizzata ` facile da implementare, anche nella sua e forma non lineare. In ogni caso, la versione linearizzata diventa: un = i
p

C(un un )(xp xi )Vp + bn p i i

(10)

e per il termine daccelerazione si utilizzano le dierenze nite centrate


n+1 n1 n n = ui 2ui + ui ui t2

(11)

Lanalisi di stabilit` di von Neumann porta al requisito per il passo di a integrazione di 2 (12) t < p Vp |C(xp xi )| Questo requisito, per`, da una parte pu` non essere valido per prolemi che o o si discostino dalla linearit`, e dallaltra porta ad un calcolo che non ` coma e pletamente eciente: il passo di integrazione non risulta essere ottimizzato, e si va a sprecare del tempo durante il calcolo. Per questo motivo, si ` introdotto un metodo che permetta di valutare e in itinerela bont` del passo di integrazione; questo si basa su una valutaa zione dellerrore che ` fondata sul moto delle particelle, o meglio sulla loro e posizione: la nuova posizione calcolata non pu` discostarsi esageratamente o da quella precedente (ragionando sulla somma dei valori assoluti degli spostamenti). In questo modo le posizioni dei nodi tendono a variare in maniera graduale, evitando le esplosionitipiche degli errori numerici. 5

Alla base della correttezza dellanalisi numerica che si va a sviluppare c` e comunque la precisione di macchina, storicamente indicata come : essa ` e denita come il pi` piccolo numero tale che la dierenza tra 1 e 1 + ` non u e nulla. Quando si ha a che fare con numeri troppo piccoli, vicini alla precisione di macchina, si presenta un alto rischio di errore numerico, che porta ad avere errori nel computo delle forze anche di diversi ordini di grandezza, fornendo una soluzione con forze numerichemolto intense e che non sono equilibrate. Questo ` dovuto al calcolo dellallungamento, per il quale spesso la dierenza e tra valori cos` piccoli dallessere vicini all ` la criticit` principale. e a Per ovviare a questi problemi, bisogna controllare tutti i valori che potrebbero avvicinarsi troppo alla precisione di macchina e, nel caso questo si verichi, portarli ad annullamento. Ritornando al metodo numerico, lapproccio utilizzato in questo lavoro si ispira al lavoro del Professor Zohdi dellUniversit` della California, Berkeley; a la sua prima formulazione ` stata sviluppata per la soluzione di problemi e multicampo termochimici. Il metodo che ne risulta ` misto esplicito-implicito: lintegrazione procee de esplicita attraverso i passi temporali, ma ad ogni passo dintegrazione si attiva un ciclo implicito che ha il compito di vericare se il passo dintegrazione stesso sia quello ottimale per rimanere nei limiti della stabilit`, ma non a perdendo in ecienza computazionale. A tal proposito, si utilizzano le seguenti quantit`: a K =
def N i=1

||ui n+1,K ui n+1,K1 ||


N i=1

||ui n+1,K ui n ||

(13)

che ` lerrore normalizzato, ed inoltre: e ZK = def K =


def

K T OL

(14)

1 T OL pKd 0 1 K pK 0

(15)

Lalgoritmo utilizzato consiste in questa sequenza di operazioni: per tutti gli N nodi,

calcolare la nuova posizione come ui n+1,K i tun + un i

t2 f (ui n+1,K1 ) + mi

calcolare le nuove forze (del ciclo interno, da memorizzare in variabili temporanee separate) calcolare gli errori deniti precedentemente se la tolleranza ` rispettata (ZK 1) e (K < Kd ), allora e incrementare il tempo t = t+t e ripartire con la prima istruzione costruire un nuovo time step t = K t se la tolleranza non ` rispettata (ZK > 1) e K = Kd allora e costruire un nuovo time step t = K t ricominciare il calcolo dal tempo t Il metodo ` quindi caratterizzato dai parametri T OL, Kd e p. Valori tipici e sono di T OL = 0.001, Kd = 20 e p = 3, ma, come si potr` notare nei calcoli a presentati, nel caso della peridinamica questi valori possono essere diversi. In sostanza, il metodo controlla quanto i nodi (particelle) si muovono: se la dierenza tra due istanti successivi soddisfa la tolleranza, lintervallo temporale viene aumentato per migliorare lecienza; se invece si ` fuori e tolleranza, il t viene ridotto per soddisfare la stabilit`. a Capitolo 3: descrizione dellarchitettura software Lobiettivo di questa tesi ` lo sviluppo di un codice peridinamico stabile, ma per ottenere uno e strumento essibile e riutilizzabile ` necessario considerare tutte e tre le fasi e dellanalisi: pre-processamento, soluzione e post-processamento. Da un punto di vista operativo, si ` realizzata ed integrata una piattaforma software e in grado di svolgere tutte e tre queste mansioni, completando il solutore in c++ con altri software/linguaggi di scripting preesistenti e basati sulla losoa open source. Lobiettivo nale, da un punto di vista software, ` la creazione di una e suite integrata per il calcolo peridinamico che sia in grado di arontare la pi` u grande variet` possibile di geometrie e materiali, fornendo risultati di comoda a interpretazione. Questo ` stato sviluppato mediante le varie componenti che e andiamo ad elencare.

Pre-processamento La geometria viene generata con il componente CAD della suite open source Salom`; la griglia di calcolo viene creata bae sandosi su questa geometria, grazie al meshatore ancora incluso in Salom`. e Questo passo ` necessario per ottenere una nuvola di nodi che vada a discree tizzare il continuo, ma nella struttura di le che viene prodotta come output ` presente anche la denizione degli elementi. e A tal proposito si utilizza Impact, un software libero per calcolo esplicito di simulazioni dinamiche; non essendo interessati alle sue capacit` di a processamento, si sfrutta la sua comoda interfaccia graca per eliminare i suddetti elementi, lasciando solamente i nodi, necessari al calcolo peridinamico. Sempre in questo ambiente si applicano i carichi, si assegnano i vincoli e le velocit` iniziali. a Un ultimo passo viene svolto per rendere il le di output di Impact leggibile dal solutore: ` questa lultima fase, detta di parsing, in cui viene prodotto e il le con la struttura utilizzata in input dal codice c++. Analizzando le varie fasi, si intuisce come sia possibile trattare un numero virtualmente innito di geometrie, grazie alla combinazione cad-meshatore; particolare attenzione va posta nel cercare di ottenere una mesh equispaziata, in quanto lirregolarit` della griglia porta ad instabilit` pi` o meno accena a u tuate. E questo uno dei loni di ricerca immediati in campo peridinamico. Soluzione Il cuore della tesi ` lo sviluppo del solutore, che implementa e il metodo esplicito-implicito, il parsing dellinput e la produzione dei risultati. Il codice ` scritto in c++, linguaggio creato da Bjarne Stroustrup ai Bell Labs e nel 1983; la scelta ` basata sia sulla sua diusione nel calcolo scientico grazie e alle alte performance, ma anche per la sua versatilit`. a Esso implementa due librerie: Armadillo per lalgebra lineare (sviluppata in un centro di ricerca australiano, e dotata di licenza open source GNU LGPL), e VTK per la parte graca (sviluppata da Kitware e fornita con licenza open source). Entrambe sono multipiattaforma, e non utilizzando il codice librerie speciche di sistema operativo ` dunque portabile. Lo sviluppo ` stato e e comunque eettuato su piattaforma GNU/Linux (Ubuntu e Mandriva). La struttura del codice ` prevalentemente basata sulla programmazione e ad oggetti, infatti nodi e bonds sono sviluppati come classi con propri metodi; lalgoritmo ` schematizzato nelle gure 2 e 3. e

Start Read input parameters

Read input le

Create nodes

Create links

Peridynamic iterations no

Iterations performed? yes Stop Figura 2: Diagramma di usso del programma principale

Velocity Verlet step 1 and 2

Stable time step calculation

Bond force update

Nodal force computation

Velocity Verlet step 3

Damping correction for velocities

Broken links dump

Output solution at current time step Figura 3: Diagramma di usso delle iterazioni

10

Post-processamento Per consentire sia unanalisi in tempo reale del calcolo che sta avvenendo, sia la possibilit` di produrre report, il solutore a produce due tipi di le diversi. Il primo tipo sfrutta le librerie VTK implementate per fornire un le nel formato VTK polydata, da aprire allinterno di software per post-processamento con VisIt o Paraview. Questo permette di vericare, durante lesecuzione di un calcolo, che lesito vada come previsto, confermando le condizioni iniziali ed al contorno. Laltro output prodotto ` un le geometria per GMSH, un meshatore e open source con capacit` di pratica visualizzazione e produzione immagini a (anche vettoriali). La frequenza con cui viene prodotto loutput ` un parametro di lancio e del calcolo, in quanto incia le prestazioni in maniera non trascurabile (sia per via del tempo di scrittura, sia perch` in quel momento non si possono e utilizzare le capacit` di calcolo parallelo). a Capitolo 4: stato dellarte In questo capitolo viene descritto brevemente qual ` lo stato dellarte della ricerca sulla uidodinamica, in particolare e quali software sono stati sviluppati e su che cosa si basano. Successivamente vengono presentati alcuni risultati ottenuti in altre pubblicazioni, che confermano ed aancano il lavoro svolto in questa tesi: sono calcoli di fratture e impatti svolti su piattaforme hardware di potenza rilevante e quindi in grado di trattare un alto numero di nodi, che mostrano come la peridinamica sia in grado di modellare tali problemi in maniera adabile. I due programmi attualmente esistenti sono due: EMU e LAMMPS. Per quanto riguarda il primo, si fonda sulla bond-based versione della peridinamica (quindi non utilizza i peridynamic states) ma non ` liberamente accessibile: solo un lie mitato numero di utenti e centri di ricerca degli Stati Uniti ne ` in possesso, e e dunque si pu` solamente vericare attraverso le pubblicazioni per le quali o viene utilizzato. LAMMPS invece ` un software molto ampio di dinamica e molecolare, liberamente accessibile (fornito dai Sandia Labs), allinterno del quale vi ` un modulo dedicato alla peridinamica. La sua esecuzione ha tempi e di calcolo estremamente ottimizzati, ma ha la limitazione di poter descrivere soltanto geometrie semplici. Con entrambi i software, comunque, sono state eettuate simulazioni che mostrano un perfetto accordo con la realt` che scaturisce esclusivamena te da vantaggi del metodo, senza bisogno di ulteriori anamenti o postprocessamenti. Capitolo 5 e 6: simulazioni e conclusioni Nellultima parte di questo scritto sono presentati i risultati delle simulazioni. Va detto che si ` e 11

reso necessario arontare casi relativamente semplici, limitando il numero dei nodi per via del fatto che larchitettura hardware a disposizione (laptop biprocessore) non era suciente per modelli di pi` larga scala (basti pensare u che le pubblicazioni sugli stessi argomenti riportano calcoli fatti su cluster di supercomputer), tuttavia i risultati ottenuti sono in ogni caso apprezzabili. Lobiettivo di rendere il metodo stabile e di vericare le potenzialit` della a peridinamica di cogliere fenomeni dinamici come la frattura senza ulteriori ipotesi aggiuntive pu` dirsi certamente raggiunto: in ogni calcolo che si va a o lanciare, qualsiasi sia il time step da cui si parte, questo si assesta immediatamente al valore che soddisfa la stabilit`, andando a ranare ed ottimizzare a immediatamente dopo. Leetto del metodo si pu` conferare visivamente oso servando le simulazioni della membrana oscillante: per via della dissipazione introdotta, questa ritorna nella posizione iniziale di equilibrio senza denotare problemi numerici. Inoltre, si pu` notare come levoluzione della frattura fragile (conseo guenza del modello di materiale implementato) sia ben descritta dallevolvere del calcolo: sia nel caso della piastra forata che del provino, infatti, il comportamento descritto ` quello che corrisponde alla teoria ed ai casi e sperimentali. Anche limpatto ` un campo promettente, sebbene sia computazionalmene te ancor pi` dispendioso: infatti, in questo caso, compaiono anche le forze u a corto raggio che dipendono dalla posizione corrente di tutte le particelle, aspetto che implica il ricalcolo delle vicinanze di ogni nodo della griglia con una certa frequenza.

12

Indice
1 Peridynamic theory 1.1 Equation of motion . . . . . . 1.1.1 Pairwise force function 1.1.2 Damage . . . . . . . . 1.1.3 Short range forces . . . 1.1.4 Peridynamic states . . 16 16 18 21 21 22

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

2 Numerical method 24 2.1 Direct numerical method . . . . . . . . . . . . . . . . . . . . . 24 2.2 Time-adaptive method . . . . . . . . . . . . . . . . . . . . . . 25 3 Computational code 3.1 Solver . . . . . . . . 3.1.1 Parallelization 3.2 Pre-processing . . . . 3.2.1 Salome . . . . 3.2.2 Impact . . . . 3.2.3 Python . . . . 3.3 Post-processing . . . 3.3.1 VisIt . . . . . 3.3.2 GMSH . . . . 28 28 32 33 34 35 36 36 36 37 38 38 38 44 45 45 45 46 46

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

4 State of the art 4.1 Software . . . . . . . . . . . . . . . . . . 4.1.1 LAMMPS . . . . . . . . . . . . . 4.1.2 EMU . . . . . . . . . . . . . . . . 4.2 Simulations . . . . . . . . . . . . . . . . 4.2.1 Perforation of ductile targets . . . 4.2.2 Perforation of reinforced concrete 4.2.3 Perforation of a fabric . . . . . . 4.2.4 Ball explosion . . . . . . . . . . . 13

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

4.2.5

Time rate inuence . . . . . . . . . . . . . . . . . . . . 47 48 48 60 65 68 72 73

5 Simulations 5.1 Membrane . . . 5.2 Plate with hole 5.3 Traction test . . 5.4 Impact . . . . . 6 Conclusions Bibliograa

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

14

Introduction
Structural mechanics has often to deal with discontinuities, such as cracks and interfaces delamination. The classical models are mainly based upon equations, like equilibrium ones, involving partial derivatives with respect to the spatial coordinates; consequently, theyre not suitable to describe discontinuities, wherein derivatives are not dened. Currently used solution methods require knowledge of the crack path, to redene the mesh alongside. This is obviously not the most general approach. A revolutionary approach was proposed by Stewart Silling in 1998 [1], with a brand new theory called Peridynamics. The name comes from two greek words, per and dnamic, meaning force of the surroundings, from the kind of particles interaction. The funding aspect of his theory is that the model is based upon integral equations, which can be directly applied on every kind of calculation dominium. The core work of this thesis is the implementation of a time-adaptive peridynamic solver using c++ programing language, applying it to simple but relevant cases to test its stability and precision. In the next chapters an overview of the method will be presented, along with calculations results and evaluation of industrial applicability.

15

Capitolo 1 Peridynamic theory


1.1 Equation of motion

Considering a body occupying a domain R, the equation of motion for every particle (at point x in the reference conguration and time t) inside the domain is given by: (x) (x, t) = u
R

f (u(x , t) u(x, t), x x)dVx + b(x, t)

(1.1)

where the symbols dene1 (x): density at x x and x : points in the reference conguration u: displacement vector f : pairwise force function b: body force density eld This is the fundamental integro-dierential equation of peridynamic theory, based on Newtons second law. It involves an integral part and a dierentiation w.r.t. time, thus avoiding spacial derivatives. It is convenient to introduce the relative position vector =x x and the relative displacement vector
1

All vector quantities throughout this work are in bold

16

R
f

x'

Figura 1.1: Domain and horizon

= u(x , t) u(x, t) = u u The quantity + is therefore the current relative position vector between two particles. As shown in gure 1.1, it is convenient to dene a region inside the domain, delimited by the distance , such that: if = f (, ) = 0 (1.2)

The quantity is called the horizon, as it is the region in which a particle sees forces from the surrounding ones. A typical value for is three times the grid spacing x; dierent values are to avoid. Whether an horizon comparable to the grid spacing is used, cracks follow unnatural paths (along rows or columns of the mesh), and a smaller timestep is needed; conversely, if a larger one is used, besides longer computation time, there will be an eccessive wave dispersion and the solid will behave like a uid. The peridynamic method for continuum mechanics is nonlocal, as particles interact at a nite distance with each other, like in molecular dynamics. This is not the only nonlocal theory, but it is the only one eliminating spatial derivatives within its formulation. A particular attention must be put when chosing the peridynamic approach to use: this work is based upon the bond approach , which has the following limitations (as stated in ref. [8]): can not directly use a constitutive model from standard theory 17

u'

x'

Figura 1.2: Variables

assumes bonds act indipendently of each other, implying only a poisson coecient = 0.25 can be used can have permanent deformation of bonds, but cant enforce plastic incompressibility can model discrete particles, but only using two-body potentials For getting over these contraindications, a new approach has been developed: peridynamics states. This eld of research is however not part of this thesis, while could be an interesting evolution for the application of the numerical stability method.

1.1.1

Pairwise force function

The specic force term in equation 1.1 is a functional depending on a vectorvalued function f , called the pairwise force function (PFF). The PFF gives the force per unit volume squared on a particle at x due to a particle at x . In conventional continuum-mechanics theory, the functional is the divergence of the stress tensor. All material properties and its behaviour are dened by the form of the pairwise force function. The dependence of f on xx implies homogenity of the material; the lack of a temporal term but the current one avoids the dependence on deformation history, also. 18

To satisfy Newtons third law the PFF must respect f (, ) = f (, ) , (1.3)

meaning that f (, ) is an odd function of (, ). Moreover, the conservation of angular momentum in the absence of external forces implies that f (, ) must also satisfy (if it is not conserved, two particles at rest would move even in absence of external forces)2 : ( + ) f (, ) = 0 , (1.4)

The force between any two particles has therefore to be parallel to their current relative position + . It is then possible to rewrite the pairwise force function in this form: f (, ) = F (, )( + ) , (1.5)

where F (, ) is a scalar function, and must be an even function of(, ), as f (, ) is odd. A material is said to be microelastic whether (necessary and sucient condition) a scalar-valued function w(, ) exists, such that f (, ) = w (, ) (1.6)

The micropotential is the potential energy density of a bond (and its unit is energy per volume squared. For a microelastic material the general form of the pairwise force function is f (, ) = H(p, )( + ) p = | + | H(p, ) = (1.7)

1w (p, ) (1.8) pp The basic consequence is that the force between any two points depends only upon their current relative position; a pratical physical interpretation is that every node is connected to the other ones inside its horizon through a spring. This spring in the most general case is nonlinear, but the model can be linearized as well. The stretch s of the bond can be dened as s=
2

| + | || y || = || ||

(1.9)

is the cross product

19

force
rupture

stretch
rupture

Figura 1.3: linear elastic

where y = | + | is the current relative position vector norm. A number of material behaviors can be dened from the pairwise force denition, such as: proportional material viscoelastic material viscoplastic material

20

A proportional material is characterized by a PFF like f cs (1.10)

where c is the spring constant. The spring constant, as described in [5], is obtained from the classical mechanics bulk modulus K, and particles horizon : 18K (1.11) 4 In this thesis a proportional material model has been implemented. A further development of this work could lead to a structured analysis of the best pairwise force function able to describe any known material. c=

1.1.2

Damage

The main ability of peridynamics is to catch crack paths without needing any information but shape, material and pairwise force function. Damage is accounted at bond level: after trepassing a certain level of stretch, it breakes i.e. does not oer interaction force anymore. Following again [5], the critical stretch for bond failure is 5G0 (1.12) 9E The material behavior implemented in this thesis produces brittle fracture results; other models have been successfully implemented in other works cited as reference. s0 =

1.1.3

Short range forces

The basic formulation of peridynamic theory for continuum mechanics considers only interactions through bonds: particles that are initially separated (because their distance exceeds ) can not interact in any way during the following timesteps. This limitation allows to trat crack propagation due to loads, but neglects impact between dierent bodies. To encompass this interactions, short range forces are here dened: these forces do not depend on the distance between the particles (the computational nodes) in the reference conguration, but only in the current state. The direction is again along the distance between the particles, and the module is given by: fs = min 0, cs 21 |y y| 1 2rs (1.13)

(a) Microelastic

(b) Fragile microelastic

(c) Microplastic

22

where y = x + u and y = x + u are the current positions of x and x , cs and rs positive constants. Repulsion forces are nonzero when the particles are closer than 2rs , which is called the node radius. Usually it is assumed that cs = 15c.

1.1.4

Peridynamic states

These models allow only one elastic constant, c, but isotropic linear elastic materials are actually characterized by two constants. An elastic solid that involves only two-particle interactions (a Cauchy crystal ) always has a Poisson ratio of 0.25. The theory of peridynamic states is a renement of the peridynamic theory that allows dependence of strain energy density on local volume change, and not only two-particle interactions. It can also be implemented to model uids. The bond properties depend not only on the stretch in the bond itself, but also on the stretch of all bonds connected to its node. This permits more general constitutive models.

23

Capitolo 2 Numerical method


2.1 Direct numerical method

The nodes form a grid. The method is mesh free: there are no elements or other geometrical connections between the nodes. The discretized form of the equation of motion replaces the integral by a nite sum: un = i
p

f (un un , xp xi )Vp + bn p i i

(2.1)

being un = u(xi , tn ) i
3

(2.2)

Vp is the volume of node p, which for a uniform rectangular grid is simply x . The sum is taken over all nodes p such that |xp xi | < . The discretized equation of motion is easy to implement in its fully nonlinear form. However, for purposes of error analysis and numerical stability analysis, it is necessary to work with a linearized version. The discretized form of the linearized peridynamic model is un = i
p

C(un un )(xp xi )Vp + bn p i i

(2.3)

An explicit central dierence formula is used for acceleration


n1 un+1 2un + ui i i (2.4) t2 Through the use of standard error analysis, the spatial and temporal discretization errors can be shown to be O(x2 ) + O(t2 ). In addition, von Neumann stability analysis leads to a time step requirement of

un = i

24

t <

2 p Vp |C(xp xi )|

(2.5)

The value of the horizon may depend on the physical nature of the application being modeled. For example, at the nanoscale, would be determined by the distance over which physical interaction between atoms or molecules occurs. However, in macroscale calculations, it can be chosen according to convenience, since, as shown previously, the parameters such as c that determine the bulk elastic properties of the material can be tted to experimental data for any value of . In practice, for macroscale modeling, the value = 3x usually works well. Values much smaller than this typically result in undesirable grid eects (cracks grow along the rows or columns of the grid). Values much larger than this may result in excessive wave dispersion and require very large computer run times. Boundary conditions are somewhat dierent in the peridynamic method than in the classical theory. The variational formulation of the peridynamic equations does not lead to natural boundary conditions, which in the classical theory are traction boundary conditions. Instead, forces at the surface of a body must be applied as body forces b within some layer under the surface. In practice, this layer usually has thickness. Similarly, displacement boundary conditions must be prescribed within a layer of nite thickness under the surface. Although the above analysis assumes a regular lattice of nodes, the method is not restricted to such structured grids. Through the use of irregular grids, complex geometries may be modeled, and the full advantages of a meshless method are realized.

2.2

Time-adaptive method

The time stability is a big issue in peridynamics: when dealing with large deformations, complex geometries and fast dynamical phenomena the time step requirement is someway weak. Moreover, for the sake of conservativity, it can happen to choose a time interval which is unconvenient from a computational point of view: the time required to dene the dominium behavior in an interval can happen to be out of scale. To overcome these drawbacks, a new time integration has been implemented, which permits to evaluate the integrations correctness. This is performed by evaluating an error which is related to the motion of the particles, i.e. the new position can not be too far from the previous one. This 25

way a situation where the nodes tend to explode is avoided, and position updates are kinda smooth . A fundamental aspect which is not going to be heavily analysed, but that is crucial for a correct cycle of simulations, is machine precision, usually called . It is dened as the smallest number such that the dierence between 1 and 1 + is nonzero. If the code has to deal with too little numbers, numerical errors risk to appear: the value of number summations is spoiled, therefore new numerical and not physical forces appear; this is the consequence of the little dierence between nodes positions in particular, with direct eect on the resulting bond stretch. This issue has to be solved by carefully checking every value to be far from the machine precision, and bringing it to zero whether it is too close. Lets get back to the adaptive method. This approach comes from a solution to continuum thermo-chemical multield problems developed by professor Zohdi of the University of California, Berkeley. It has been applied to peridynamics in a mixed explicit-implicit way: the integration through the timesteps is explicit, but at every time step an implicit cycle is performed to check whether that time interval t is the best to achieve both stability and computational eciency. The implicit iterations at every time step are called Global xed-point iterations . In the following, we recall that i indicates the nodes (total amount is N ), and K is the internal step counter. Before listing the algorithm, it is convenient to dene some quantities to be used: K =
def N i=1

||ui n+1,K ui n+1,K1 ||


N i=1

||ui n+1,K ui n || K T OL

(2.6)

is the normalized error, and also: ZK = def K =


def

(2.7)

1 T OL pKd 0 1 K pK 0

(2.8)

26

The global xed-point iteration is then performed as: for all the N nodes, compute the new position as ui n+1,K un i t2 i f (ui n+1,K1 ) + tun + mi

compute the new (internal cycle) interaction forces (storing them in temporary variables) compute the error measures dened above if tolerance met (ZK 1) and (K < Kd ), then increment time t = t + t and start from the beginning construct new time step t = K t if tolerance not met (ZK > 1) and K = Kd then construct new time step t = K t restart from time t The method is therefore characterized by three parameters, T OL, Kd and p. Typical values are T OL = 0.001, Kd = 20 and p = 3 but, as will be shown in the simulation results chapter, dierent values can be chosen for peridynamics applications. To summarize, the method controls how much do the nodes (particles) move: if the dierence between a step and the other satises the tolerance, the time step is increased to improve eciency; on the converse, if the particles move outside tolerance the step is reduced to keep the calculation stable.

27

Capitolo 3 Computational code


The main operational goal of this work is the development of a calculation code implementing peridynamics theory (on a bond based approach and including the time-stable algorithm). Like every analysis suite, the solution of a problem is obtained after three steps, usually performed by dierent softwares: pre-processing, solving and post-processing. The core of the thesis is the creation from scratch of a stable solver, able to process as much as dierent geometries possible while presenting handful results. Moreover, for creating an useful chain of tools, pre and post-processing open source tools have been tested and integrated; this chapter presents a detailed description of them as well.

3.1

Solver

The solver is the core of this thesis work. It has been implemented from scratch using the c++ programming language; the compiler is GNU g++, from GCC (GNU Compiler Collection). GCC is the standard compiler in GNU/Linux environments; Richard Stallman started to write it in 1985, while the rst release was in 1987: the aim was to be the compiler for the GNU Project, to have a compiler that was free software. At the current development stage, a c++ GNU compiler is available for both Linux and Windows platform; this means that, if OS-specic libraries are not included, the code is portable. The code for this thesis has been written and compiled on a Linux platform (Ubuntu 9.04 and Mandriva 2010), but it can be ported on windows as well.

28

To perform algebraic operations, le input and handful graphical output, two libraries have been included: Armadillo and VTK. Armadillo Armadillo (currently at version 0.9.5) is an open source (LGPL licensed) linear algebra library written in c++ and compatible with Matlab and Octave also. It is primarily developed at NICTA (Australias ICT Research Centre of Excellence), with contributions from around the world. It has functions for Matrices, Vectors, Scalars, Decompositions, Inverses, input and output; it has been chosen because it is simple to implement, utilize and has no license problems as it can be statically linked to the executable (i.e. can be part of the executable itself, and does not need to be present in the executing system). VTK VTK is an open-source, freely available software system for 3D computer graphics, image processing and visualization. It is produced by Kitware, which produces the postprocessor Paraview as well. TK supports a wide variety of visualization algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. VTK has an extensive information visualization framework, has a suite of 3D interaction widgets, supports parallel processing, and integrates with various databases on GUI toolkits such as Qt and Tk. VTK is cross-platform and runs on Linux, Windows, Mac and Unix platforms. In this work it is used for producing simply accessible output les, to be read inside VisIt for real-time processing and animations production. Computational algorithm The code is composed by a main le and a library, which collects functions and classes. This software makes use of object oriented programming: nodes and bonds are classes, the majority of functions are method of the classes themselves. A brief overview of the algorithm is following:

29

Start Read input parameters

Read input le

Create nodes

Create links

Peridynamic iterations no

Iterations performed? yes Stop Figura 3.1: Main program owchart

30

Velocity Verlet step 1 and 2

Stable time step calculation

Bond force update

Nodal force computation

Velocity Verlet step 3

Damping correction for velocities

Broken links dump

Output solution at current time step Figura 3.2: Peridynamic iterations owchart

31

3.1.1

Parallelization

A dynamical problem can involve a considerable amount of time-steps to nd the desired solution; numerical stability is a constraint that has to be considered as well. Moreover, regarding peridynamics, a large amount of nodes and especially of links between them raises the calculation power needed. This is someway similar to molecular dynamics, whether the above mentioned collocation method is used. The most simple plate fracture calculation with a medium quality mesh (i.e. spacing between the nodes) can take up to some hours, depending on the material properties. For industrially valuable simulation the number of nodes rises up of some order of magnitude, therefore large clusters of processors must be used. This implies a modication into the code, to exploit all the processors at the same time; two solutions (libraries) are available to solve this issue: OpenMP and MPI. MPI MPI is the acronym for Message Passing Interface: it is basically a communication protocol that supports point-to-point and collective communication. It is the standard for high performance computing. The basic concept is that every processor is a separate unit, and communicates with the other ones through messages; the balancing of this information exchange is fundamental for computational eciency, as transmission time is subtracted to the calculation one. For a meshless method, three approaches can be chosen (coming from molecular dynamics, which is computationally similar to the peridynamic method): node decomposition bond decomposition spatial decomposition In node decomposition algorithms, every processor is assigned a determined number of nodes, and calculates position, velocities and forces of those nodes only; in bond decomposition, the processors own a bond, instead of a node, and exchange information about the latters. Eventually, in spatial decomposition algorithms the domain is divided into a number of 3d boxes, and the communication is just about nodes in the boxes surroundings. 32

OpenMP OpenMP is the acronym for Open Multi-processing, and it is an application programming interface for shared memory applications. It does not involve communication between processors, as it is assumed that they share the memory on which they store the variables. Whenever a non-conceptually serial operation is performed, the processors access dierent zones of the memory itself and perform their calculations just on that limited domain; besides they act independently, the data are freely accessible to every processor, in every moment. An MPI-based software architecture (carefully coded) is the de-facto standard for high performance super computers; but during this work there was not enough power available to justify such an implementation. The hardware for all the computations was a simple dual-processor laptop for which the MPI implementation would not have caused a considerable decrease of running time; therefore, because of both its code-level simplicity and eciency for low number of processors platforms, OpenMP has been chosen. The speedup of the program is limited by the number of serial operations; in particular, the output writing phase is the performance limiter. If the output le is rarely produced (which is a software parameter), it is possible to observe both the processors working at 100%, i.e. the speedup tends to 2, which is the maximum available for a dual processors hardware.

3.2

Pre-processing

As described before, the solver needs a structured input le including node locations, initial velocity, external forces and particles mass; in a rst step, this was accomplished by a part of the solver itself for simple rectangular plate domains. As the purpose of the work widened to a general purpose simulation suite, this gross generator has been put aside by the integration of a number of tools able to treat any geometry, keeping open source software as driving philosophy. The pre-processing phase is described in gure 3.3: the geometry is created with Salomes geometry module and then meshed (again inside Salome) with the mesh module; this is a critical step, as the regularity of the mesh itself is a fundamental parameter of peridynamics numerical stability (one of the new research topics in this eld is indeed spacial discretization). The mesh is then exported in I-DEAS format (unv) to be processed by Impact: inside this powerful nite element software the mesh is cleaned by

33

Operation Geometry

Software

Salom` e Meshing UNV le Element deletion Impact Constraints, external loads and initial velocities

Final parsing

Python script

Figura 3.3: Pre-processing owchart

eliminating the elements, just keeping the nodes (the code is meshless); next step is to apply constraints, external loads and initial velocity to the nodes and exporting the created calculation domain. However, the Impact output le is not in the required format, therefore a last parsing phase (by python scripting) is necessary before launching a calculation on it. The following sections present a detailed description of the above mentioned tools.

3.2.1

Salome

Salome is an open source pre and post processing platform for numerical simulations, GNU LGPL licensed therefore freely downloadable from the website (www.salome-platform.org). The project was born from a joint venture of 9 dierent companies interested in a multi-purpose numerical platform: Open Cascade, CEA, EDF, EADS, Bureau Veritas, Principia, Cedrat, LIP6 and LEG. The software is being developed since years, as the current version (june 2010) is 5.1.4 and 34

the rst publicly available release (vers. 2.2.8) is dated july 2004. It runs on many dierent operative systems, from the native GNU/Linux environment (compiled versions for Mandriva and Debian distributions) to a brand new implementation on MS Windows. It is based upon Open Cascade libraries, and its code infrastructure is mainly C++ and python based; the main feature is just python scripting interaction: this allows a powerful parametric design and batch programming for more complex software chains. The architecture is made up of many modules: Kernel : distributed components management, study management, general services GUI : graphical user interface Geometry: create, edit, import/export CAD models Mesh : mesh a CAD model using a standard meshing algorithm or any external mesher (NETGEN, GHS3D, GHS3D parallel, BLSURF, Hexotic) Med : MED data les management Post-processor : dedicated viewer to analyze the results of solver computations (scalar, vectorial) Supervisor : an easy way to describe a computational schema involving multi-solver coupling. Note: this module is not supported since SALOME version 5.0. YACS : alternative supervision module (replaces Supervisor module in SALOME series 5x)

3.2.2

Impact

Impact is a nite element program for dynamic phenomena such as collisions, forming operations, chassis movements, etc. It was designed with the purpose to be a free and very simple alternative to commercial packages, being modular and supporting object programming. The current version is 0.7, therefore it is not a completely reliable tool still, but its preprocessor is very simple and eective and perfectly suites the need of manipulating the meshless mesh and applying loads, constraints and initial velocities using a graphical interface. 35

A perhaps strange choice is the language: despite it is not well considered for high-performance computing, the software is implemented in Java. This is quite unusual, as usually C++ and Fortran are used, but this option has been chosen for the sake of programming simplicity and portability of the code itself; moreover, there are some publications like [11] describing how java can also be a fast and reliable environment for nite element calculations. It is an explicit time stepping program, so it is best suited for dynamics rather than statics.

3.2.3

Python

Python is a high-level programming language created in 1991 by Guido van Russum; the current developer of the platform is the Python Software Foundation. As the other tools used for this thesis, it is open source software (Python license). Python can be used as an object-oriented language, or as a structured one; the most important feature is that it has almost innite bindings with external libraries, and covers a wide range of dierent applications. In this work, it has simply been used as ascii parser, for the manipulation of the output from Impact.

3.3

Post-processing

As previously mentioned, the solver outputs a certain amount of les, each one regarding a precise iteration time step; the availability of a bunch of output le formats aims to perform dierent tasks on the data. In fact, one needs to check the correctness of a running calculation as well as to publish clear and almost self-explanatory results. The former goal is achieved with VTK polidata les for visualization into VisIt or Paraview, the latter with geo les, which is the geometry input for GMSH. Both programs are to be described in the following sections.

3.3.1

VisIt

VisIt is an open source parallel visualization tool for scientic data. Its development began in the summer of 2010, by the Department of Energy (DOE) Advanced Simulation and Computing Initiative (ASCI) to visualize and analyze the results of terascale simulations. It is a professional software not only because of the quality of outputted plot, but for the ability of working with parallel data and across networks: 36

this is a very powerful feature, as it is possible for research teams spread all over the world to perform a remote visualization without the need of slow conversions and communications of massive data. In this thesis work it has been user for real time result visualization, to check the correctness of both code and input parameters; depending on the development step, it is so fast and well-conceived that it can save up to 50% of the debugging time.

3.3.2

GMSH

GMSH is a CAE (computer assisted engineering) platform based upon a exible library for code reusability; it is written in C++ and again open source licensed (GNU GPL - LGPL). Although it is a complete (but no-frills) engineering suite including a professional mesher, in this work it has just been used for visualization purposes: in fact, this is the only simple software able to export vector images, which guarantee the higher quality for typography.

37

Capitolo 4 State of the art


In this chapter an overview of the works that have been carried on in the previous years; since its creation, peridynamics has been growing in its theoretical foundations, peridynamic-based software programs and practical applications.

4.1
4.1.1

Software
LAMMPS

LAMMPS is an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. The current version of LAMMPS is 15 Jan 2010. It has potentials for soft materials (biomolecules, polymers) and solid-state materials (metals, semiconductors) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale. The software runs on single processors or in parallel using message-passing techniques and a spatial-decomposition of the simulation domain. The code is designed to be easy to modify or extend with new functionality. The code is distributed as an open source code under the terms of the GPL. The current version can be downloaded here. Links are also included to older F90/F77 versions. The last major release is also available on SourceForge. LAMMPS is distributed by Sandia National Laboratories, a US Department of Energy laboratory. Funding for LAMMPS development has come primarily from DOE (OASCR, OBER, ASCI, LDRD, Genomes-to-Life) and is acknowledged here. The LAMMPS WWW site is hosted by Sandia Laboratories.

38

General features: runs on a single processor or in parallel distributed-memory message-passing parallelism (MPI) spatial-decomposition of simulation domain for parallelism open-source distribution highly portable C++ optional libraries used: MPI and single-processor FFT easy to extend with new features and functionality runs from an input script syntax for dening and using variables and formulas syntax for looping over runs and breaking out of loops run one or multiple simulations simultaneously (in parallel) from one script Particle and model types: atoms coarse-grained particles (e.g. bead-spring polymers) united-atom polymers or organic molecules all-atom polymers, organic molecules, proteins, DNA metals granular materials coarse-grained mesoscale models extended spherical and ellipsoidal particles point dipolar particles rigid collections of particles hybrid combinations of these 39

Force elds pairwise potentials: Lennard-Jones, Buckingham, Morse, Yukawa, soft, class 2 (COMPASS), tabulated charged pairwise potentials: Coulombic, point-dipole manybody potentials: EAM, Finnis/Sinclair EAM, modied EAM (MEAM), Stillinger-Weber, Terso, AI-REBO, ReaxFF coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO mesoscopic potentials: granular, Peridynamics bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable) angle potentials: harmonic, CHARMM, cosine, cosine/squared, class 2 (COMPASS) dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS improper potentials: harmonic, cv, class 2 (COMPASS) polymer potentials: all-atom, united-atom, bead-spring, breakable water potentials: TIP3P, TIP4P, SPC implicit solvent potentials: hydrodynamic lubrication, Debye long-range Coulombics and dispersion: Ewald, PPPM (similar to particlemesh Ewald), Ewald/N for long-range Lennard-Jones force-eld compatibility with common CHARMM, AMBER, OPLS, GROMACS options handful of GPU-enabled pair styles hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation overlaid potentials: superposition of multiple pair potentials Atom creation: read in atom coords from les 40

create atoms on one or more lattices (e.g. grain boundaries) delete geometric or logical groups of atoms (e.g. voids) replicate existing atoms multiple times displace atoms Ensembles, constraints, and boundary conditions: 2d or 3d systems orthogonal or non-orthogonal (triclinic symmetry) simulation domains constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators thermostatting options for groups and geometric regions of atoms pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions simulation box deformation (tensile and shear) harmonic (umbrella) constraint forces rigid body constraints SHAKE bond and angle constraints bond breaking, formation, swapping walls of various kinds non-equilibrium molecular dynamics (NEMD) variety of additional boundary conditions and constraints Integrators: velocity-Verlet integrator Brownian dynamics rigid body integration energy minimization via conjugate gradient or steepest descent relaxation

41

rRESPA hierarchical timestepping Output: log le of thermodynamic info text dump les of atom coords, velocities, other per-atom quantities binary restart les per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) user-dened system-wide (log le) or per-atom (dump le) calculations spatial and time averaging of per-atom quantities time averaging of system-wide quantities atom snapshots in native, XYZ, XTC, DCD, CFG formats Pre- and post-processing : Various pre- and post-processing serial tools are packaged with LAMMPS separate toolkit called Pizza.py which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in Python and is available for download from the Pizza.py WWW site. Specialized features (these are LAMMPS capabilities which you may not think of as typical molecular dynamics options): real-time visualization and interactive MD atom-to-continuum coupling with nite elements coupled rigid body integration via the POEMS library parallel tempering parallel replica dynamics Direct Simulation Monte Carlo for low-density uids Peridynamics mesoscale modeling targeted and steered molecular dynamics two-temperature electron model 42

Implementation We now detail how Eq. 1.1 was implemented in LAMMPS. First, a set of consistent units suitable for macroscopic simulations was needed. LAMMPS allows the user to choose units convenient for their particular simulations, each of which is implemented as a handful of conversion factors. These are used when, for ex- ample, kinetic energy 1/2mv 2 is computed with velocities in Angstroms/fs and the result should be in Kcal/mole (for an atom- istic simulation). For peridynamic simulations, an SI option was added where energy = Joules, distance = meters, time = seconds, etc. LAMMPS operates in parallel in a spatial-decomposition mode, where each processor owns a sub-domain of the overall simulation box and the particles within the subdomain. To compute pairwise or bond forces, a processor communicates with its neighboring processors via distributed-memory message passing (MPI) to acquire information about nearby ghost particles owned by those processors. To improve the eciency of the computation of pairwise forces, LAMMPS uses Verlet neighbor lists that are recomputed every few timesteps via binning particles on a regu- lar grid and searching nearby bins to nd neighbors. These are also the timesteps on which particles migrate to new processors as needed. For peridynamic simulations, Verlet neighbor lists are used only when computing the family of short-range interacting particles, FiS . Each PD particle stores 4 quantities in addition to the usual coordinates, velocities, forces, etc. These are the critical strain s0 , the particle volume V , the particle density , and the initial position of the particle x0 . V is precomputed for each particle based on the initial problem geometry. These 4 quantities migrate with particles as they move from processor to processor. Additionally, the s0 value for each ghost particle is communicated every timestep, since it is a dynamic quantity and the breakage criterion for bond i , j depends on the s0 value of both particles. Similarly, the V value for ghost particles is needed to scale the bond force between particles i , j. Since V is a static quantity, it is only communicated on timesteps when reneighboring is done. The short-range term is conceptually identical to standard short-range pair potential computations within an molecular dynamics code. In LAMMPS a half neighbor list is used to eciently nd neighboring particles within a distance d S on a given timestep. By half we mean that any interacting pair i , j is only stored once in the list, either by particle i or by particle j. The forces on particles i , j are computed for each pair in the list. At the end of the force computation, forces on ghost particles are communicated back to the owning processor. 43

Computation of the bond term requires knowledge of which bonds are already broken. Thus each particle stores a list of its bond partners, denoted by Fi, and ags them as they break. For each partner, the initial bond distance xj xi is also stored, since it is used to calculate bond strength. The bond family of particles Fi for each particle is computed only once, on the rst timestep of the simulation, based on the initial undeformed state of the material. The union of Fi over all particles is eectively a full neighbor list where the geometric neighbors of particle i within a cuto distance are stored. By full we mean the interacting pair i , j is stored twice, once by particle i and once by particle j. With this information, the bond term can be computed by looping over the particles in Fi for each particle i. The bond is skipped if it previously broken. If both particles i , j are owned by the processor, the bond is also skipped if i j, taking advantage of Newtons 3rd law. For active bonds, the bond is agged as broken if the bond strain s(t, , ) exceeds the current strain criterion s0 for either particle i or j. While bond forces are computed, a new strain criterion s0 is also calculated, which will be used to break bonds on the next timestep. Note that the min operation implies a loop over all bonds of particle i. As each bond is calculated, the contribution to the new s0 of both the i and j particles is accumulated. Thus at the end of the bond loop, each particle has a new s0 , valid for the next timestep. Since the bond partner list stores all bonds for each particle owned by a processor, no extra communication is necessary to generate s0 , e.g., due to bonds with ghost particles. The bond partner list is another particle property that must migrate with particles as they move to new processors. This is done by packing and unpacking the Fi set of bond neighbors and distances into a message-passing buer each time a particle migrates. During this operation, broken bonds are pruned from the list, so that a minimal amount of information is communicated. Once the short-range and bond terms have been computed, a nal scaling by the volume V i of each particle is applied. This results in an eective force on each particle that can be used by a standard MD time integrator (velocity Verlet in the case of LAMMPS) in the usual way to update particle velocities and coordinates. For PD models we use a constant NVE integrator. Thermostatting is not used, since temperature is an ill-dened quantity for macroscopic PD particles. The pressure due to PD interactions can be computed via the virial in the usual MD manner, except that the kinetic energy term contributing to the pressure is ignored. Alternatively, a precise notion of PD stress has been for- mulated and may be used.

44

4.1.2

EMU

Emu is the rst code based on the peridynamic theory of solid mechanics. It is currently in the research and development stage and is being licensed to a few alpha users, and there has never been any information about a public release of the code, both from a source and binary side. It is therefore impossible to describe the software itself; by the way, a qualitative comparison can be performed against its published results.

45

4.2

Simulations

Peridynamics has been previously applied to a bunch of problems: some of them, taken from [8], are below reported:

4.2.1

Perforation of ductile targets

4.2.2

Perforation of reinforced concrete

46

4.2.3

Perforation of a fabric

4.2.4

Ball explosion

47

4.2.5

Time rate inuence

48

Capitolo 5 Simulations
5.1 Membrane

The rst performed simulation is an obscillating membrane: every one of its 4 sides is constrained, and the center of the dominium is assigned an initial velocity to produce oscillations. The rst gures describe the behaviour of the numerical method, showing the time step values and the number of times the cycle has been repeated internally before proceeding. The last ones describe the actual response of the structure, with the oscillations and damping that brings the dominium back to its rest position.

Figura 5.1: Model with constraints and initial conditions

49

(a)

(b)

Figura 5.2: x = 0.5

50

(a)

(b)

Figura 5.3: x = 0.5

51

(a)

(b)

Figura 5.4: x = 0.5

52

(a)

(b)

Figura 5.5: x = 0.5

53

(a)

(b)

Figura 5.6: x = 2

54

(a)

(b)

Figura 5.7: x = 2

55

(a)

(b)

Figura 5.8: x = 2

56

(a)

(b)

Figura 5.9: x = 2

57

(a)

(b)

(c)

58

(d)

(e)

(f)

59

(g)

(h)

(i)

60

5.2

Plate with hole

A plate with hole is launched to show how does peridynamic deal with fracture; the response is the one expected, conrming the value of the method. There is no simmetry in the response, as we would expect, just because the mesher did not place the nodes symmetrically.

Figura 5.10: Model with constraints and initial conditions

61

(a)

(b)

(c)

62

(d)

(e)

(f)

63

(g)

(h)

(i)

64

(j)

(k)

(l)

65

5.3

Traction test

A traction test is here described. The method is again demonstrated to be stable, but we especially get the fundamental result of the crack path, which is perfectly coherent with brittle fracture theory. Peridynamics is then a proven method for fracture mechanics.

Figura 5.11: Model with constraints and initial conditions

66

(a)

(b)

(c)

(d)

67

(e)

(f)

(g)

(h)

68

5.4

Impact

An overview of peridynamics impact calculations capabilities is here presented. This test case is heavily dierent from the previous ones, as it involves repulsion forces. This implies not only the development of a specic force model, but especially a new proximity check When dealing with contact, the starting posi . tions are not taken into account anymore, and every particle could interact with each other at every time step. This must be checked, and short range forces should be created throughout all the calculation process. Besides the correctness of the concept, this is computationally unacceptable: the new forces are calculated whenever the previously dened error K passes a dened threshold, giving the information that particles are moving enough to create the opportunity of a contact. This is a good power-saving idea, but the check is computationally expensive even in this latter case, so a simple two dimensional calculation has been performed.

69

(i)

(j)

(k)

70

(l)

(m)

(n)

71

(o)

(p)

(q)

72

Capitolo 6 Conclusions
The brand new peridynamic method for continuum mechanics has been theoretically analyzed and implemented from scratch in a c++ code. This bond-based software had to lead with stability problems, and computational ineciencies due to the linearized model which was used to determine the integration time step size. A modied numerical method has been introduced to x this issue: it carries on the explicit integration, but for each time step it gives a t which is the best to avoid instability and to have computational eciency as well. This is performed by an implicit integration within the explicit time-step. The stable code has subsequently been used to test peridynamic capabilities of dealing with dynamic phenomena like cracks and impacts: although only simple calculations have been carried on, due to the low available computational power, qualitative results conrm that this approach is both powerful and eective.

73

Bibliograa
[1] Stewart A. Silling, Reformulation of elasticity theory for discontinuities and long-range forces, Journal of the Mechanics and Physics of Solids 48 (2000) 175-h209 [2] Michael L. Parks, Richard B. Lehoucq , Steven J. Plimptonb, Stewart A. Silling Implementing peridynamics within a molecular dynamics code, Computer Physics Communications 179 (2008) 777783 [3] R.B. Lehoucq, S.A. Silling, Force ux and the peridynamic stress tensor, Journal of the Mechanics and Physics of Solids 56 (2008) 15661577 [4] Paul Demmie and S.A. Silling, An approach to modeling extreme loading of structures using peridynamics, Journal of mechanics of materials and structures, Vol.2 No.10, 2007 [5] S.A. Silling and E. Askari, A meshfree method based on the peridynamic model of solid mechanics, Comput. Struct. 83 (2005) 1526-1535 [6] Stewart Silling, Peridynamic states, Minisymposium on multiscale material modeling with peridynamics (presentation) [7] Markus Zimmermann, A continuum theory with long-range forces for solids, phd thesis at MIT, Department of Mechanical engineering (2005) [8] Stewart Silling, Peridynamic Modeling of the Failure of Heterogeneous Solids ARO Workshop on Analysis and Design of New Engineered Materials and Systems with Applications [9] T.I. Zohdi, A computational framework for network modeling of brous biological tissue deformation and rupture, Comput. Methods Appl. Mech. Engrg. 196 (2007) 29722980

74

[10] C. Geuzaine and J.-F. Remacle, Gmsh: a three-dimensional nite element mesh generator with built-in pre- and post-processing facilities, International Journal for Numerical Methods in Engineering, Volume 79, Issue 11, pages 1309-1331, 2009. [11] G.P.Nikishkov, Programming Finite Elements in Java, Springer, 2010, 402 pp. [12] S. J. Plimpton, Fast Parallel Algorithms for Short-Range Molecular Dynamics, J Comp Phys, 117, 1-19 (1995)

75

Potrebbero piacerti anche