peridynamics - mixed explicit implicit method

77
POLITECNICO DI TORINO I Facolt` a di Ingegneria 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

Upload: mpolleschi

Post on 14-Oct-2014

357 views

Category:

Documents


6 download

DESCRIPTION

Stabilization in time of the peridynamic method. (Summary in italian, thesis in english)

TRANSCRIPT

Page 1: Peridynamics - mixed explicit implicit method

POLITECNICO DI TORINO

I Facolta di IngegneriaCorso di Laurea in Ingegneria Aerospaziale

Tesi di Laurea Magistrale

Stability and applications of theperidynamic method

Relatori:Prof. Marco Di SciuvaProf. Paolo Maggiore

Candidato:Matteo Polleschi

Luglio 2010

Page 2: Peridynamics - mixed explicit implicit method

Ringraziamenti

Il mio ringraziamento va ai miei relatori, al Professor David Steigmann dell’Univer-sita di Berkeley che mi ha accolto nel mio periodo statunitense, ai miei compagni inquesta lunga avventura e tutti coloro che mi sono vicini, fisicamente e con lo spirito,nonostante la mia anima bipolide e cosmopolita.

1

Page 3: Peridynamics - mixed explicit implicit method

Sommario

La meccanica strutturale e portata ad affrontare con modelli numerici sem-pre piu affidabili la realta che ci circonda; dai primi modelli agli elementifiniti, limitati dalla scarsa potenza computazionale a disposizione, si e pas-sati a modelli estremamente accurati in grado, con indicazioni certificate, disostituire la validazione sperimentale delle strutture aeronautiche e spaziali.

Si va quindi dai calcoli statici a quelli dinamici e di buckling; una bran-ca da non sottovalutare sia per scopi di sicurezza che di ottimizzazione diprestazioni, materiali e processi di produzione e quella della meccanica dellafrattura e dell’impatto. Questi casi sono piu complessi da trattare in quanto,in seguito all’evento dinamico posto in essere, si creano delle discontinuitanel materiale; essendo le equazioni della meccanica classica basate su derivatespaziali, in presenza delle suddette discontinuita queste grandezze non sonopiu calcolabili dando origine a delle singolarita. Per ovviare a questo esisto-no vari metodi, dall’affinare la mesh dove il materiale diventa discontinuoall’introdurre delle ipotesi sul comportamento della frattura.

Esiste un modello di meccanica del continuo che ovvia a queste limita-zioni, in quanto si basa su equazioni integro-differenziali che non vanno acoinvolgere nessuna derivata spaziale, utilizzando invece gli integrali, che so-no in grado di trattare anche questo tipo di problema. Questa teoria si basasu degli studi sul comportamento dei cristalli di Rogula e Kunin (intorno al1982), poi ripresi e rielaborati dal fisico statunitense Stewart Silling nella suapubblicazione [1], e prende il nome dalle due parole greche perÐ e dÔnamic, cioe“forza dell’intorno”; e un argomento di ricerca molto recente, ma ha tutte lepotenzialita per essere utilizzato in larga scala.

Il lavoro principale svolto per questa tesi e consistito nella stesura di uncodice c++ in grado di risolvere problemi di frattura ed impatto, imple-mentando un algoritmo di integrazione misto esplicito-implicito per ottenerela stabilita numerica (che affligge il modello da una parte in quanto rischiadi far “esplodere ”il calcolo, dall’altra perche prendendo troppo margine sirallenta il calcolo stesso); successivamente, lo si e applicato ad alcuni casisemplici a sufficienza per essere lanciati senza avere a disposizione un hard-

1

Page 4: Peridynamics - mixed explicit implicit method

ware particolarmente performante, ma significativi per dimostrare che questometodo e in grado di descrivere la propagazione delle cricche senza alcunaipotesi aggiuntiva, come diretta conseguenza di geometrie, materiali, carichie condizioni al contorno.

Segue un riassunto dei vari capitoli.

Capitolo 1: fondamenti teorici L’equazione del moto del modello peri-dinamico e:

ρ(x)u(x, t) =

∫R

f(u(x′, t)− u(x, t),x′ − x)dVx′ + b(x, t) (1)

dove le variabili hanno il significato di1:

• ρ(x): densita in x

• x e x′: punti (particelle) nella configurazione di riferimento

• u: vettore spostamento

• f : pairwise force function

• b: campo di forze esterno

Questa equazione e una forma della seconda legge di Newton. Come si puonotare, l’equazione e integro-differenziale, e la differenziazione e effettuatanel tempo, dunque non vi e la presenza delle derivate spaziali che causanoproblemi sulle discontinuita.

Si introduce il vettore posizione relativa ξ

ξ = x′ − x

e il vettore spostamento relativo η

η = u(x′, t)− u(x, t) = u′ − u

La quantita η + ξ descrive quindi la posizione relativa attuale tra le dueparticelle.

Nella formulazione piu generale, l’integrazione e effettuata su tutto il cor-po. Tuttavia e conveniente definire come in figura [1] una regione all’internodel dominio delimitata da un raggio δ tale che:

if ‖ξ‖ ⇒ δ =⇒ f(η, ξ) = 0 ∀η (2)

1I vettori sono indicati in grassetto

2

Page 5: Peridynamics - mixed explicit implicit method

R

δ

f

x

x'

Figura 1: Dominio ed orizzonte

Questa quantita e chiamata orizzonte, a ricordare che e la regione al-l’interno della quale la particella “vede”altre particelle esercitare una forzasu di essa. Per quanto riguarda il valore di δ, e prassi utilizzare un valoreche e tre volte la spaziatura tra i nodi in cui viene discretizzato il dominio.Se si utilizza un valore inferiore, le fratture tendono a seguire un percorsoinnaturale, lungo le righe o colonne della mesh; al contrario, se si utilizzaun orizzonte troppo ampio, non solo si appesantisce molto il calcolo, ma sicausa un’eccessiva dispersione ondosa ed il solido inizia a comportarsi comeun fluido.

Il modello peridinamico e non locale, nel senso che le particelle intera-giscono a distanza finita, come nella dinamica molecolare. Esistono molteteorie di dinamica molecolare, ma questa e l’unica ad eliminare le derivatespaziali.

In questa tesi si e utilizzato l’approccio basato sui collegamenti particella-particella, che ha alcune limitazioni (come il non poter utilizzare modelli co-stitutivi dalla teoria classica ed essere limitato a materiali con coefficiente diPoisson ν = 0.25): per risolvere queste limitazioni e stato creato il modellodei Peridynamic States, che permette il collegamento della densita di energiadi deformazione con il cambiamento di volume locale, e non solo l’interazionetra due sole particelle. Le proprieta di legame non dipendono solo dall’al-lungamento del legame stesso, ma anche dagli allungamenti di tutti gli altrilegami connessi alla particella che si sta considerando; questo permette didefinire modelli costitutivi piu generali.

Il termine di forza nell’equazione 1 e un funzionale che dipende dallafunzione vettoriale f , chiamata la pairwise force function (PFF). Essa fornisce

3

Page 6: Peridynamics - mixed explicit implicit method

la forza per unita di volume al quadrato dovuta ad una particella x′ su unaparticella x. Nella meccanica del continuo classica questo funzionale e ladivergenza del tensore di stress.

Le proprieta del materiale ed il suo comportamento sono descritte dallaPFF.

Con una serie di considerazioni basate sull’equilibrio e della conservazionedella quantita di moto e del momento angolare, si ottiene che la forza tradue particelle dipende solo dalla loro posizione relativa attuale, e che f e unafunzione dispari.

L’allungamento di un legame e dato da:

s =|η + ξ| − |ξ|

|ξ|=y − |ξ||ξ|

(3)

dove y = |η + ξ| e il modulo del vettore posizione relativa attuale.Si possono caratterizzare un gran numero di materiali in funzione dell’al-

lungamento; in questo lavoro si e scelto un materiale proporzionale (lineare),che abbia un comportamento di questo tipo:

f ∝ cs (4)

dove c e una costante elastica che dipende dal bulk modulus K (caratteristicamacroscopica del materiale) secondo la formula:

c =18K

πδ4(5)

Il danneggiamento del materiale e introdotto a livello di legame: se l’allunga-mento supera una certa soglia, il legame si rompe e non restituisce piu alcunaforza. Anche il massimo allungamento del legame si puo legare a parametrimacroscopici:

s0 =

√5G0

9Eδ(6)

Entrambe queste definizioni derivano dal lavoro [5] di Silling ed Askari.La teoria della peridinamica non considera, nella sua formulazione di base,

forze tra particelle che all’inizio del calcolo erano piu lontani dell’orizzonte;questo impedirebbe la trattazione dell’impatto (se non sotto certe ipotesilimitative, assegnando una forte velocita iniziale alla parte impattata). Perovviare a questo problema sono state introdotte delle forze a corto raggio,di natura esclusivamente repulsiva (e ancora una volta dirette secondo lacongiungente delle particelle), la cui intensita e data da

fs = min

{0, cs

(|y′ − y|

2rs

− 1

)}(7)

4

Page 7: Peridynamics - mixed explicit implicit method

dove y = x + u e y′ = x′ + u′ sono le posizioni correnti di x ed x′, cs ers costanti positive. Le forze repulsive compaiono quando le particelle sonopiu vicine di 2rs, che e chiamato il raggio del nodo. Di solito si assume checs = 15c.

Capitolo 2: metodo numerico Il dominio e suddiviso in nodi equispa-ziati, e nell’equazione del moto l’integrale diventa una somma finita:

ρuni =

∑p

f(unp − un

i ,xp − xi)Vp + bni (8)

essendoun

i = u(xi, tn) (9)

Vp e il volume del nodo p, che per una griglia di calcolo uniforme e semplice-mente pari a x3 . La somma e effettuata su tutti i nodi p tali che |xp−xi| < δ.L’equazione del moto discretizzata e facile da implementare, anche nella suaforma non lineare.

In ogni caso, la versione linearizzata diventa:

ρuni =

∑p

C(unp − un

i )(xp − xi)Vp + bni (10)

e per il termine d’accelerazione si utilizzano le differenze finite centrate

ρuni =

un+1i − 2un

i + un−1i

∆t2(11)

L’analisi di stabilita di von Neumann porta al requisito per il passo diintegrazione di

∆t <

√2ρ∑

p Vp|C(xp − xi)|(12)

Questo requisito, pero, da una parte puo non essere valido per prolemi chesi discostino dalla linearita, e dall’altra porta ad un calcolo che non e com-pletamente efficiente: il passo di integrazione non risulta essere ottimizzato,e si va a sprecare del tempo durante il calcolo.

Per questo motivo, si e introdotto un metodo che permetta di valutare“in itinere”la bonta del passo di integrazione; questo si basa su una valuta-zione dell’errore che e fondata sul moto delle particelle, o meglio sulla loroposizione: la nuova posizione calcolata non puo discostarsi esageratamenteda quella precedente (ragionando sulla somma dei valori assoluti degli spo-stamenti). In questo modo le posizioni dei nodi tendono a variare in manieragraduale, evitando le “esplosioni”tipiche degli errori numerici.

5

Page 8: Peridynamics - mixed explicit implicit method

Alla base della correttezza dell’analisi numerica che si va a sviluppare c’ecomunque la precisione di macchina, storicamente indicata come ε: essa edefinita come il piu piccolo numero tale che la differenza tra 1 e 1 + ε e nonnulla. Quando si ha a che fare con numeri troppo piccoli, vicini alla precisionedi macchina, si presenta un alto rischio di errore numerico, che porta ad avereerrori nel computo delle forze anche di diversi ordini di grandezza, fornendouna soluzione con forze “numeriche”molto intense e che non sono equilibrate.Questo e dovuto al calcolo dell’allungamento, per il quale spesso la differenzatra valori cosı piccoli dall’essere vicini all’ε e la criticita principale.

Per ovviare a questi problemi, bisogna controllare tutti i valori che po-trebbero avvicinarsi troppo alla precisione di macchina e, nel caso questo siverifichi, portarli ad annullamento.

Ritornando al metodo numerico, l’approccio utilizzato in questo lavoro siispira al lavoro del Professor Zohdi dell’Universita della California, Berkeley;la sua prima formulazione e stata sviluppata per la soluzione di problemimulticampo termochimici.

Il metodo che ne risulta e misto esplicito-implicito: l’integrazione proce-de esplicita attraverso i passi temporali, ma ad ogni passo d’integrazione siattiva un ciclo implicito che ha il compito di verificare se il passo d’integra-zione stesso sia quello ottimale per rimanere nei limiti della stabilita, ma nonperdendo in efficienza computazionale.

A tal proposito, si utilizzano le seguenti quantita:

ωKdef=

∑Ni=1 ||ui

n+1,K − uin+1,K−1||∑N

i=1 ||uin+1,K − ui

n||(13)

che e l’errore normalizzato, ed inoltre:

ZKdef=

ωK

TOL(14)

ΦKdef=

(TOL

ω0

) 1

pKd

(ωK

ω0

) 1

pK

(15)

L’algoritmo utilizzato consiste in questa sequenza di operazioni:

• per tutti gli N nodi,

6

Page 9: Peridynamics - mixed explicit implicit method

– calcolare la nuova posizione come uin+1,K ≈ ∆t2

mi

f(uin+1,K−1) +

∆tuni + un

i

– calcolare le nuove forze (del ciclo interno, da memorizzare in va-riabili temporanee separate)

• calcolare gli errori definiti precedentemente

• se la tolleranza e rispettata (ZK ≤ 1) e (K < Kd), allora

– incrementare il tempo t = t+∆t e ripartire con la prima istruzione

– costruire un nuovo time step ∆t = ΦK∆t

• se la tolleranza non e rispettata (ZK > 1) e K = Kd allora

– costruire un nuovo time step ∆t = ΦK∆t

– ricominciare il calcolo dal tempo t

Il metodo e quindi caratterizzato dai parametri TOL, Kd e p. Valori tipicisono di TOL = 0.001, Kd = 20 e p = 3, ma, come si potra notare nei calcolipresentati, nel caso della peridinamica questi valori possono essere diversi.

In sostanza, il metodo controlla quanto i nodi (particelle) si muovono:se la differenza tra due istanti successivi soddisfa la tolleranza, l’intervallotemporale viene aumentato per migliorare l’efficienza; se invece si e fuoritolleranza, il ∆t viene ridotto per soddisfare la stabilita.

Capitolo 3: descrizione dell’architettura software L’obiettivo di que-sta tesi e lo sviluppo di un codice peridinamico stabile, ma per ottenere unostrumento flessibile e riutilizzabile e necessario considerare tutte e tre le fasidell’analisi: pre-processamento, soluzione e post-processamento. Da un pun-to di vista operativo, si e realizzata ed integrata una piattaforma softwarein grado di svolgere tutte e tre queste mansioni, completando il solutorein c++ con altri software/linguaggi di scripting preesistenti e basati sullafilosofia open source.

L’obiettivo finale, da un punto di vista software, e la creazione di unasuite integrata per il calcolo peridinamico che sia in grado di affrontare la piugrande varieta possibile di geometrie e materiali, fornendo risultati di comodainterpretazione. Questo e stato sviluppato mediante le varie componenti cheandiamo ad elencare.

7

Page 10: Peridynamics - mixed explicit implicit method

Pre-processamento La geometria viene generata con il componenteCAD della suite open source Salome; la griglia di calcolo viene creata ba-sandosi su questa geometria, grazie al meshatore ancora incluso in Salome.Questo passo e necessario per ottenere una nuvola di nodi che vada a discre-tizzare il continuo, ma nella struttura di file che viene prodotta come outpute presente anche la definizione degli elementi.

A tal proposito si utilizza Impact, un software libero per calcolo espli-cito di simulazioni dinamiche; non essendo interessati alle sue capacita diprocessamento, si sfrutta la sua comoda interfaccia grafica per eliminare isuddetti elementi, lasciando solamente i nodi, necessari al calcolo peridina-mico. Sempre in questo ambiente si applicano i carichi, si assegnano i vincolie le velocita iniziali.

Un ultimo passo viene svolto per rendere il file di output di Impact leggi-bile dal solutore: e questa l’ultima fase, detta di parsing, in cui viene prodottoil file con la struttura utilizzata in input dal codice c++.

Analizzando le varie fasi, si intuisce come sia possibile trattare un numerovirtualmente infinito di geometrie, grazie alla combinazione cad-meshatore;particolare attenzione va posta nel cercare di ottenere una mesh equispaziata,in quanto l’irregolarita della griglia porta ad instabilita piu o meno accen-tuate. E’ questo uno dei filoni di ricerca immediati in campo peridinamico.

Soluzione Il cuore della tesi e lo sviluppo del solutore, che implementail metodo esplicito-implicito, il parsing dell’input e la produzione dei risultati.Il codice e scritto in c++, linguaggio creato da Bjarne Stroustrup ai Bell Labsnel 1983; la scelta e basata sia sulla sua diffusione nel calcolo scientifico graziealle alte performance, ma anche per la sua versatilita.

Esso implementa due librerie: Armadillo per l’algebra lineare (sviluppatain un centro di ricerca australiano, e dotata di licenza open source GNU LG-PL), e VTK per la parte grafica (sviluppata da Kitware e fornita con licenzaopen source). Entrambe sono multipiattaforma, e non utilizzando il codice li-brerie specifiche di sistema operativo e dunque portabile. Lo sviluppo e statocomunque effettuato su piattaforma GNU/Linux (Ubuntu e Mandriva).

La struttura del codice e prevalentemente basata sulla programmazionead oggetti, infatti nodi e bonds sono sviluppati come classi con propri metodi;l’algoritmo e schematizzato nelle figure 2 e 3.

8

Page 11: Peridynamics - mixed explicit implicit method

Read input parameters

Read input file

Create nodes

Start

Stop

Iterationsperformed?

Create links

Peridynamiciterations

yes

no

Figura 2: Diagramma di flusso del programma principale

9

Page 12: Peridynamics - mixed explicit implicit method

Velocity Verletstep 1 and 2

Stable time stepcalculation

Bond force update

Nodal forcecomputation

Velocity Verletstep 3

Damping correctionfor velocities

Broken linksdump

Output solutionat current time step

Figura 3: Diagramma di flusso delle iterazioni

10

Page 13: Peridynamics - mixed explicit implicit method

Post-processamento Per consentire sia un’analisi in tempo reale delcalcolo che sta avvenendo, sia la possibilita di produrre report, il solutoreproduce due tipi di file diversi. Il primo tipo sfrutta le librerie VTK imple-mentate per fornire un file nel formato VTK polydata, da aprire all’interno disoftware per post-processamento con VisIt o Paraview. Questo permette diverificare, durante l’esecuzione di un calcolo, che l’esito vada come previsto,confermando le condizioni iniziali ed al contorno.

L’altro output prodotto e un file geometria per GMSH, un meshatoreopen source con capacita di pratica visualizzazione e produzione immagini(anche vettoriali).

La frequenza con cui viene prodotto l’output e un parametro di lanciodel calcolo, in quanto inficia le prestazioni in maniera non trascurabile (siaper via del tempo di scrittura, sia perche in quel momento non si possonoutilizzare le capacita di calcolo parallelo).

Capitolo 4: stato dell’arte In questo capitolo viene descritto brevemen-te qual e lo stato dell’arte della ricerca sulla fluidodinamica, in particolarequali software sono stati sviluppati e su che cosa si basano. Successivamentevengono presentati alcuni risultati ottenuti in altre pubblicazioni, che confer-mano ed affiancano il lavoro svolto in questa tesi: sono calcoli di fratture eimpatti svolti su piattaforme hardware di potenza rilevante e quindi in gradodi trattare un alto numero di nodi, che mostrano come la peridinamica siain grado di modellare tali problemi in maniera affidabile. I due program-mi attualmente esistenti sono due: EMU e LAMMPS. Per quanto riguardail primo, si fonda sulla bond-based versione della peridinamica (quindi nonutilizza i peridynamic states) ma non e liberamente accessibile: solo un li-mitato numero di utenti e centri di ricerca degli Stati Uniti ne e in possesso,e dunque si puo solamente verificare attraverso le pubblicazioni per le qualiviene utilizzato. LAMMPS invece e un software molto ampio di dinamicamolecolare, liberamente accessibile (fornito dai Sandia Labs), all’interno delquale vi e un modulo dedicato alla peridinamica. La sua esecuzione ha tempidi calcolo estremamente ottimizzati, ma ha la limitazione di poter descriveresoltanto geometrie semplici.

Con entrambi i software, comunque, sono state effettuate simulazioniche mostrano un perfetto accordo con la realta che scaturisce esclusivamen-te da vantaggi del metodo, senza bisogno di ulteriori affinamenti o post-processamenti.

Capitolo 5 e 6: simulazioni e conclusioni Nell’ultima parte di que-sto scritto sono presentati i risultati delle simulazioni. Va detto che si e

11

Page 14: Peridynamics - mixed explicit implicit method

reso necessario affrontare casi relativamente semplici, limitando il numerodei nodi per via del fatto che l’architettura hardware a disposizione (laptopbiprocessore) non era sufficiente per modelli di piu larga scala (basti pensareche le pubblicazioni sugli stessi argomenti riportano calcoli fatti su cluster disupercomputer), tuttavia i risultati ottenuti sono in ogni caso apprezzabili.

L’obiettivo di rendere il metodo stabile e di verificare le potenzialita dellaperidinamica di cogliere fenomeni dinamici come la frattura senza ulterioriipotesi aggiuntive puo dirsi certamente raggiunto: in ogni calcolo che si va alanciare, qualsiasi sia il time step da cui si parte, questo si assesta immedia-tamente al valore che soddisfa la stabilita, andando a raffinare ed ottimizzareimmediatamente dopo. L’effetto del metodo si puo conferare visivamente os-servando le simulazioni della membrana oscillante: per via della dissipazioneintrodotta, questa ritorna nella posizione iniziale di equilibrio senza denotareproblemi numerici.

Inoltre, si puo notare come l’evoluzione della frattura fragile (conse-guenza del modello di materiale implementato) sia ben descritta dall’evol-vere del calcolo: sia nel caso della piastra forata che del provino, infatti,il comportamento descritto e quello che corrisponde alla teoria ed ai casisperimentali.

Anche l’impatto e un campo promettente, sebbene sia computazionalmen-te ancor piu dispendioso: infatti, in questo caso, compaiono anche le forzea corto raggio che dipendono dalla posizione corrente di tutte le particelle,aspetto che implica il ricalcolo delle vicinanze di ogni nodo della griglia conuna certa frequenza.

12

Page 15: Peridynamics - mixed explicit implicit method

Indice

1 Peridynamic theory 161.1 Equation of motion . . . . . . . . . . . . . . . . . . . . . . . . 16

1.1.1 Pairwise force function . . . . . . . . . . . . . . . . . . 181.1.2 Damage . . . . . . . . . . . . . . . . . . . . . . . . . . 211.1.3 Short range forces . . . . . . . . . . . . . . . . . . . . . 211.1.4 Peridynamic states . . . . . . . . . . . . . . . . . . . . 22

2 Numerical method 242.1 Direct numerical method . . . . . . . . . . . . . . . . . . . . . 242.2 Time-adaptive method . . . . . . . . . . . . . . . . . . . . . . 25

3 Computational code 283.1 Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1.1 Parallelization . . . . . . . . . . . . . . . . . . . . . . . 323.2 Pre-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.1 Salome . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.2 Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.3 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 Post-processing . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.1 VisIt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.2 GMSH . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4 State of the art 384.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1.1 LAMMPS . . . . . . . . . . . . . . . . . . . . . . . . . 384.1.2 EMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.2 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2.1 Perforation of ductile targets . . . . . . . . . . . . . . . 454.2.2 Perforation of reinforced concrete . . . . . . . . . . . . 454.2.3 Perforation of a fabric . . . . . . . . . . . . . . . . . . 464.2.4 Ball explosion . . . . . . . . . . . . . . . . . . . . . . . 46

13

Page 16: Peridynamics - mixed explicit implicit method

4.2.5 Time rate influence . . . . . . . . . . . . . . . . . . . . 47

5 Simulations 485.1 Membrane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.2 Plate with hole . . . . . . . . . . . . . . . . . . . . . . . . . . 605.3 Traction test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.4 Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6 Conclusions 72

Bibliografia 73

14

Page 17: Peridynamics - mixed explicit implicit method

Introduction

Structural mechanics has often to deal with discontinuities, such as cracksand interfaces’ delamination.

The classical models are mainly based upon equations, like equilibriumones, involving partial derivatives with respect to the spatial coordinates;consequently, they’re not suitable to describe discontinuities, wherein deri-vatives are not defined. Currently used solution methods require knowledgeof the crack path, to redefine the mesh alongside. This is obviously not themost general approach.

A revolutionary approach was proposed by Stewart Silling in 1998 [1],with a brand new theory called Peridynamics. The name comes from twogreek words, perÐ and dÔnamic, meaning “force of the surroundings”, fromthe kind of particles’ interaction. The funding aspect of his theory is thatthe model is based upon integral equations, which can be directly applied onevery kind of calculation dominium.

The core work of this thesis is the implementation of a time-adaptiveperidynamic solver using c++ programing language, applying it to simplebut relevant cases to test its stability and precision. In the next chaptersan overview of the method will be presented, along with calculations’ resultsand evaluation of industrial applicability.

15

Page 18: Peridynamics - mixed explicit implicit method

Capitolo 1

Peridynamic theory

1.1 Equation of motion

Considering a body occupying a domain R, the equation of motion for everyparticle (at point x in the reference configuration and time t) inside thedomain is given by:

ρ(x)u(x, t) =

∫R

f(u(x′, t)− u(x, t),x′ − x)dVx′ + b(x, t) (1.1)

where the symbols define1

• ρ(x): density at x

• x and x′: points in the reference configuration

• u: displacement vector

• f : pairwise force function

• b: body force density field

This is the fundamental integro-differential equation of peridynamic theo-ry, based on Newton’s second law. It involves an integral part and a diffe-rentiation w.r.t. time, thus avoiding spacial derivatives.

It is convenient to introduce the relative position vector ξ

ξ = x′ − x

and the relative displacement vector η

1All vector quantities throughout this work are in bold

16

Page 19: Peridynamics - mixed explicit implicit method

R

δ

f

x

x'

Figura 1.1: Domain and horizon

η = u(x′, t)− u(x, t) = u′ − u

The quantity η+ξ is therefore the current relative position vector betweentwo particles.

As shown in figure 1.1, it is convenient to define a region inside thedomain, 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; different valuesare to avoid. Whether an horizon comparable to the grid spacing is used,cracks follow unnatural paths (along rows or columns of the mesh), and asmaller timestep is needed; conversely, if a larger one is used, besides longercomputation time, there will be an eccessive wave dispersion and the solidwill behave like a fluid.

The peridynamic method for continuum mechanics is nonlocal, as parti-cles interact at a finite distance with each other, like in molecular dynamics.This is not the only nonlocal theory, but it is the only one eliminating spatialderivatives within its formulation.

A particular attention must be put when chosing the peridynamic ap-proach to use: this work is based upon the “bond approach ”, which has thefollowing limitations (as stated in ref. [8]):

• can not directly use a constitutive model from standard theory

17

Page 20: Peridynamics - mixed explicit implicit method

Ru u'

xx'

ξ+η

ξ

Figura 1.2: Variables

• assumes bonds act indipendently of each other, implying only a poissoncoefficient ν = 0.25 can be used

• can have permanent deformation of bonds, but can’t enforce plasticincompressibility

• can model discrete particles, but only using two-body potentials

For getting over these contraindications, a new approach has been de-veloped: peridynamics states. This field of research is however not part ofthis thesis, while could be an interesting evolution for the application of thenumerical stability method.

1.1.1 Pairwise force function

The specific force term in equation 1.1 is a functional depending on a vector-valued function f , called the pairwise force function (PFF). The PFF givesthe 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 divergenceof the stress tensor.

All material properties and its behaviour are defined by the form of thepairwise force function.

The dependence of f on x−x′ implies homogenity of the material; the lackof a temporal term but the current one avoids the dependence on deformationhistory, also.

18

Page 21: Peridynamics - mixed explicit implicit method

To satisfy Newton’s 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 ex-

ternal forces implies that f(η, ξ) must also satisfy (if it is not conserved, twoparticles 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 theircurrent relative position η + ξ. It is then possible to rewrite the pairwiseforce 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 sufficientcondition) a scalar-valued function w(η, ξ) exists, such that

f(η, ξ) =∂w

∂η(η, ξ) (1.6)

The micropotential is the potential energy density of a bond (and its unitis energy per volume squared. For a microelastic material the general formof the pairwise force function is

f(η, ξ) = H(p, ξ)(η + ξ) p = |η + ξ| (1.7)

H(p, ξ) =1

p

w

p(p, ξ) (1.8)

The basic consequence is that the force between any two points dependsonly upon their current relative position; a pratical physical interpretation isthat every node is connected to the other ones inside its horizon through aspring. This spring in the most general case is nonlinear, but the model canbe linearized as well.

The stretch s of the bond can be defined as

s =|η + ξ| − |ξ|

|ξ|=y − |ξ||ξ|

(1.9)

2× is the cross product

19

Page 22: Peridynamics - mixed explicit implicit method

stretch

force

rupture

rupture

Figura 1.3: linear elastic

where y = |η + ξ| is the current relative position vector norm.A number of material behaviors can be defined from the pairwise force

definition, such as:

• proportional material

• viscoelastic material

• viscoplastic material

20

Page 23: Peridynamics - mixed explicit implicit method

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 δ:

c =18K

πδ4(1.11)

In this thesis a proportional material model has been implemented. Afurther development of this work could lead to a structured analysis of thebest pairwise force function able to describe any known material.

1.1.2 Damage

The main ability of peridynamics is to catch crack paths without needingany information but shape, material and pairwise force function. Damage isaccounted at bond level: after trepassing a certain level of stretch, it breakesi.e. does not offer interaction force anymore.

Following again [5], the critical stretch for bond failure is

s0 =

√5G0

9Eδ(1.12)

The material behavior implemented in this thesis produces brittle fractureresults; other models have been successfully implemented in other works citedas reference.

1.1.3 Short range forces

The basic formulation of peridynamic theory for continuum mechanics con-siders only interactions through bonds: particles that are initially separated(because their distance exceeds δ) can not interact in any way during thefollowing timesteps. This limitation allows to trat crack propagation due toloads, but neglects impact between different bodies. To encompass this inte-ractions, short range forces are here defined: these forces do not depend onthe distance between the particles (the computational nodes) in the referenceconfiguration, but only in the current state.

The direction is again along the distance between the particles, and themodule is given by:

fs = min

{0, cs

(|y′ − y|

2rs

− 1

)}(1.13)

21

Page 24: Peridynamics - mixed explicit implicit method

(a) Microelastic

(b) Fragile microelastic

(c) Microplastic

22

Page 25: Peridynamics - mixed explicit implicit method

where y = x + u and y′ = x′ + u′ are the current positions of x and x′, csand rs positive constants. Repulsion forces are nonzero when the particlesare 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 elasticmaterials are actually characterized by two constants. An elastic solid thatinvolves only two-particle interactions (a “Cauchy crystal ”) always has aPoisson ratio of 0.25.

The theory of peridynamic states is a refinement of the peridynamic theo-ry that allows dependence of strain energy density on local volume change,and not only two-particle interactions. It can also be implemented to modelfluids. 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 moregeneral constitutive models.

23

Page 26: Peridynamics - mixed explicit implicit method

Capitolo 2

Numerical method

2.1 Direct numerical method

The nodes form a grid. The method is mesh free: there are no elements orother geometrical connections between the nodes. The discretized form ofthe equation of motion replaces the integral by a finite sum:

ρuni =

∑p

f(unp − un

i ,xp − xi)Vp + bni (2.1)

being

uni = u(xi, t

n) (2.2)

Vp is the volume of node p, which for a uniform rectangular grid is simplyx3 . The sum is taken over all nodes p such that |xp−xi| < δ. The discretizedequation 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 thelinearized peridynamic model is

ρuni =

∑p

C(unp − un

i )(xp − xi)Vp + bni (2.3)

An explicit central difference formula is used for acceleration

ρuni =

un+1i − 2un

i + un−1i

∆t2(2.4)

Through the use of standard error analysis, the spatial and temporaldiscretization errors can be shown to be O(∆x2) +O(∆t2). In addition, vonNeumann stability analysis leads to a time step requirement of

24

Page 27: Peridynamics - mixed explicit implicit method

∆t <

√2ρ∑

p Vp|C(xp − xi)|(2.5)

The value of the horizon δ may depend on the physical nature of theapplication being modeled. For example, at the nanoscale, δ would be de-termined by the distance over which physical interaction between atoms ormolecules occurs. However, in macroscale calculations, it can be chosen ac-cording to convenience, since, as shown previously, the parameters such asc that determine the bulk elastic properties of the material can be fitted toexperimental data for any value of δ.

In practice, for macroscale modeling, the value δ = 3δx usually workswell. Values much smaller than this typically result in undesirable grid effects(cracks grow along the rows or columns of the grid). Values much larger thanthis may result in excessive wave dispersion and require very large computerrun times.

Boundary conditions are somewhat different in the peridynamic methodthan in the classical theory. The variational formulation of the peridynamicequations does not lead to natural boundary conditions, which in the classicaltheory are traction boundary conditions. Instead, forces at the surface of abody must be applied as body forces b within some layer under the surface. Inpractice, this layer usually has thickness. Similarly, displacement boundaryconditions must be prescribed within a layer of finite thickness under thesurface. Although the above analysis assumes a regular lattice of nodes,the method is not restricted to such structured grids. Through the use ofirregular grids, complex geometries may be modeled, and the full advantagesof a meshless method are realized.

2.2 Time-adaptive method

The time stability is a big issue in peridynamics: when dealing with largedeformations, complex geometries and fast dynamical phenomena the timestep requirement is someway weak.

Moreover, for the sake of conservativity, it can happen to choose a timeinterval which is unconvenient from a computational point of view: the timerequired to define the dominium behavior in an interval can happen to beout of scale.

To overcome these drawbacks, a new time integration has been imple-mented, which permits to evaluate the integration’s correctness. This isperformed by evaluating an error which is related to the motion of the par-ticles, i.e. the new position can not be too far from the previous one. This

25

Page 28: Peridynamics - mixed explicit implicit method

way a situation where the nodes tend to “explode ”is avoided, and positionupdates are kinda “smooth ”.

A fundamental aspect which is not going to be heavily analysed, but thatis crucial for a correct cycle of simulations, is machine precision, usually calledε. It is defined as the smallest number such that the difference between 1 and1 + ε is nonzero. If the code has to deal with too little numbers, numericalerrors risk to appear: the value of number summations is spoiled, thereforenew “numerical ”and not physical forces appear; this is the consequence ofthe little difference between nodes’ positions in particular, with direct effecton the resulting bond stretch.

This issue has to be solved by carefully checking every value to be farfrom the machine precision, and bringing it to zero whether it is too close.

Let’s get back to the adaptive method. This approach comes from asolution to continuum thermo-chemical multifield problems developed byprofessor 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 animplicit cycle is performed to check whether that time interval ∆t is thebest to achieve both stability and computational efficiency. The implicititerations at every time step are called “Global fixed-point iterations ”. Inthe following, we recall that i indicates the nodes (total amount is N), andK is the internal step counter.

Before listing the algorithm, it is convenient to define some quantities tobe used:

ωKdef=

∑Ni=1 ||ui

n+1,K − uin+1,K−1||∑N

i=1 ||uin+1,K − ui

n||(2.6)

is the normalized error, and also:

ZKdef=

ωK

TOL(2.7)

ΦKdef=

(TOL

ω0

) 1

pKd

(ωK

ω0

) 1

pK

(2.8)

26

Page 29: Peridynamics - mixed explicit implicit method

The global fixed-point iteration is then performed as:

• for all the N nodes,

– compute the new position as uin+1,K ≈ ∆t2

mi

f(uin+1,K−1)+∆tun

i +

uni

– compute the new (internal cycle) interaction forces (storing themin temporary variables)

• compute the error measures defined 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, TOL, Kd

and p. Typical values are TOL = 0.001, Kd = 20 and p = 3 but, as will beshown in the simulation results chapter, different values can be chosen forperidynamics applications.

To summarize, the method controls how much do the nodes (particles)move: if the difference between a step and the other satisfies the tolerance, thetime step is increased to improve efficiency; on the converse, if the particlesmove outside tolerance the step is reduced to keep the calculation stable.

27

Page 30: Peridynamics - mixed explicit implicit method

Capitolo 3

Computational code

The main operational goal of this work is the development of a calcula-tion code implementing peridynamics theory (on a bond based approach andincluding the time-stable algorithm).

Like every analysis suite, the solution of a problem is obtained after threesteps, usually performed by different softwares: pre-processing, solving andpost-processing. The core of the thesis is the creation from scratch of astable solver, able to process as much as different geometries possible whilepresenting handful results.

Moreover, for creating an useful chain of tools, pre and post-processingopen source tools have been tested and integrated; this chapter presents adetailed description of them as well.

3.1 Solver

The solver is the core of this thesis work. It has been implemented fromscratch using the c++ programming language; the compiler is GNU g++,from GCC (GNU Compiler Collection).

GCC is the standard compiler in GNU/Linux environments; RichardStallman started to write it in 1985, while the first release was in 1987:the aim was to be the compiler for the GNU Project, to have a compiler thatwas free software.

At the current development stage, a c++ GNU compiler is available forboth Linux and Windows platform; this means that, if OS-specific librariesare not included, the code is portable. The code for this thesis has beenwritten and compiled on a Linux platform (Ubuntu 9.04 and Mandriva 2010),but it can be ported on windows as well.

28

Page 31: Peridynamics - mixed explicit implicit method

To perform algebraic operations, file 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 (LG-PL licensed) linear algebra library written in c++ and compatible with Ma-tlab and Octave also. It is primarily developed at NICTA (Australia’s ICTResearch 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, utilizeand 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 inthe executing system).

VTK VTK is an open-source, freely available software system for 3D com-puter graphics, image processing and visualization. It is produced by Kit-ware, 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 modelingtechniques such as: implicit modeling, polygon reduction, mesh smoothing,cutting, contouring, and Delaunay triangulation. VTK has an extensiveinformation visualization framework, has a suite of 3D interaction widgets,supports parallel processing, and integrates with various databases on GUItoolkits 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 files, to beread inside VisIt for real-time processing and animations production.

Computational algorithm The code is composed by a main file and alibrary, which collects functions and classes. This software makes use ofobject oriented programming: nodes and bonds are classes, the majorityof functions are method of the classes themselves. A brief overview of thealgorithm is following:

29

Page 32: Peridynamics - mixed explicit implicit method

Read input parameters

Read input file

Create nodes

Start

Stop

Iterationsperformed?

Create links

Peridynamiciterations

yes

no

Figura 3.1: Main program flowchart

30

Page 33: Peridynamics - mixed explicit implicit method

Velocity Verletstep 1 and 2

Stable time stepcalculation

Bond force update

Nodal forcecomputation

Velocity Verletstep 3

Damping correctionfor velocities

Broken linksdump

Output solutionat current time step

Figura 3.2: Peridynamic iterations flowchart

31

Page 34: Peridynamics - mixed explicit implicit method

3.1.1 Parallelization

A dynamical problem can involve a considerable amount of time-steps tofind the desired solution; numerical stability is a constraint that has to beconsidered as well. Moreover, regarding peridynamics, a large amount ofnodes and especially of links between them raises the calculation power nee-ded. This is someway similar to molecular dynamics, whether the abovementioned “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, dependingon the material properties. For industrially valuable simulation the numberof nodes rises up of some order of magnitude, therefore large clusters ofprocessors must be used.

This implies a modification into the code, to exploit all the processorsat 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 communi-cation 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 communi-cates with the other ones through messages; the balancing of this informationexchange is fundamental for computational efficiency, as transmission timeis subtracted to the calculation one.

For a meshless method, three approaches can be chosen (coming frommolecular dynamics, which is computationally similar to the peridynamicmethod):

• node decomposition

• bond decomposition

• spatial decomposition

In node decomposition algorithms, every processor is assigned a determi-ned number of nodes, and calculates position, velocities and forces of thosenodes only; in bond decomposition, the processors “own ”a bond, instead ofa node, and exchange information about the latters. Eventually, in spatialdecomposition algorithms the domain is divided into a number of 3d boxes,and the communication is just about nodes in the boxes’ surroundings.

32

Page 35: Peridynamics - mixed explicit implicit method

OpenMP

OpenMP is the acronym for Open Multi-processing, and it is an applicationprogramming interface for shared memory applications. It does not involvecommunication between processors, as it is assumed that they share thememory on which they store the variables.

Whenever a non-conceptually serial operation is performed, the proces-sors access different zones of the memory itself and perform their calculationsjust on that limited domain; besides they act independently, the data arefreely accessible to every processor, in every moment.

An MPI-based software architecture (carefully coded) is the de-facto stan-dard for high performance super computers; but during this work there wasnot enough power available to justify such an implementation. The hardwarefor all the computations was a simple dual-processor laptop for which theMPI implementation would not have caused a considerable decrease of run-ning time; therefore, because of both its code-level simplicity and efficiencyfor 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 theoutput file is rarely produced (which is a software parameter), it is possibleto 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 file including nodelocations, initial velocity, external forces and particle’s mass; in a first step,this was accomplished by a part of the solver itself for simple rectangularplate domains.

As the purpose of the work widened to a general purpose simulationsuite, this gross generator has been put aside by the integration of a numberof tools able to treat any geometry, keeping open source software as drivingphilosophy.

The pre-processing phase is described in figure 3.3: the geometry is crea-ted with Salome’s geometry module and then meshed (again inside Salome)with the mesh module; this is a critical step, as the regularity of the meshitself is a fundamental parameter of peridynamics numerical stability (one ofthe new research topics in this field is indeed spacial discretization).

The mesh is then exported in I-DEAS format (unv) to be processed byImpact: inside this powerful finite element software the mesh is “cleaned ”by

33

Page 36: Peridynamics - mixed explicit implicit method

Geometry

Operation

Meshing

Salome

Element deletion

Impact

Final parsing Python script

UNV file

Software

Constraints,external loads and

initial velocities

Figura 3.3: Pre-processing flowchart

eliminating the elements, just keeping the nodes (the code is meshless); nextstep is to apply constraints, external loads and initial velocity to the nodesand exporting the created calculation domain.

However, the Impact output file is not in the required format, thereforea last parsing phase (by python scripting) is necessary before launching acalculation on it.

The following sections present a detailed description of the above men-tioned tools.

3.2.1 Salome

Salome is an open source pre and post processing platform for numericalsimulations, GNU LGPL licensed therefore freely downloadable from thewebsite (www.salome-platform.org).

The project was born from a joint venture of 9 different companies in-terested in a multi-purpose numerical platform: Open Cascade, CEA, EDF,EADS, Bureau Veritas, Principia, Cedrat, LIP6 and LEG. The software isbeing developed since years, as the current version (june 2010) is 5.1.4 and

34

Page 37: Peridynamics - mixed explicit implicit method

the first publicly available release (vers. 2.2.8) is dated july 2004. It runs onmany different operative systems, from the native GNU/Linux environment(compiled versions for Mandriva and Debian distributions) to a brand newimplementation on MS Windows.

It is based upon Open Cascade libraries, and its code infrastructure ismainly C++ and python based; the main feature is just python scriptinginteraction: this allows a powerful parametric design and batch programmingfor 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 orany external mesher (NETGEN, GHS3D, GHS3D parallel, BLSURF,Hexotic)

• Med : MED data files management

• Post-processor : dedicated viewer to analyze the results of solver com-putations (scalar, vectorial)

• Supervisor : an easy way to describe a computational schema invol-ving multi-solver coupling. Note: this module is not supported sinceSALOME version 5.0.

• YACS : alternative supervision module (replaces Supervisor module inSALOME series 5x)

3.2.2 Impact

Impact is a finite element program for dynamic phenomena such as collisions,forming operations, chassis movements, etc. It was designed with the pur-pose to be a free and very simple alternative to commercial packages, beingmodular and supporting object programming.

The current version is 0.7, therefore it is not a completely reliable toolstill, but its preprocessor is very simple and effective and perfectly suites theneed of manipulating the “meshless mesh ”and applying loads, constraintsand initial velocities using a graphical interface.

35

Page 38: Peridynamics - mixed explicit implicit method

A perhaps strange choice is the language: despite it is not well consideredfor high-performance computing, the software is implemented in Java. Thisis quite unusual, as usually C++ and Fortran are used, but this option hasbeen chosen for the sake of programming simplicity and portability of thecode itself; moreover, there are some publications like [11] describing how javacan also be a fast and reliable environment for finite element calculations.

It is an explicit time stepping program, so it is best suited for dynamicsrather than statics.

3.2.3 Python

Python is a high-level programming language created in 1991 by Guido vanRussum; the current developer of the platform is the Python Software Foun-dation. 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 structuredone; the most important feature is that it has almost infinite bindings withexternal libraries, and covers a wide range of different applications. In thiswork, it has simply been used as ascii parser, for the manipulation of theoutput from Impact.

3.3 Post-processing

As previously mentioned, the solver outputs a certain amount of files, eachone regarding a precise iteration time step; the availability of a bunch ofoutput file formats aims to perform different tasks on the data. In fact, oneneeds to check the correctness of a running calculation as well as to publishclear and almost self-explanatory results.

The former goal is achieved with VTK polidata files for visualization intoVisIt or Paraview, the latter with geo files, which is the geometry input forGMSH. Both programs are to be described in the following sections.

3.3.1 VisIt

VisIt is an open source parallel visualization tool for scientific data. Itsdevelopment began in the summer of 2010, by the Department of Energy(DOE) Advanced Simulation and Computing Initiative (ASCI) to visualizeand analyze the results of terascale simulations.

It is a professional software not only because of the quality of outputtedplot, but for the ability of working with parallel data and across networks:

36

Page 39: Peridynamics - mixed explicit implicit method

this is a very powerful feature, as it is possible for research teams spread allover the world to perform a remote visualization without the need of slowconversions and communications of massive data.

In this thesis work it has been user for real time result visualization, tocheck the correctness of both code and input parameters; depending on thedevelopment 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 aflexible library for code reusability; it is written in C++ and again opensource licensed (GNU GPL - LGPL).

Although it is a complete (but no-frills) engineering suite including a pro-fessional 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, whichguarantee the higher quality for typography.

37

Page 40: Peridynamics - mixed explicit implicit method

Capitolo 4

State of the art

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

4.1 Software

4.1.1 LAMMPS

LAMMPS is an acronym for Large-scale Atomic/Molecular Massively Pa-rallel Simulator. The current version of LAMMPS is 15 Jan 2010. It haspotentials for soft materials (biomolecules, polymers) and solid-state ma-terials (metals, semiconductors) and coarse-grained or mesoscopic systems.It can be used to model atoms or, more generically, as a parallel particlesimulator at the atomic, meso, or continuum scale.

The software runs on single processors or in parallel using message-passingtechniques and a spatial-decomposition of the simulation domain. The codeis designed to be easy to modify or extend with new functionality.

The code is distributed as an open source code under the terms of theGPL. The current version can be downloaded here. Links are also inclu-ded to older F90/F77 versions. The last major release is also available onSourceForge.

LAMMPS is distributed by Sandia National Laboratories, a US Depart-ment of Energy laboratory. Funding for LAMMPS development has co-me primarily from DOE (OASCR, OBER, ASCI, LDRD, Genomes-to-Life)and is acknowledged here. The LAMMPS WWW site is hosted by SandiaLaboratories.

38

Page 41: Peridynamics - mixed explicit implicit method

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 defining and using variables and formulas

• syntax for looping over runs and breaking out of loops

• run one or multiple simulations simultaneously (in parallel) from onescript

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

Page 42: Peridynamics - mixed explicit implicit method

Force fields

• pairwise potentials: Lennard-Jones, Buckingham, Morse, Yukawa, soft,class 2 (COMPASS), tabulated

• charged pairwise potentials: Coulombic, point-dipole

• manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM),Stillinger-Weber, Tersoff, AI-REBO, ReaxFF

• coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DL-VO

• 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, class2 (COMPASS), OPLS

• improper potentials: harmonic, cvff, 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 particle-mesh Ewald), Ewald/N for long-range Lennard-Jones

• force-field compatibility with common CHARMM, AMBER, OPLS,GROMACS options

• handful of GPU-enabled pair styles

hybrid potentials: multiple pair, bond, angle, dihedral, improper po-tentials can be used in one simulation overlaid potentials: superpositionof multiple pair potentials

Atom creation:

• read in atom coords from files

40

Page 43: Peridynamics - mixed explicit implicit method

• 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 3dimensions

• 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 relaxa-tion

41

Page 44: Peridynamics - mixed explicit implicit method

• rRESPA hierarchical timestepping

Output:

• log file of thermodynamic info

• text dump files of atom coords, velocities, other per-atom quantities

• binary restart files

• per-atom quantities (energy, stress, centro-symmetry parameter, CNA,etc)

• user-defined system-wide (log file) or per-atom (dump file) 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. Piz-za.py is written in Python and is available for download from thePizza.py WWW site.

Specialized features (these are LAMMPS capabilities which you may notthink of as typical molecular dynamics options):

• real-time visualization and interactive MD

• atom-to-continuum coupling with finite elements

• coupled rigid body integration via the POEMS library

• parallel tempering

• parallel replica dynamics

• Direct Simulation Monte Carlo for low-density fluids

• Peridynamics mesoscale modeling

• targeted and steered molecular dynamics

• two-temperature electron model

42

Page 45: Peridynamics - mixed explicit implicit method

Implementation

We now detail how Eq. 1.1 was implemented in LAMMPS. First, a set ofconsistent units suitable for macroscopic simulations was needed. LAMMPSallows the user to choose units convenient for their particular simulations,each of which is implemented as a handful of conversion factors. These areused when, for ex- ample, kinetic energy 1/2mv2 is computed with velocitiesin Angstroms/fs and the result should be in Kcal/mole (for an atom- isticsimulation). For peridynamic simulations, an “SI” option was added whereenergy = Joules, distance = meters, time = seconds, etc.

LAMMPS operates in parallel in a spatial-decomposition mode, whereeach processor owns a sub-domain of the overall simulation box and the par-ticles within the subdomain. To compute pairwise or bond forces, a processorcommunicates with its neighboring processors via distributed-memory mes-sage passing (MPI) to acquire information about nearby “ghost ”particlesowned by those processors. To improve the efficiency of the computationof pairwise forces, LAMMPS uses Verlet neighbor lists that are recomputedevery few timesteps via binning particles on a regu- lar grid and searchingnearby bins to find neighbors. These are also the timesteps on which par-ticles migrate to new processors as needed. For peridynamic simulations,Verlet neighbor lists are used only when computing the family of short-rangeinteracting 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 volumeV , the particle density ρ , and the initial position of the particle x0 . V isprecomputed for each particle based on the initial problem geometry. These4 quantities migrate with particles as they move from processor to processor.Additionally, the s0 value for each ghost particle is communicated everytimestep, 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 ghostparticles is needed to scale the bond force between particles i , j. Since V isa static quantity, it is only communicated on timesteps when reneighboringis done.

The short-range term is conceptually identical to standard short-rangepair potential computations within an molecular dynamics code. In LAMMPSa “half ”neighbor list is used to efficiently find neighboring particles withina distance d S on a given timestep. By “half ”we mean that any interactingpair 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 endof the force computation, forces on ghost particles are communicated backto the owning processor.

43

Page 46: Peridynamics - mixed explicit implicit method

Computation of the bond term requires knowledge of which bonds arealready broken. Thus each particle stores a list of its bond partners, denotedby Fi, and flags them as they break. For each partner, the initial bonddistance 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, onthe first timestep of the simulation, based on the initial undeformed state ofthe material. The union of Fi over all particles is effectively a “full ”neighborlist where the geometric neighbors of particle i within a cutoff distance δ arestored. By “full ”we mean the interacting pair i , j is stored twice, once byparticle i and once by particle j. With this information, the bond term canbe computed by looping over the particles in Fi for each particle i. The bondis skipped if it previously broken. If both particles i , j are owned by theprocessor, the bond is also skipped if i ¿ j, taking advantage of Newton’s3rd law. For active bonds, the bond is flagged as “broken ”if the bond strains(t, η, ξ) exceeds the current strain criterion s0 for either particle i or j. Whilebond forces are computed, a new strain criterion s0 is also calculated, whichwill 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 andj particles is accumulated. Thus at the end of the bond loop, each particlehas a new s0, valid for the next timestep. Since the bond partner list storesall bonds for each particle owned by a processor, no extra communication isnecessary to generate s0 , e.g., due to bonds with ghost particles. The bondpartner list is another particle property that must migrate with particles asthey move to new processors. This is done by packing and unpacking the Fiset of bond neighbors and distances into a message-passing buffer each timea particle migrates. During this operation, broken bonds are pruned fromthe list, so that a minimal amount of information is communicated.

Once the short-range and bond terms have been computed, a final scalingby the volume V i of each particle is applied. This results in an effectiveforce 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 particlevelocities and coordinates. For PD models we use a constant NVE integrator.Thermostatting is not used, since temperature is an ill-defined quantity formacroscopic PD particles. The “pressure ”due to PD interactions can becomputed via the virial in the usual MD manner, except that the kineticenergy term contributing to the pressure is ignored. Alternatively, a precisenotion of PD stress has been for- mulated and may be used.

44

Page 47: Peridynamics - mixed explicit implicit method

4.1.2 EMU

Emu is the first code based on the peridynamic theory of solid mechanics. Itis currently in the research and development stage and is being licensed to afew “alpha” users, and there has never been any information about a publicrelease of the code, both from a source and binary side.

It is therefore impossible to describe the software itself; by the way, aqualitative comparison can be performed against its published results.

45

Page 48: Peridynamics - mixed explicit implicit method

4.2 Simulations

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

4.2.1 Perforation of ductile targets

4.2.2 Perforation of reinforced concrete

46

Page 49: Peridynamics - mixed explicit implicit method

4.2.3 Perforation of a fabric

4.2.4 Ball explosion

47

Page 50: Peridynamics - mixed explicit implicit method

4.2.5 Time rate influence

48

Page 51: Peridynamics - mixed explicit implicit method

Capitolo 5

Simulations

5.1 Membrane

The first performed simulation is an obscillating membrane: every one of its4 sides is constrained, and the center of the dominium is assigned an initialvelocity to produce oscillations.

The first figures describe the behaviour of the numerical method, showingthe time step values and the number of times the cycle has been repeatedinternally before proceeding. The last ones describe the actual response ofthe structure, with the oscillations and damping that brings the dominiumback to its rest position.

Figura 5.1: Model with constraints and initial conditions

49

Page 52: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.2: ∆x = 0.5

50

Page 53: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.3: ∆x = 0.5

51

Page 54: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.4: ∆x = 0.5

52

Page 55: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.5: ∆x = 0.5

53

Page 56: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.6: ∆x = 2

54

Page 57: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.7: ∆x = 2

55

Page 58: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.8: ∆x = 2

56

Page 59: Peridynamics - mixed explicit implicit method

(a)

(b)

Figura 5.9: ∆x = 2

57

Page 60: Peridynamics - mixed explicit implicit method

(a)

(b)

(c)

58

Page 61: Peridynamics - mixed explicit implicit method

(d)

(e)

(f)

59

Page 62: Peridynamics - mixed explicit implicit method

(g)

(h)

(i)

60

Page 63: Peridynamics - mixed explicit implicit method

5.2 Plate with hole

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

Figura 5.10: Model with constraints and initial conditions

61

Page 64: Peridynamics - mixed explicit implicit method

(a)

(b)

(c)

62

Page 65: Peridynamics - mixed explicit implicit method

(d)

(e)

(f)

63

Page 66: Peridynamics - mixed explicit implicit method

(g)

(h)

(i)

64

Page 67: Peridynamics - mixed explicit implicit method

(j)

(k)

(l)

65

Page 68: Peridynamics - mixed explicit implicit method

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 withbrittle fracture theory. Peridynamics is then a proven method for fracturemechanics.

Figura 5.11: Model with constraints and initial conditions

66

Page 69: Peridynamics - mixed explicit implicit method

(a) (b)

(c) (d)

67

Page 70: Peridynamics - mixed explicit implicit method

(e) (f)

(g) (h)

68

Page 71: Peridynamics - mixed explicit implicit method

5.4 Impact

An overview of peridynamics impact calculations capabilities is here presen-ted. This test case is heavily different from the previous ones, as it involvesrepulsion forces.

This implies not only the development of a specific force model, but espe-cially a new proximity check. When dealing with contact, the starting posi-tions are not taken into account anymore, and every particle could interactwith each other at every time step. This must be checked, and short rangeforces should be created throughout all the calculation process.

Besides the correctness of the concept, this is computationally unaccepta-ble: the new forces are calculated whenever the previously defined error ωK

passes a defined threshold, giving the information that particles are movingenough to create the opportunity of a contact.

This is a good power-saving idea, but the check is computationally ex-pensive even in this latter case, so a simple two dimensional calculation hasbeen performed.

69

Page 72: Peridynamics - mixed explicit implicit method

(i)

(j)

(k)

70

Page 73: Peridynamics - mixed explicit implicit method

(l)

(m)

(n)

71

Page 74: Peridynamics - mixed explicit implicit method

(o)

(p)

(q)

72

Page 75: Peridynamics - mixed explicit implicit method

Capitolo 6

Conclusions

The brand new peridynamic method for continuum mechanics has beentheoretically analyzed and implemented from scratch in a c++ code. Thisbond-based software had to lead with stability problems, and computationalinefficiencies due to the linearized model which was used to determine theintegration time step size.

A modified numerical method has been introduced to fix this issue: itcarries on the explicit integration, but for each time step it gives a δt whichis the best to avoid instability and to have computational efficiency as well.This is performed by an implicit integration within the explicit time-step.

The stable code has subsequently been used to test peridynamic capabi-lities of dealing with dynamic phenomena like cracks and impacts: althou-gh only simple calculations have been carried on, due to the low availablecomputational power, qualitative results confirm that this approach is bothpowerful and effective.

73

Page 76: Peridynamics - mixed explicit implicit method

Bibliografia

[1] Stewart A. Silling, Reformulation of elasticity theory for discontinuitiesand 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, StewartA. Silling Implementing peridynamics within a molecular dynamics code,Computer Physics Communications 179 (2008) 777–783

[3] R.B. Lehoucq, S.A. Silling, Force flux and the peridynamic stress tensor,Journal of the Mechanics and Physics of Solids 56 (2008) 1566–1577

[4] Paul Demmie and S.A. Silling, An approach to modeling extreme loadingof structures using peridynamics, Journal of mechanics of materials andstructures, Vol.2 No.10, 2007

[5] S.A. Silling and E. Askari, A meshfree method based on the peridynamicmodel of solid mechanics, Comput. Struct. 83 (2005) 1526-1535

[6] Stewart Silling, Peridynamic states, Minisymposium on multiscalematerial modeling with peridynamics (presentation)

[7] Markus Zimmermann, A continuum theory with long-range forces forsolids, phd thesis at MIT, Department of Mechanical engineering (2005)

[8] Stewart Silling, Peridynamic Modeling of the Failure of Heterogeneous So-lids ARO Workshop on Analysis and Design of New Engineered Materialsand Systems with Applications

[9] T.I. Zohdi, A computational framework for network modeling of fibrousbiological tissue deformation and rupture, Comput. Methods Appl. Mech.Engrg. 196 (2007) 2972–2980

74

Page 77: Peridynamics - mixed explicit implicit method

[10] C. Geuzaine and J.-F. Remacle, Gmsh: a three-dimensional finite ele-ment mesh generator with built-in pre- and post-processing facilities, Inter-national Journal for Numerical Methods in Engineering, Volume 79, Issue11, 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 MolecularDynamics, J Comp Phys, 117, 1-19 (1995)

75