Peridigm Users Guide
User Manual:
Open the PDF directly: View PDF
.
Page Count: 245
| Download | |
| Open PDF In Browser | View PDF |
Peridigm Peridigm Users Guide For Peridigm versions ≥ 1.4.1 Martin Rädel Deutsches Zentrum DLR für Luft- und Raumfahrt German Aerospace Center Document Identication ii DLR German Aerospace Center Composite Structures and Adaptive Systems Structural Mechanics Dr. Tobias Wille 38108 Braunschweig Germany Tel: +49 (0)531 295-3701 Fax: +49 (0)531 295-3702 Web: http://www.dlr.de/fa/en Martin Rädel Tel: +49 (0)531 295-2048 Fax: +49 (0)531 295-2232 Mail: martin.raedel@dlr.de Repository This document is part of the PeriDoX repository [1]. The complete repository can be found at: https://github.com/PeriDoX/PeriDoX Citing When citing this document, please reference the following: Martin Rädel, Christian Willberg, Peridigm Users Guide, DLR-IB-FA-BS-2018-23, DLR Report, 2018, in PeriDoX, DOI: 10.5281/zenodo.1403015 Disclaimer The contents of this document are provided AS IS. This information could contain technical inaccuracies, typographical errors and out-of-date information. This document may be updated or changed without notice at any time. Use of the information is therefore at your own risk. In no event shall the DLR be liable for special, indirect, incidental or consequential damages resulting from or related to the use of this document. DLR Peridigm Users Guide Copyright © 2019 German Aerospace Center (DLR) Permission is granted to copy, distribute and/or modify this document under the terms of the BSD Documentation License. A copy of the license is included in the section entitled BSD Documentation License. Dieses Dokument darf unter den Bedingungen der BSD Documentation License vervielfältigt, distribuiert und/oder modiziert werden. Documentation License enthalten. Eine Kopie der Lizenz ist im Kapitel BSD Contents List of Figures viii List of Tables ix List of Symbols x Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vectors x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Acronyms xii 1. About 1 1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Scope 1.3. Contributors 1.4. Peridynamic codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4.1. Production codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4.2. Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4.3. Groups with unpublished peridynamic codes . . . . . . . . . . . . . 2 2. Peridigm - Basics 2.1. 2.2. 2.3. 1 1 Preliminaries 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1. Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2. Coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.3. Unit systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.4. Conversion between peridynamic and nite element values . . . . . 4 Model input le format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1. Input deck structure 7 2.2.2. Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.3. Input le parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.4. Function parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 . . . . . . . . . . . . . . . . . . . . . . . . . . Discretization input le format . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1. Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2. Text File Direct collocation point text le input . . . . . . . . . . 17 2.3.3. Exodus nite element mesh . . . . . . . . . . . . . . . . . . . . . 18 DLR Peridigm Users Guide iv Contents v 2.3.4. Albany multiphysics mesh . . . . . . . . . . . . . . . . . . . . . . 22 2.3.5. PdQuickGrid Internal mesh generator 23 . . . . . . . . . . . . . . . 3. Peridigm - Quick reference guide 3.1. 3.2. 3.3. 24 Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Discretization tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.1. Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.2. Bond Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.3. Inuence Function 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . Material models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.1. Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.2. Elastic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.3.3. Elastic Bond Based . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3.4. Elastic Correspondence . . . . . . . . . . . . . . . . . . . . . . . . 47 3.3.5. Elastic Partial Volume . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3.6. Pals - Position Aware Linear Solid . . . . . . . . . . . . . . . . . . 53 3.3.7. Linear LPS Partial Volume . . . . . . . . . . . . . . . . . . . . . . 57 3.3.8. LCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.3.9. Elastic Plastic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.3.10. Elastic Plastic Correspondence . . . . . . . . . . . . . . . . . . . . 67 3.3.11. Pressure Dependent Elastic Plastic . . . . . . . . . . . . . . . . . . 71 3.3.12. Elastic Plastic Hardening . . . . . . . . . . . . . . . . . . . . . . . 73 3.3.13. Elastic Plastic Hardening Correspondence . . . . . . . . . . . . . . 76 3.3.14. Viscoelastic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.3.15. Viscoplastic Needleman Correspondence . . . . . . . . . . . . . . . 83 3.3.16. Vector Poisson 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.17. Multiphysics Elastic 3.4. 3.5. . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Damage Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.4.1. Preliminaries 87 3.4.2. Critical Stretch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.4.3. Time Dependent Critical Stretch . . . . . . . . . . . . . . . . . . . 92 3.4.4. Interface Aware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.4.5. Critical Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.5.1. 3.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.6.1. Preliminaries 3.6.2. Initial Displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.6.3. Initial Velocity 3.6.4. Initial Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.6.5. Prescribed Displacement . . . . . . . . . . . . . . . . . . . . . . . . 118 3.6.6. Prescribed Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.6.7. Prescribed Acceleration 3.6.8. Prescribed Temperature . . . . . . . . . . . . . . . . . . . . . . . . 126 . . . . . . . . . . . . . . . . . . . . . . . . . . 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 DLR . . . . . . . . . . . . . . . . . . . . . . . . 124 Peridigm Users Guide Contents 3.6.9. 3.7. 3.9. Body Force Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.7.1. General options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.7.2. Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.7.3. 3.8. vi 3.7.2.1. Short Range Force . . . . . . . . . . . . . . . . . . . . . . 135 3.7.2.2. Time Dependent Short Range Force . . . . . . . . . . . . 138 Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.7.3.1. General Contact 3.7.3.2. Self Contact . . . . . . . . . . . . . . . . . . . . . . . 140 3.7.3.3. User dened block interaction . . . . . . . . . . . . . . . . 144 . . . . . . . . . . . . . . . . . . . . . . . . . 142 Compute Class Parameters - User dened calculation data . . . . . . . . . 146 3.8.1. Compute Class Parameters for node sets . . . . . . . . . . . . . . . 146 3.8.2. Compute Class Parameters for blocks 3.8.3. Compute Class Parameters for nearest neighbor points . . . . . . . 152 Solver . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.9.1. Preliminaries 3.9.2. Explicit - Verlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.9.3. Implicit 3.9.4. QuasiStatic 3.9.5. NOXQuasiStatic (nonlinear) . . . . . . . . . . . . . . . . . . . . . . 165 3.9.6. Sequence of solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 3.10. Solver Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 3.10.1. Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 3.11. Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 3.11.1. Preliminaries 3.11.2. Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 3.11.3. User dened results for node sets . . . . . . . . . . . . . . . . . . . 185 3.11.4. User dened results for blocks . . . . . . . . . . . . . . . . . . . . . 187 3.11.5. User dened results for nearest neighbor points . . . . . . . . . . . 189 4. Run Peridigm 4.1. Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 4.1.1. 4.2. 191 On a local machine or a virtual box . . . . . . . . . . . . . . . . . 191 Best practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 4.2.1. Bridge time until failure occurs 4.2.2. Increase timestep in explicit solver . . . . . . . . . . . . . . . . . . . 194 4.2.3. Create pre-cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 . . . . . . . . . . . . . . . . . . 196 5. Pre- and postprocessing with ParaView 198 5.1. Input & Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 5.2. Result data 5.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 5.3.1. Create a selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 5.3.2. Limit display to selection DLR . . . . . . . . . . . . . . . . . . . . . . . 200 Peridigm Users Guide Contents 5.3.3. 5.4. 5.5. 5.6. 5.7. 5.8. Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 View & Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 5.4.1. Save view 5.4.2. Display point/node numbers . . . . . . . . . . . . . . . . . . . . . . 202 5.4.3. Visualize nodesets 5.4.4. Damage plot on nodes as spheres . . . . . . . . . . . . . . . . . . . 204 Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 5.5.1. Plot selection data over time 5.5.2. Force-displacement-plots . . . . . . . . . . . . . . . . . . . . . . . . 207 . . . . . . . . . . . . . . . . . . . . . 206 Measuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 5.6.1. Node/point position . . . . . . . . . . . . . . . . . . . . . . . . . . 214 5.6.2. Node/point distance . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 5.7.1. Quick Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 5.7.2. Vector graphics - kind of . . . . . . . . . . . . . . . . . . . . . . . . 216 5.7.3. Animations 5.7.4. Save ParaView states for exported items . . . . . . . . . . . . . . . 217 Preferences 5.8.1. 5.9. vii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Change mesh on sphere Calculate Glyph . . . . . . . . . . . . . . . . . . . . . 219 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 5.9.1. Cell center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 5.9.2. Cell volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 6. Benchmark results with Peridigm 222 Bibliography 223 Peridigm keyword index 227 Appendix A. This document 230 A.1. Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 A.2. Typesetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Appendix B. FAQ 231 B.1. Peridigm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 B.2. ParaView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Appendix BSD Documentation License DLR Peridigm Users Guide 233 List of Figures 3.1. Bond Filter - Rectangular Plane 3.2. Inuence functions . . . . . . . . . . . . . . . . . . . . . . . 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3. Classication of peridynamic material models . . . . . . . . . . . . . . . . 38 3.4. Linear-elastic material model . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5. Linear-elastic material model . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.6. Linear-elastic correspondence material model . . . . . . . . . . . . . . . . 47 3.7. Partial-volume linear-elastic material model . . . . . . . . . . . . . . . . . 50 3.8. Position-aware linear-elastic material model . . . . . . . . . . . . . . . . . 53 3.9. Partial-volume linear-peridynamic solid/elastic material model . . . . . . . 3.10. Linear-elastic material model . . . . . . . . . . . . . . . . . . . . . . . . . 57 60 3.11. Linear-elastic perfectly-plastic material model . . . . . . . . . . . . . . . . 63 3.12. Linear-elastic perfectly-plastic correspondence material model . . . . . . . 67 3.13. Linear-elastic linear-hardening material model . . . . . . . . . . . . . . . . 73 3.14. Linear-elastic linear-hardening correspondence material model . . . . . . . 76 3.15. Viscoelastic material model . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.16. 0-th order critical stretch model . . . . . . . . . . . . . . . . . . . . . . . . 89 5.1. 5.2. Display of selection point/node numbers . . . . . . . . . . . . . . . . . . . 202 Visualization of base nite element mesh (gray), nite element nodeset (blue) and nodeset after transformation to peridynamic collocation points (green) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 5.3. Combined ParaView view . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Compute Class Parameters results data in ParaView Compute Class Parameters results data in ParaView . . 5.4. Access . . . . . . . 209 5.5. Plot . . . . . . . 210 5.6. Display of selection point/node positions . . . . . . . . . . . . . . . . . . . 214 5.7. Measure point distance in ParaView 5.8. Peridigm collocation points inside the base nite element mesh with different glyph resolutions 5.9. . . . . . . . . . . . . . . . . . . . . . 215 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Display of cell volume calculation . . . . . . . . . . . . . . . . . . . . . . . 221 DLR Peridigm Users Guide viii List of Tables 1.1. Codes implementing peridynamics 2.1. Notational conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Consistent unit systems according to ANSYS /UNITS command 4 2.3. Material property conversion . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4. Input le section overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5. Math commands for Peridigm function parser . . . . . . . . . . . . . . . . 12 DLR . . . . . . . . . . . . . . . . . . . . . . Peridigm Users Guide . . . . . 2 ix List of Symbols Scalars Symbol Name a c h s t ∆t u v x y z A E F G G0C GI GIC GII GIIC K V δ ε γ ν ωξ ρ σ τ Description Acceleration Bond constant Thickness Stretch Time Time step Displacement Velocity x axis y axis z axis Surface area Young's modulus Force Shear modulus Critical energy release rate Energy release rate mode I Critical energy release rate mode I Energy release rate mode II Critical energy release rate mode II Bulk modulus Volume Horizon Strain Shear strain Engineering strain Poisson ratio Radial inuence function Density Stress Shear stress Engineering stress DLR Peridigm Users Guide x Operators xi Symbol Name Description Vectors Symbol Name ξ Description Bond vector, undeformed Vector from a point Indices Symbol Description ( )C Critical ( )H Hardening ( )I Fracture mode I ( )II Fracture mode II ( )y Yield Operators Symbol Description ∆( ) Dierence DLR Peridigm Users Guide x in the family of x to x0 Acronyms BSD Berkeley Software Distribution GPL GNU General Public License LPS linear peridynamic solid DLR Peridigm Users Guide xii 1. About 1.1. Motivation In peridynamics, cracks are part of the solution, not part of the problem. Florin Bobaru 1.2. Scope This document is supposed to be the users guide for the creation of models, performing simulations with Peridigm and postprocessing with ParaView. It serves as an addition to the original and ocial user guide [2]. The open-source version of this document is based upon [3]. The document includes a growing quick reference guide to model options in Peridigm as well as conclusions to obtain proper results. Additionally, preferences and possibilities for the postprocessing of the simulation results with ParaView are part of the document. All informations in this document have been collected to the best of our knowledge from application of or coding in Peridigm. 1.3. Contributors This document represents a cumulative eort. The following list shows the contributors in alphabetic order by last name. Anna-Janina Bednarek Martin Rädel Lasse Wiedemann Christian Willberg DLR Peridigm Users Guide 1 1. About 2 1.4. Peridynamic codes Peridigm is one of several codes implementing peridynamics. Following are lists of known codes dealing with the numerical implementation of the peridynamic theory. 1.4.1. Production codes Table 1.1.: Codes implementing peridynamics Name Open-Source License Language C EMU LAMMPS PDpy Peridigm PeriFlakes PeriPyDIC Sierra/Solid Me- Source C++ Fortran Python - - - - X - X X X X X GPL - X - - [4] X - - - BSD - X - - GPL X - - GPL C - - X X - [2] [5] chanics (Presto) 1.4.2. Others https://github.com/matteopolleschi/Mixed-implicit-explicit-peridynamic-code 1.4.3. Groups with unpublished peridynamic codes PMMA Research Lab, Dr. Oterkus University of Strathclyde, Glasgow AAML Group, Prof. Hong KAIST, Korea m3 Group, Prof. Madenci University of Arizona, USA David Miranda University of Bath, UK DLR Peridigm Users Guide 2. Peridigm - Basics 2.1. Preliminaries 2.1.1. Typographical conventions All typographical conventions are found in Table 2.1. Table 2.1.: Notational conventions Symbol a,α a, α General Description minuscule Scalar in bold minuscule Vector R, Tensor of rank 0 3 in R , Tensor of rank 1 Rn×m , A bold majuscule Aijk , Aijkl bold majuscule a A A minuscule, underline Scalar state bold majuscule, underline Vector state blackboard majuscule, underline Double state Matrix in Dyad, Ten- sor of rank 2 A with Triade, rank > Tetrade, Tensor of 2 2.1.2. Coordinate systems Peridigm uses a global cartesian right-hand coordinate system. Local coordinate systems are currently not available. 2.1.3. Unit systems For the application of all methods, tools and solutions input values are required. It has to be made sure by the user to make sure that all input values are dened in a single consistent unit system, like the SI- or imperial unit system. The following Table 2.2 shows some well-established unit systems. DLR Peridigm Users Guide 3 2. - Basics Peridigm 4 Table 2.2.: Consistent unit systems according to ANSYS /UNITS command Unit system Value SI CGS MPA BFT BIN Mass [kg] [g] [t] [slug] [lbf][s]2 [in] Length [m] [cm] [mm] [ft] [in] Time [s] [s] [s] [s] [s] Temperature [K] [K] [K] [◦ R] [◦ R] Velocity [m] [s] [cm] [s] [mm] [s] [ft] [s] [in] [s] Acceleration [m] [s]2 [cm] [s]2 [mm] [s]2 [ft] [s]2 [in] [s]2 Force [N] [dyn] [N] [lbf] [lbf] Moment [N] [m] [dyn] [cm] [N] [mm] [lbf] [ft] [lbf] [in] Pressure [Pa] [Ba] [MPa] [lbf] / [ft]2 [psi] Density [kg] [m]3 [g] [cm]3 [t] [mm]3 [slug] [ft]3 [lbf][s]2 /[in] [in]3 Energy [J] [erg] [mJ] [ft] [lbf] [in] [lbf] Energy release rate [J] [m]2 = [N] [m] [erg] [cm]2 [mJ] [mm]2 = [N] [mm] 2.1.4. Conversion between peridynamic and nite element values Material properties 3D Without plane stress or strain assumptions 2D With plane stress or strain assumptions Note, that in case of bond-based analysis, the conversion is problem-dependent: ν= ( 1 4 1 3 3D & 2D plane strain 2D plane stress DLR Peridigm Users Guide (2.1) 2. Peridigm - Basics 5 Table 2.3.: Material property conversion Description Dim. Bulk modulus Source E K3D = 3 (1 − 2ν) E 2 (1 − ν) K2D = E 2 (1 − ν − 2ν 2 ) K1D =E 3D 2D 1D Shear modulus Equation G= all , plane stress [6] , plane strain E 2 (1 + ν) Bond constant - bond based, constant inuence function c3D = 3D 2D c2D 1D c1D 18K 30G = 4 πδ πδ 4 1 [68] 12K G = = · 3 πhδ πhδ 3 2K = 2 Aδ ( 20 24 plane strain plane stress [6] Critical Stretch - bond based [9] 3D sC 3D 2D sC 2D 1D sC 1D Critical Stretch - state based sC 3D 3D Internally, Peridigm uses 1 2 3 [6] r r 5G0C 10G0C = = 9K δ πc δ 5 r 3D r 3D πG0C 4G0C = = 3K2D δ c2D hδ 4 r r 3G0C 6G0C = = K1D δ c1D Aδ 3 v u =u th 3G + s 2D sC 2D = 1D sC 1D = K, G 6 πG + G0C 3 4 4 K− [6, 7] [6] [6] i G0C (K − 2G) δ 16 9π 2 for the stiness description. [6, p.30], [7, p.1529], [8, p.37] [9, p.114] [8, p.120] DLR 5G 3 Peridigm Users Guide 2 3 [8, 10] δ [8, 10] The conversion between 2. Peridigm - Basics engineering constants and 6 K, G is performed in methods PeridigmNS::Material::calculateBulkModulus PeridigmNS::Material::calculateShearModulus in class /src/Materials/Peridigm_Material.cpp. Currently, Peridigm only uses the 3D formulation of the peridynamics, e.g. for surface correction factors. Therefore, only the 3D equations shall be used for material mod- elling. DLR Peridigm Users Guide 2. Peridigm - Basics 7 2.2. Model input le format Peridigm requires two input les: the model and the mesh. This section describes the format of the model input le, while section 2.3 is devoted to the possible types of discretization and the respective formats. 2.2.1. Input deck structure This section is basically taken from section 3.2 in [2]. Independent of the actual input le format, a Peridigm input deck takes the form: [Discretization Section] [Materials Section] [Damage Models Section] [Blocks Section] [Contact Section] [Boundary Conditions Section] [Compute Class Parameters Section] [Solver Section] [Output Section] required required optional required optional required optional required required We elaborate on each of these sections below: Table 2.4.: Input le section overview Section Description [Discretization Section] Contains lename of input mesh, or arguments to Peridigm internal mesh generator. [Materials Section] Contains the names of the material models used and arguments for their constitutive parameters. [Damage Models Section] Contains the names of the damage models used and arguments for their constitutive parameters. [Blocks Section] Contains a listing of the model properties, associating each block with material and damage models as well as a horizon. [Contact Section] Contains a listing of the contact models and the kind of contact model to be applied when model regions come into contact in a simulation. continued . . . DLR Peridigm Users Guide 2. Peridigm - Basics 8 . . . continued Section Description [Boundary Conditions Section] Contains the initial and boundary conditions and loads for the simulation. [Compute Class Parameters Section] Contains user dened calculation data which shall be output in a simulation. [Solver Section] Contains the solver to be used along with solver parameters. [Output Section] Contains the output lename and output frequency along with a listing of the variables to be output. Each of these sections is described in a separate part of chapter 3. 2.2.2. Formats Peridigm currently supports three dierent input le formats: XML format Peridigm/Free format YAML format Both, XML and free format are more or less obsolete and will not be part of future developments. For version 1.5 and beyond the focus is on the YAML format. 2.2.2.1. XML format Comment sign A comment line or block is started with DLR Peridigm Users Guide --> 2. Peridigm - Basics 9 Multi-line comment example from a generic xml leFormat interference with the function parser When you write a xml format document, you cannot use > or < directly. When you edit a xml document, you should use > replace > and < replace <, e.g. --> instead of 2.2.2.2. Free format + This format is no longer supported in the GitHub master. For users that have existing .peridigm input decks, a utility for converting them to .yaml is available at scripts/peridigm_to_yaml.py This script was used for conversion of all the .peridigm les in the repository, with the exception of twist_and_pull.peridigm, which required manual editing to remove aprepro commands. Aprepro is not supported for .yaml or .xml input decks, and all aprepro support will go away when support for .peridigm les is removed. DLR Peridigm Users Guide 2. Peridigm - Basics 10 Comment sign A comment line is started with the hash sign: #. 2.2.2.3. YAML format Build requirements Note that using the new .yaml input les requires that Trilinos be built with YAML support. See the installation guide for instructions. Comment sign A comment line is started with the hash sign: #. Comments can start anywhere on a line, and continue until the end of the line. YAML does not support block comments. 2.2.3. Input le parser The input is parsed directly in the Peridigm.cpp class in src/core/. The input of keywords seems to be case-insensitive. 2.2.4. Function parser 2.2.4.1. Preliminaries Description You can use functions inside a Peridigm input deck. This means, it is possible to use algebraic expressions, e.g. for the denition of boundary conditions. Peridigm uses the RTCompiler function parser to process C-style expressions for the specication of input parameters, including initial and boundary conditions. The RTCompiler (RTC) is used via the Trilinos PG_RuntimeCompiler class. History The internal mechanism for processing functions used to be muParser, and was recently changed to rtcompiler, see this commit. DLR Peridigm Users Guide 2. Peridigm - Basics 11 2.2.4.2. Supported operations The RTC language can be thought of as a small subset of the C language with a couple minor modications. The following information is repeated from the RTCompiler source code documentation. Operators The RTC language has the following operators that work exactly as they do in C and have the same precedence as they do in C: + − − ∗ / ˆ == > < >= <= = || && != % ! Addition Subtration Negation Multiplication Division Exponentiation 4 Equality Greater than Greater than or equal to Less than or equal to Assignment Logical or Logical and Inequality Modulo Logical not Less than Control ow The RTC language has the following control ow statements: for( expr ; expr ; expr ) { ... } while( expr ) { ... } if (expr) {...} else if (expr) {...} else {...} These control ow statements work exactly as they do in C except that the code blocks following a control ow statement MUST be enclosed within braces even if the block only consists of one line. Line Structure The line structure in the RTC language is the same as that of C. Expressions end with a semicolon unless they are inside a control ow statement. According to this commit the .peridigm input deck format (free format) does not support multi-line entries. 4 This operator does not occur in the C language, but is added into the RTC language for convenience. DLR Peridigm Users Guide 2. Peridigm - Basics 12 Math The following math.h functions are available in RTC. Peridigm also seems to support the APREPRO functionalities. The features are reported in [11]. Table 2.5.: Math commands for Peridigm function parser Syntax Description abs(x) Absolute value of x acos(x) Inverse cosine of x, returns radians acosd(x) Inverse cosine of x, returns degrees acosh(x) Inverse hyperbolic cosine of x asin(x) Inverse sine of x, returns radians asind(x) Inverse sine of x, returns degrees asinh(x) Inverse hyperbolic sine of x atan(x) Inverse tangent of x, returns radians atan2(x,y) Inverse tangent of y/x, returns radians atan2d(x,y) Inverse tangent of y/x, returns degrees atand(x) Inverse tangent of x, returns degrees atanh(x) Inverse hyperbolic tangent of x ceil(x) Smallest integer not less than x cos(x) Cosine of x, with x in radians cosd(x) Cosine of x, with x in degrees cosh(x) Hyperbolic cosine of x d2r(x) Degrees to radians dim(x,y) x q− min x, y (x1 − x2 )2 + (y1 − y2 )2 dist(x1,y1,x2,y2) erf(x) Error function (1.0 − erf(x)) erfc(x) Complementary error function exp(x) Exponential fabs(x) returns the absolute value of x oor(x) Largest integer not greater than x ex fmod(x,y) Floating-point remainder of x/y gamma(x) returns hypot(x,y) Γ(x) p 2 x + y2 int(x), [x] Integer part of x truncated toward 0 j0(x) Bessel function of order zero j1(x) Bessel function of order one i0(x) Modied Bessel function of order zero i1(x) Modied Bessel function of order one julday(mm,dd,yy) Julian day corresponding to mm/dd/yy juldayhms(mm,dd,yy,hh,mm,ss) Julian day corresponding to mm/dd/yy at hh:mm:ss continued . . . DLR Peridigm Users Guide 2. Peridigm - Basics 13 . . . continued Syntax Description lgamma(x) log (Γ(x)) ln(x) Natural (base e) logarithm of x log(x) Natural (base e) logarithm of x log10(x) Base 10 logarithm of x log1p(x) log(1 + x) max(x,y) Maximum of x and y min(x,y) Minimum of x and y Accurate even for very small values of x nint(x) Rounds x to nearest integer. <0.5 down; >= 0.5 up polarX(r,a) polarY(r,a) r · cos(a), a is in degrees r · sin(a), a is in degrees pow(b, e) returns b to the e power (Note: you can use the Exponentiation operator instead) r2d(x) Radians to degrees rand(xl,xh) Random value between xl and xh; uniformly dis- tributed rand_lognormal(m,s) Random value with lognormal distribution with mean rand_normal(m,s) Random value normally distributed with mean m and m and stddev s stddev s rand_weibull(a, b) Random value with weibull distribution with α = a β=b x · sign(y) and sign(x,y) sin(x) Sine of x, with x in radians sind(x) Sine of x, with x in degrees sinh(x) Hyperbolic sine of x sqrt(x) Square root of x srand(seed) Seed the random number generator with the given integer value. At the beginning of Aprepro execution, srand() is called with the current time as the seed. strtod(svar) Returns a double-precision oating-point number equal to the value represented by the character string pointed to by svar. tan(x) Tangent of x, with x in radians tand(x) Tangent of x, with x in radians tanh(x) Hyperbolic tangent of x Vangle(x1,y1,x2,y2) Angle (radians) between vector x1 î+y1 ĵ and x2 î+y2 ĵ vector x1 î + y1 ĵ Vangled(x1,y1,x2,y2) Angle (degrees) between word_count(svar,del) Number of words in svar. Words are separated by one or more of the characters in the string variable del. DLR Peridigm Users Guide 2. Peridigm - Basics 14 2.2.4.3. Variables User variables Denition It is possible to dene your own variables for use inside a Peridigm input deck. The variables have to be dened at the beginning of the input deck. For YAML-input this is before the line Peridigm:. The denition starts with a hash key, followed by the variable name, the equal sign and subsequently the variable value. It is possible to perform algebraic operations inside the variable denition. #{LENGTH=1.0} #{WIDTH=0.25} #{NUM_ELEM_ALONG_WIDTH=5} #{ELEMENT_SIZE=WIDTH/NUM_ELEM_ALONG_WIDTH} #{HORIZON=0.15} Usage A variable value is used inside the model denition by calling the variable name in curly braces, e.g. for the variable HORIZON is the following example excerpt of a block denition in an input le: Blocks: Block_1: Block Names: "Block_1" Material: "testmaterial" Horizon: {HORIZON} Pre-dened variables There are several pre-dened variables that can be used in the input deck. dened in /src/core/Peridigm_BoundaryCondition.cpp The current list contains: DLR Peridigm Users Guide They are 2. Peridigm Variable t x - Basics 15 Description Time x-position of a peridynamic collocation point in the global cartesian coordinate system at time t y y-position of a peridynamic collocation point in the global cartesian coordinate system at time t z z-position of a peridynamic collocation point in the global cartesian coordinate system at time t value Prex for string keyword entries 2.2.4.4. List of examples /examples/twist_and_pull/twist_and_pull.peridigm DLR Peridigm Users Guide 2. Peridigm - Basics 16 2.3. Discretization input le format 2.3.1. Preliminaries The mesh-free discretization for Peridigm consists of peridynamic collocation points with coordinates in three-dimensional space and an associated volume. The discretization can either be an Albany multiphysics or Exodus nite element mesh or the peridynamic collocation points can be input directly. In case of the Albany or Exodus mesh description, the conversion from the nite element mesh to the peridynamic collocation points is performed internally by Peridigm for a number of supported element types. The supported element types are explained in the respective sections. The discretization is generally stored in an external le and input into the Peridigm model le by referencing the discretization le name. DLR Peridigm Users Guide 2. Peridigm - Basics 17 2.3.2. Text File Direct collocation point text le input 2.3.2.1. Description Discretization based on the direct specication of peridynamic collocation points. 2.3.2.2. Mesh le layout The ASCII mesh le is space-separated. It consists of the following ve columns in this order: Column Value 1 x 2 y Description x-coordinate of the peridynamic collocation point in the global cartesian coordinate system y -coordinate of the peridynamic collocation point in the global cartesian coordinate system 3 z z -coordinate of the peridynamic collocation point in the global cartesian coordinate system 4 block_id 5 volume Block-ID for property assignment Collocation point volume Following is an exemplary input le where all points belong to Block 1 and have the same volume 1.0. # x y z block_id volume -1.0 -0.5 0.5 1 1.0 -1.0 -0.5 -0.5 1 1.0 -1.0 0.5 0.5 1 1.0 -1.0 0.5 -0.5 1 1.0 ... 2.3.2.3. Code from src/io/discretization/: Peridigm_TextFileDiscretization.cpp Peridigm_TextFileDiscretization.hpp DLR Peridigm Users Guide 2. Peridigm - Basics 18 2.3.3. Exodus nite element mesh 2.3.3.1. Description Discretization based on a nite element mesh in binary Exodus format. 2.3.3.2. Mesh le layout To get an idea how the binary exodus format is setup have a look at [12]. Convert binary Exodus mesh to ASCII text le The Exodusformat uses the HDF5-library and especially the included NetCDF-C library. NetCDF-C provides tools to convert the binary Exodus format to a human-readable ASCII equivalent and vice-versa. NetCDF-Cis required to build Peridigm. Therefore, if Peridigm is available on your system, these tools are also available. In case Peridigm is not installed on your system, use the FETranslator User Guide from the FESuite-Repository for instructions on how to install the necessary tools on your operating system. In case you want to convert the binary mesh in le $FILE.g$ into a normal text le, open a command line and type ncdump $FILE.g > $FILE.g.ascii Afterwards, the le $FILE.g.ascii contains the text le. Convert a ASCII text le into a binary Exodus mesh In case you prepared an ASCII text le $FILE.g.ascii which is the equivalent of a binary Exodus mesh le, you can translate the text le to a binary mesh le with ncgen -o $FILE.g $FILE.g.ascii 2.3.3.3. Code /src/io/discretization/Peridigm_ExodusDiscretization.cpp /src/io/discretization/Peridigm_ExodusDiscretization.hpp DLR Peridigm Users Guide $FILE.g$ 2. Peridigm - Basics 19 2.3.3.4. Possibilities to create format Finite element meshes in the Exodus format can be created using CUBIT gmsh → https://cubit.sandia.gov/ vtk → exodus gmsh-exodus-converter https://github.com/IaPCS/gmsh-exodus-converter 2.3.3.5. Supported element types SPHERE_ELEMENT From Sierra/SolidMechanics TET_ELEMENT Sketch: TO-DO 10-node tetrahedron elements are treated as 4-node tetrahedron elements. Middle nodes on the element edges are discarded. Method for conversion: tetCentroidAndVolume() in Peridigm_GeometryUtils.cpp HEX_ELEMENT Sketch: TO-DO 20-node hexahedron elements are treated as 8-node hexahedron elements. Middle nodes on the element edges are discarded. Method for conversion: hexCentroidAndVolume() in Peridigm_GeometryUtils.cpp 2.3.3.6. How the conversion between FE mesh to Peridigm collocation points works Von: Littlewood, David John [mailto:djlittl@sandia.gov] Gesendet: Donnerstag, 10. März 2016 17:46 An: Parks, Michael L; Rädel, Martin Cc: peridigm-users@software.sandia.gov Betre: Mesh conversion Martin, As Mike said, Peridigm uses the approach of converting a hex or tet element into a single nodal volume. The routines in Peridigm are called tetCentroidAndVolume() and DLR Peridigm Users Guide 2. Peridigm - Basics 20 hexCentroidAndVolume(), which are in Peridigm_GeometryUtils.*pp. The routine for converting a 4-noded tet is trivial. The conversion routine for a 8-noded hex operates by dividing the hex into 24 tets, using temporary points at the face barycenters and one at the element barycenter. Once we have the 24 tets, the conversion routines for tets are applied and the results appropriately summed together to get the hex centroid and volume. The tet routines are exact, and the hex routines are exact if the hex has planar faces. If the hex has non-planar faces, the routines result in a faceted approximation of the hex. The use of 24 hexes guarantees that the approach is not orientation dependent. It would be possible, I believe, to do something more complex using nite-element shape functions, but this involves making some assumptions (the code is given only node and connectivity information, information on shape functions is generally not included in mesh les). For 10-noded tets and 20-noded hexes, Peridigm ignores all the extra nodes and considers only the 4 corner nodes for a tet and the 8 corner nodes for a hex. One thing to be aware of is the need to transfer node sets from the original hex/tet mesh to the peridynamic discretization. The Peridigm algorithm includes the newly-created nodal volume in a node set if any of the nodes in the original element are in the node set. Peridigm ignores sides sets, as they are generally used for applying pressure/traction loads, which are not directly applicable to nonlocal models and/or meshfree discretizations. The result of the conversion routine is a point cloud that denes (x, y, z, volume, block_id) for each node in the discretization. In the code, the block_id is used to associate a material model with the nodal volume, as well as some other operations. One caution regarding converting pre-existing hex/tet meshes is that peridynamics is not well suited to handle highly graded meshes. The mesh does not need to be uniform, but if the mesh contains elements with, for example, 10-to-1 dierences in element size, you`ll run into problems. In this case, you`ll have to choose a horizon that is several times larger than the large elements, leading to the situation where the horizon is many times larger than the smallest elements. In most cases this fails to achieve the high delity you were looking for in the highly-rened portion of the mesh, and it can really hurt code performance. Your options for reading in pre-existing mesh are 1) convert the mesh to exodus/genesis format, in which case Peridigm can read it directly and takes care of everything, 2) pre-process the mesh yourself and create a text le with (x, y, z, volume, block_id) information and use Peridigm`s text-le reader, or 3) implement a new discretization type that reads your mesh les into Peridigm. In the last case, you`d be able to leverage a lot of the code in the existing exodus le reader, but obviously the specics of the le format would be dierent. If it were me, I`d go with option 1), and I`d use the exodus.py python tool that is distributed as part of SEACAS. The SEACAS package is distributed with Trilinos, so you should have access to that already if you`re running Peridigm. There`s a learning DLR Peridigm Users Guide 2. Peridigm - Basics 21 curve associated with the exodus format, but if you`re able to convert to exodus format then you can use all the SEACAS utilities, for example decomp for creating parallel decompositions. (Side note, technically exodus is an output le format, and genesis is the corresponding input le format, but in practice people call both of them exodus.) Hope this helps, Dave DLR Peridigm Users Guide 2. Peridigm - Basics 22 2.3.4. Albany multiphysics mesh DLR Peridigm Users Guide 2. Peridigm - Basics 23 2.3.5. PdQuickGrid Internal mesh generator DLR Peridigm Users Guide Peridigm - Quick reference 3. guide 3.1. Discretization 3.1.1 Description Specify the discretization. Dierent types of discretization are supported, see section 2.3. 3.1.2 Literature [7] 3.1.3 Code Release version Available from version 1.2. Required compiler options - Routines from src/io/discretization/: Basically all classes DLR Peridigm Users Guide 24 3. Peridigm 3.1.4 - Quick reference guide 25 Input parameters List Name Type Required Default 1 string X - Type Description Mesh key: Exodus | Text File | Albany | PdQuickGrid Input Mesh File string X - Name of the mesh le in the same folder 2 Inuence Function string - One One | Parabolic Decay | Gaussian | User dened 3 Omit Bonds Between Blocks string - - All | None | List of blocks to ignore bonds between 4 Bond Filters List - - List of Bond Filters Remarks 1. Discretization type: Text File: Exodus: Albany: PdQuickGrid: ASCII text le mesh input, see 2.3.2 Binary Exodus mesh input, see 2.3.3 Mesh from Albany multiphyisics code, see 2.3.4 Mesh creation inside Peridigm for simple cubical geometries, see 2.3.5 2. See section 3.2.3 3. Possible values for keyword Omit Bonds Between Blocks : All None Discrete denition of individual block pairs seems to be not possible at the moment (see src/io/discretization/Peridigm_ExodusDiscretization.cpp lines 744-762) 4. Additional lines might be added by the use of the discretization tools described in section 3.2. DLR Peridigm Users Guide 3. Peridigm 3.1.5 - Quick reference guide Exemplary input section Text File Direct collocation point text le input XML format Free format - YAML format - Exodus nite element mesh XML format Free format Discretization Type "Exodus" Input Mesh File "mesh.g" Influence Function "One" DLR Peridigm Users Guide 26 3. Peridigm - Quick reference guide YAML format - Albany multiphysics mesh XML format - Free format - YAML format - PdQuickGrid Internal mesh generator XML format - Free format - YAML format - DLR Peridigm Users Guide 27 3. Peridigm 3.1.6 - Quick reference guide 28 List of examples Text File Direct collocation point text le input From test/regression/: Compression_QS_3x2x2_TextFile/Compression_QS_3x2x2_TextFile.xml From test/verification/: MultipleHorizons/MultipleHorizons.xml Exodus nite element mesh For input parameter Inuence Function : /test/verification/Compression_3x1x1_InfluenceFunction/Compression_3x1x1_Influenc For input parameter Omit Bonds Between Blocks : /test/regression/Bar_TwoDisconnectedPieces_QS/Bar.xml Albany multiphysics mesh PdQuickGrid Internal mesh generator DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.2. Discretization tools 3.2.1. Preliminaries Tools to modify the discretization behavior. 3.2.2. Bond Filters 3.2.2.1. Description A method to omit bonds in the discretization. 3.2.2.2. Code Dependent on the type of discretization the following classes are used: from src/io/discretization/: Peridigm_AlbanyDiscretization.cpp Peridigm_AlbanyDiscretization.hpp Peridigm_ExodusDiscretization.cpp Peridigm_ExodusDiscretization.hpp Peridigm_PdQuickGridDiscretization.hpp Peridigm_PdQuickGridDiscretization.cpp Peridigm_TextFileDiscretization.hpp Peridigm_TextFileDiscretization.cpp All extend the super-class /src/io/discretization/Peridigm_Discretization.cpp /src/io/discretization/Peridigm_Discretization.hpp Each class uses the method from the super-class : PeridigmNS::Discretization::createBondFilters DLR Peridigm Users Guide 29 3. Peridigm - Quick reference guide 30 3.2.2.3. Input parameters List Name Type Required Default Type string X - Description Rectangular_Plane |Disk For type Rectangular_Plane additionally: Name Type Required Default Normal_X double X - Normal_Y double X - Description x-component of the cut- ting plane normal vector y -component of the cutting plane normal vector Normal_Z double X - Lower_Left_Corner_X double X - Lower_Left_Corner_Y double X - Lower_Left_Corner_Z double X - z -component of the cutting plane normal vector x component of lower left rectangle corner y component of lower left rectangle corner z component of lower left rectangle corner Bottom_Unit_Vector_X double X - x component of rectangle bottom edge direction vector Bottom_Unit_Vector_Y double X - y component of rectangle bottom edge direction vector Bottom_Unit_Vector_Z double X - z component of rectangle bottom edge direction vector Bottom_Length double X - Side_Length double X - Length of rectangle bot- tom and top edges Length of rectangle and right edges For type Disk additionally: DLR Peridigm Users Guide left 3. Peridigm - Quick reference guide Name Normal_X 31 Type Required Default double X - Description x-component of the cutting plane normal vector Normal_Y double X - Normal_Z double X - Center_X double - Center_Y double X X X X y -component of the cutting plane normal vector z -component of the cutting plane normal vector Center_Z double Radius double - x-component of the base point y -component of the base point z -component of the base point - Disk radius - Remarks 1. Bond Filters cause the bonds to not be created in the rst place 2. For type Rectangular_Plane: Dene a rectangular cut plane where all bonds are released prior to the simulation. Disk: Dene a circular cut plane where all bonds are released prior to the simulation. 3. It is suggested to dene the output variable Number_Of_Neighbors in order to conrm that the bond lter is in the right place. It always seems to take me multiple tries to get it right. Usage Rectangular_Plane The input parameters form a 2D rectangle in 3D space. Bonds that would pass through the rectangle are not formed, which creates a pre-crack. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 32 Model Normal 4 3 Side_ Length Lower_ Left_ Corner 1 2 Bottom_ Unit_ Rectangular Vector Plane Bottom_Length Figure 3.1.: Bond Filter - Rectangular Plane Lower_Left_Corner Point in 3D which denes the origin of the rectangle in its lower left corner, here named 1. Bottom_Unit_Vector Vector of unit length in 3D dening the direction along the bottom of the rectangle, here from 1 to 2. Normal Vector in 3D that denes the normal direction of the rectangle. From this and Bottom_Unit_Vector the vector of the other side of the rectangle, here from 1 to 4, is calculated internally using the vector or cross product. Bottom_Length Length of the side along Bottom_Unit_Vector, so the length between 1 to 2 and 3 to 4. Side_Length Length of the others two sides, here 1 to 4 and 2 to 3. Disk The input parameters form a 2D circular disk in 3D space. Bonds that would pass through the rectangle are not formed, which creates a pre-crack. 3.2.2.4. Exemplary input section XML-format from /test/regression/PrecrackedPlate/PrecrackedPlate.xml: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 33 from /test/regression/DiskFilter/DiskFilter.xml: Free format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Discretization ... Bond Filters bond_filter-1 Type "Rectangular_Plane" Normal_X 0.0 Normal_Y -1.0 Normal_Z 0.0 Lower_Left_Corner_X -0.1 Lower_Left_Corner_Y 0.0 Lower_Left_Corner_Z -0.1 Bottom_Unit_Vector_X 0.0 Bottom_Unit_Vector_Y 0.0 Bottom_Unit_Vector_Z 1.0 Bottom_Length 0.2 Side_Length 10.1 YAML format - 3.2.2.5. List of examples From test/regression/: PrecrackedPlate/PrecrackedPlate.xml PrecrackedPlateTwoCracks/PrecrackedPlateTwoCracks.xml DLR Peridigm Users Guide 34 3. Peridigm - Quick reference guide 35 3.2.3. Inuence Function 3.2.3.1. Description The inuence function in the peridynamic theory is used to weight the contribution of all the bonds participating in the computation of volume-dependent properties dependent of the distance to the family origin. 3.2.3.2. Literature [13] [14] 3.2.3.3. Code Release version Available from version 1.2. Required compiler options - Routines from src/core/: Peridigm_Peridigm_InfluenceFunction.cpp Peridigm_Peridigm_InfluenceFunction.hpp 3.2.3.4. Input parameters List The inuence function is not an individual object. Therefore, no parameter list is required here. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 36 Remarks 1. The inuence function is dened for the whole model. 2. Function values are dependent of the bond length kξk and the local horizon 3. The inuence functions in Figure 3.2 are pre-implemented. δ Each unrecognized string is assumed to be an user-dened inuence function. The default value is set to One in case the keyword is not specied, see 1 0.5 ωξ (ξ) 1 ωξ (ξ) ωξ (ξ) 1 Peridigm.cpp. 0.5 0.5 [15] [14] 0 0 0.5 0 1 0 0.5 kξ|| δ 0 1 0 kξ|| δ (a) One 0.5 1 kξ|| δ (b) Parabolic Decay (c) Gaussian Figure 3.2.: Inuence functions 4. For further information on the eect of the inuence function see: [13] & [16]. 5. Other Inuence functions and their usage can be found in [15]. The Parabolic Decay is used in [17]. Several dierent functions can be found in the literature for the Gaussian inuence function: ωξ (ξ) = [14, 18]: kξk 2 − δ e kξk 2 − 0.4·δ ωξ (ξ) = e [15]: 1 Here, the version from [15] is used . 3.2.3.5. Exemplary input section XML-format 1 see https://github.com/peridigm/peridigm/issues/42 DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Free format - YAML format - 3.2.3.6. List of examples - DLR Peridigm Users Guide 37 3. Peridigm - Quick reference guide 38 3.3. Material models 3.3.1. Preliminaries Generally, material models or more generelly peridynamic constitutive laws are divided by the underlying peridynamic formulation and can be grouped into two categories: Bond-based State-based bond forces depend only on a single pair of material points bond forces depend on deformations of all neighboring material points A rough classication of material models in Peridigm can be found in Figure 3.3. Material models Bond-based (BB) State-based (SB) Non-correspondence PD micro-brittle (PMB) Correspondence (Non-ordinary SB) Peridynamic solid (PS) Linear PS (LPS) ≡ Elastic Elastic Plastic Elastic Plastic Hardening Position-Aware (PA) Elastic Cp. PA Linear Solid (PALS) PA ViscoElastic (PAVE)Elastic Plastic Cp. ... Viscoelastic ... Figure 3.3.: Classication of peridynamic material models Bond-based material models are not discussed here any further. Peridynamic state-based material models are further divided in two main classes, the non-correspondence and correspondence materials. The non-correspondence is material created directly in the peridynamic formulation. The correspondence material is formulated in the classical continuum mechanical way. Both material classes will/should evaluate the same result for the same material modeled if surface eects have no inuence. However, the correspondence material gives DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 39 additional outputs as Cauchy stresses. This makes the results more comparable to the standard formulation. 3.3.1.1. Comments on non-correspondence material models Description There are sub-classes of non-correspondence material models. The rst material model implementation is the peridynamic micro-brittle (PMB) material for bond-based peridynamics. Due to the limitations of bond-based peridynamics, this is not further discussed here. State-based non-correspondence material models are the linear peridynamic solid (LPS) model and its extension to other types of material behaviour, like plasticity or viscoelasticity. These materials suer from one large disadvantage, the underlying mathematical models assume that all points within are in the bulk. However, points near the surface are missing bonds. Missing bonds imply and induce incorrect material properties. Thus, these models are consistent. To overcome this limitation, the so-called Position-Aware class of material models was developed. Remarks If not stated otherwise, peridynamic solid non-correspondence (PS) materials in Peridigm do not have surface correction implemented. Position-aware (PA) materials were developed to account for missing bonds on surfaces removing the need for auxiliary surface correction techniques. 3.3.1.2. Comments on correspondence material models Do not require surface correction Might suer from zero-energy modes Each family needs at least 3 non-collinear bonds active, otherwise the deformation gradient can not be calculated and the solution fails. Therefore, the bond check algorithm included in the interface aware damage model (cf. section 3.4.4) has to be included if a damage model should be used. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 40 3.3.2. Elastic 3.3.2.1. Description An isotropic, linear elastic material model. This material is also commonly known as the linear peridynamic solid (LPS) material model. The model does not support a exible horizon, therefore a constant horizon for each block is assumed. 3.3.2.2. Literature [19] 3.3.2.3. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.4.: Linear-elastic material model 3.3.2.4. Code Release version Available from version 1.2. Required compiler options - DLR Peridigm Users Guide 3. - Quick reference guide Peridigm 41 Routines IO: /src/materials/Peridigm_ElasticMaterial.cpp /src/materials/Peridigm_ElasticMaterial.hpp Computation: /src/materials/elastic.cxx /src/materials/elastic.h 3.3.2.5. Input parameters List Name Type Required Default Material Model string X X X1,2 X1,2 - Material type Elastic - Material density - Volumetric elasticity - Shear elasticity or en- Density double Bulk modulus double Shear Modulus double Description gineering constant for shear stiness Young's Modulus double X1,2 - Engineering constant for axial stiness Poisson's Ratio double X1,2 - Engineering constant for transverse contraction Thermal Expansion Coecient double - - Thermal Expansion Coecient Apply Shear Correction Factor 4 Plane Strain bool - true bool - false Plane strain formula- tion 4 Plane Stress bool - false Plane stress formulation Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 42 Internally, the engineering constants are converted to (K ,G). 3. Consider the general remarks on non-correspondence materials in section 3.3.1.1 4. Activate plane strain or plane stress formulation for 2D analyses, cf. Equation (8) in [20]. Both or mutually exclusive. If none of the two parameters is used, the default 3D formulation is applied. 3.3.2.6. Exemplary input section XML-format Using engineering constants: Using volumetric and shear stiness: from Link from /test/examples/fragmenting_cylinder/fragmenting_cylinder.peridigm Free format - YAML format - 3.3.2.7. Possible output variables for the material model Bond_Damage Model_Coordinates Coordinates Partial_Stress Damage Surface_Correction_Factor Deviatoric_Plastic_Extension Temperature_Change Dilatation Volume Force_Density Weighted_Volume Lambda 3.3.2.8. List of examples From test/regression/: Bar_OneBlock_OneMaterial_QS/Bar.xml Body_Force/Body_Force_Explicit.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 44 3.3.3. Elastic Bond Based 3.3.3.1. Description An isotropic, linear elastic bond-based material model. 3.3.3.2. Literature [21] 3.3.3.3. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.5.: Linear-elastic material model 3.3.3.4. Code Release version Available from version 1.5. Required compiler options - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 45 Routines IO: /src/materials/Peridigm_ElasticBondBasedMaterial.cpp /src/materials/Peridigm_ElasticBondBasedMaterial.hpp Computation: /src/materials/elastic_bond_based.cxx /src/materials/elastic_bond_based.h 3.3.3.5. Input parameters List Name Type Required Default Material Model string X X X1,2,3 - Material type Elastic Bond Based - Material density - Volumetric elasticity Density double Bulk modulus double Description Remarks 1. Only the bulk modulus, K, can be used as elastic constant. 2. The Poisson's Ratio is set to a xed value of 1 4 . The validity range of this value is discussed in Table 2.3 3. The Shear Modulus is calculated from G= 3K (1 − 2ν) 2 · (1 + ν) 4. Shear Correction Factor is not supported for the material model 5. Thermal expansion is not currently supported for the material model 3.3.3.6. Exemplary input section XML-format - Free format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide YAML format - 3.3.3.7. Possible output variables for the material model 3.3.3.8. List of examples - DLR Peridigm Users Guide 46 3. Peridigm - Quick reference guide 47 3.3.4. Elastic Correspondence 3.3.4.1. Description An isotropic, linear elastic correspondence material model. 3.3.4.2. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.6.: Linear-elastic correspondence material model 3.3.4.3. Code Release version Available from version 1.2. Required compiler options - Routines IO: /src/materials/Peridigm_ElasticCorrespondenceMaterial.cpp /src/materials/Peridigm_ElasticCorrespondenceMaterial.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 48 Computation: /src/materials/elastic_correspondence.cxx /src/materials/elastic_correspondence.h 3.3.4.4. Input parameters List Name Type Required Default Material Model string X - Description Material type Elastic Corre- spondence - Material density - Volumetric elasticity double X X1,2 X1,2 - Shear elasticity or engineering double X1,2 - Engineering constant for axial double 1,2 Density double Bulk modulus double Shear Modulus Young's Modulus constant for shear stiness stiness Poisson's Ratio X - Engineering constant for transverse contraction 3 Hourglass Coecient double X - bool - ? Compute Partial Stress Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). 3. Hourglass coecient is usually between 0.0 and 0.05 4. Automatic Dierentiation is not supported for the Correspondence material model 5. Shear Correction Factor is not supported for the Correspondence material model 6. Thermal expansion is not currently supported for the Correspondence material model 7. Consider the general remarks on correspondence materials in section 3.3.1.2 DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 49 3.3.4.5. Exemplary input section XML-format - Free format Materials My Material Material Model "Elastic Correspondence" Density 8.0 Bulk Modulus 1.500e12 Shear Modulus 6.923e11 Hourglass Coefficient 0.02 YAML format - 3.3.4.6. Possible output variables for the material model Bond_Damage Model_Coordinates Coordinates Partial_Stress Damage Surface_Correction_Factor Deviatoric_Plastic_Extension Temperature_Change Dilatation Volume Force_Density Weighted_Volume Lambda Additional correspondence material output variables: Unrotated_Cauchy_Stress Unrotated_Rate_Of_Deformation 3.3.4.7. List of examples From examples/: tensile_test/tensile_test.peridigm DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 50 3.3.5. Elastic Partial Volume 3.3.5.1. Description An isotropic, partial volume linear elastic material model. 3.3.5.2. Literature - 3.3.5.3. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.7.: Partial-volume linear-elastic material model 3.3.5.4. Code Release version ? Required compiler options use -D USE_PV:BOOL=ON DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 51 Routines 3.3.5.5. Input parameters List Name Type Required Default Material Model string X - Description Material type Elastic Partial Volume - Material density - Volumetric elasticity double X X1,2 X1,2 - Shear elasticity or engineering con- Young's Modulus double X1,2 - Poisson's Ratio double X1,2 - Density double Bulk modulus double Shear Modulus stant for shear stiness Engineering constant for axial stiness Engineering constant for transverse contraction Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). 3. Consider the general remarks on non-correspondence materials in section 3.3.1.1 3.3.5.6. Exemplary input section XML-format - Free format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Materials LPS Material Material Model "Elastic Partial Volume" Density 8.05 Bulk Modulus 160.0e10 Shear Modulus 79.3e10 YAML format - 3.3.5.7. Additional output variables for the material model 3.3.5.8. List of examples From test/verification/: LinearLPSBar/LinearLPSBar.peridigm DLR Peridigm Users Guide 52 3. Peridigm - Quick reference guide 53 3.3.6. Pals - Position Aware Linear Solid 3.3.6.1. Description An isotropic, position-aware linear elastic material model. 3.3.6.2. Literature [22] 3.3.6.3. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.8.: Position-aware linear-elastic material model 3.3.6.4. Code Release version Available from version 1.5. Required compiler options - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 54 Routines IO: /src/materials/Peridigm_Pals_Model.cpp /src/materials/Peridigm_Pals_Model.hpp Computation: /src/materials/pals.cxx /src/materials/pals.h 3.3.6.5. Input parameters List Name Type Required Default Material Model string X X X1,2 X1,2 - Material type Pals - Material density - Volumetric elasticity - Shear elasticity or en- Density double Bulk modulus double Shear Modulus double Description gineering constant for shear stiness Young's Modulus double X1,2 - Engineering constant for axial stiness Poisson's Ratio double Dilatation Inuence Function string X1,2 - - One Engineering constant for transverse contraction 4 One | Parabolic De- cay | Gaussian | User dened Deviatoric Inuence Functions 4 string - One One | Parabolic De- cay | Gaussian | User dened Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 55 3. Consider the general remarks on non-correspondence materials in section 3.3.1.1 4. See section 3.2.3 & /src/core/Peridigm_InfluenceFunction.cpp/hpp. Each un- recognized string is assumed to be an user-dened inuence function. 3.3.6.6. Exemplary input section XML-format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 43 Free format Materials testadhesivematerial Material Model "Pals" Density {MAT_DENSITY} Bulk Modulus 3202.81124497992 Shear Modulus 1195.6521739130435 Dilatation Influence Function "One" Deviatoric Influence Function "One" YAML format - 3.3.6.7. Additional output variables for the material model DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 56 Deviatoric_Normalization Lagrange_Multiplier_Dilatation_1- Dilatation 6 Dilatation_Normalization 3.3.6.8. List of examples From test/regression/: Pals_Simple_Shear/Pals_Simple_Shear.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 57 3.3.7. Linear LPS Partial Volume 3.3.7.1. Description - 3.3.7.2. Literature - 3.3.7.3. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.9.: Partial-volume linear-peridynamic solid/elastic material model 3.3.7.4. Code Release version Available from version 1.4. Required compiler options use -D USE_PV:BOOL=ON DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 58 Routines IO: /src/materials/Peridigm_LinearLPSPVMaterial.cpp /src/materials/Peridigm_LinearLPSPVMaterial.hpp Computation: /src/materials/linear_lps_pv.cxx /src/materials/linear_lps_pv.h 3.3.7.5. Input parameters List Name Type Required Default Description Material Model string X - Density double - Material density Bulk modulus double - Volumetric elasticity Shear Modulus double X X1,2 X1,2 Material type Linear LPS Partial Volume - Shear elasticity or engineering constant for shear stiness Young's Modulus double X1,2 - Engineering constant for axial stiness Poisson's Ratio double X1,2 - Engineering constant for transverse contraction Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). 3. Consider the general remarks on non-correspondence materials in section 3.3.1.1 DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.3.7.6. Exemplary input section XML-format - Free format Materials Linearized LPS Material Material Model "Linear LPS Partial Volume" Density 8.05 Bulk Modulus 160.0e10 Shear Modulus 79.3e10 YAML format - 3.3.7.7. Possible output variables for the material model 3.3.7.8. List of examples From test/verification/: LinearLPSBar/LinearLPSBar.peridigm DLR Peridigm Users Guide 59 3. Peridigm - Quick reference guide 60 3.3.8. LCM 3.3.8.1. Description An isotropic, linear elastic material model. Purpose of this material model is a non- ordinary state-based interface to classical material models in the Laboratory for Computational Mechanics (LCM) (Albany). 3.3.8.2. Literature - 3.3.8.3. Stiness model sketch σ τ tension K G γ ε compression (a) Axial (b) Shear Figure 3.10.: Linear-elastic material model 3.3.8.4. Code Release version Available from version 1.2. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 61 Required compiler options use -D USE_LCM:BOOL=ON and specify/adapt the following path: -D USE_LCM:BOOL=ON -D LCM_INCLUDE_DIR:PATH=/Users/djlittl/Albany/src/LCM -D LCM_LIBRARY_DIR:PATH=/Users/djlittl/Albany/GCC_4.7.2_OPT/src Routines IO: /src/materials/Peridigm_LCMMaterial.cpp /src/materials/Peridigm_LCMMaterial.hpp Computation: ? 3.3.8.5. Input parameters List Name Type Required Default Description Material Model string - - Material type LCM Density double X X1 X1 - Material density - Volumetric elasticity Bulk modulus double Shear Modulus double - Shear elasticity or engineering constant for shear stiness Remarks 1. The stiness can be only dened by the Lamé coecients (K ,G) 2. Thermal expansion is not currently supported for the material model 3.3.8.6. Exemplary input section XML-format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Free format - YAML format - 3.3.8.7. Possible output variables for the material model 3.3.8.8. List of examples - DLR Peridigm Users Guide 62 3. Peridigm - Quick reference guide 63 3.3.9. Elastic Plastic 3.3.9.1. Description An isotropic, linear elastic perfectly plastic material model. 3.3.9.2. Literature [23] 3.3.9.3. Stiness model sketch σ τ KH = 0 tension σy τ σy K ε GH = 0 G compression (a) Axial (b) Shear Figure 3.11.: Linear-elastic perfectly-plastic material model 3.3.9.4. Code Release version Available from version 1.2. Required compiler options - DLR Peridigm Users Guide γ 3. Peridigm - Quick reference guide 64 Routines IO: /src/materials/Peridigm_ElasticPlasticMaterial.cpp /src/materials/Peridigm_ElasticPlasticMaterial.hpp Computation: /src/materials/elastic_plastic.cxx /src/materials/elastic_plastic.h 3.3.9.5. Input parameters List Name Type Required Default Description Material Model string X - Material Density double - Material density Bulk modulus double - Volumetric elasticity Shear Modulus double X X1,2 X1,2 - Shear elasticity or en- type Elastic Plastic gineering constant for shear stiness Young's Modulus double X1,2 - Engineering constant for axial stiness Poisson's Ratio double X1,2 - Engineering constant for transverse contraction double X - Apply Shear Correction Factor bool - true Disable Plasticity bool - false Yield Stress Yield stress Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 65 3. Yield stress is an equivalent uniaxial stress and therefore applicable to axial, shear as well as mixed stress states. 4. Thermal expansion is not currently supported for the Elastic Plastic material model 5. Consider the general remarks on non-correspondence materials in subsubsection 3.3.1.1 3.3.9.6. Exemplary input section XML-format From ep_cube.xml: Free format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 66 YAML format - 3.3.9.7. Possible output variables for the material model Bond_Damage Force_Density Coordinates Lambda Damage Model_Coordinates Deviatoric_Plastic_Extension Volume Dilatation Weighted_Volume 3.3.9.8. List of examples From test/regression/: Bar_TwoBlocks_TwoDifferentMaterial_QS/Bar.xml From test/verification/: ep_cube/ep_cube.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 67 3.3.10. Elastic Plastic Correspondence 3.3.10.1. Description An isotropic, linear elastic perfectly plastic correspondence material model. 3.3.10.2. Stiness model sketch σ τ KH = 0 tension σy τ σy K ε GH = 0 G γ compression (a) Axial (b) Shear Figure 3.12.: Linear-elastic perfectly-plastic correspondence material model 3.3.10.3. Code Release version Available from version 1.2. Required compiler options - Routines IO: /src/materials/Peridigm_ElasticPlasticCorrespondenceMaterial.cpp /src/materials/Peridigm_ElasticPlasticCorrespondenceMaterial.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 68 Computation: /src/materials/elastic_plastic_correspondence.cxx /src/materials/elastic_plastic_correspondence.h 3.3.10.4. Input parameters List Name Type Required Default Material Model string - - Description Material type Plastic Elastic Correspon- dence Density double Bulk modulus double Shear Modulus double X X1,2 X1,2 - Material density - Volumetric elasticity - Shear elasticity or engineering constant for shear stiness Young's Modulus double X1,2 - Engineering constant for axial stiness Poisson's Ratio double X1,2 - Engineering constant for transverse contraction Yield Stress Apply Shear Correction Factor 4 Hourglass Coecient Disable Plasticity double X - bool - true double X bool - Yield stress false Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). 3. Yield stress is an equivalent uniaxial stress and therefore applicable to axial, shear as well as mixed stress states. 4. Hourglass coecient is usually between DLR 0.0 and 0.05 Peridigm Users Guide 3. Peridigm - Quick reference guide 69 5. Automatic Dierentiation is not supported for the correspondence material model 6. Shear Correction Factor is not supported for the correspondence material model 7. Thermal expansion is not currently supported for the correspondence material model 8. Consider the general remarks on correspondence materials in section 3.3.1.2 3.3.10.5. Exemplary input section XML-format Free format - YAML format - 3.3.10.6. Possible output variables for the material model Bond_Damage Force_Density Coordinates Lambda Damage Model_Coordinates Deviatoric_Plastic_Extension Volume Dilatation Weighted_Volume Additional correspondence material output variables: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 70 Equivalent_Plastic_Strain Unrotated_Rate_Of_Deformation Unrotated_Cauchy_Stress Von_Mises_Stress 3.3.10.7. List of examples From test/verification/: ElasticPlasticCorrespondenceFullyPrescribedTension/ElasticPlasticCorrespondenceFu DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 71 3.3.11. Pressure Dependent Elastic Plastic 3.3.11.1. Description 3.3.11.2. Literature [24] 3.3.11.3. Stiness model sketch - 3.3.11.4. Code Release version Available from version 1.2. Required compiler options use -D USE_CJL:BOOL=ON Routines 3.3.11.5. Input parameters List Name Type Required Default Material Model string - - Description Material type Elastic Plastic Remarks 3.3.11.6. Exemplary input section XML-format - DLR Peridigm Users Guide Pressure Dependent 3. Peridigm - Quick reference guide Free format - YAML format - 3.3.11.7. Possible output variables for the material model 3.3.11.8. List of examples - DLR Peridigm Users Guide 72 3. Peridigm - Quick reference guide 73 3.3.12. Elastic Plastic Hardening 3.3.12.1. Description An isotropic, linear-elastic linear-hardening material model. 3.3.12.2. Literature [25] 3.3.12.3. Stiness model sketch σ τ KH tension σy τ σy K ε GH G compression (a) Axial (b) Shear Figure 3.13.: Linear-elastic linear-hardening material model 3.3.12.4. Code Release version Available from version 1.2. Required compiler options - DLR Peridigm Users Guide γ 3. Peridigm - Quick reference guide 74 Routines IO: /src/materials/Peridigm_ElasticPlasticHardeningMaterial.cpp /src/materials/Peridigm_ElasticPlasticHardeningMaterial.hpp Computation: /src/materials/elastic_plastic_hardening.cxx /src/materials/elastic_plastic_hardening.h 3.3.12.5. Input parameters List Name Type Required Default Description Material Model string - - Material Density double - Material density Bulk modulus double - Volumetric elasticity Shear Modulus double X X1,2 X1,2 - Shear elasticity or en- type Elastic Plastic Hardening gineering constant for shear stiness Young's Modulus double X1,2 - Engineering constant for axial stiness Poisson's Ratio double X1,2 - Engineering constant for transverse contraction - Yield stress double X X - Linear hardening modu- Apply Shear Correction Factor bool - true Disable Plasticity bool - false Yield Stress double Hardening modulus lus Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) GH = DLR EH 2 · (1 + ν) Peridigm Users Guide 3. Peridigm - Quick reference guide 75 Internally, the engineering constants are converted to (K ,G). 3. Yield stress is an equivalent uniaxial stress and therefore applicable to axial, shear as well as mixed stress states. 4. Thermal expansion is not currently supported for the Elastic Plastic Hardening material model 5. Consider the general remarks on non-correspondence materials in subsubsection 3.3.1.1 3.3.12.6. Exemplary input section XML-format Free format - YAML format - 3.3.12.7. Possible output variables for the material model Bond_Damage Lambda Coordinates Model_Coordinates Damage Surface_Correction_Factor Deviatoric_Plastic_Extension Volume Dilatation Weighted_Volume Force_Density 3.3.12.8. List of examples - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 76 3.3.13. Elastic Plastic Hardening Correspondence 3.3.13.1. Description A linear-elastic linear-hardening correspondence material model. 3.3.13.2. Stiness model sketch σ τ KH tension σy τ σy K ε GH G γ compression (a) Axial (b) Shear Figure 3.14.: Linear-elastic linear-hardening correspondence material model 3.3.13.3. Code Release version Available from version 1.2. Required compiler options - Routines IO: /src/materials/Peridigm_IsotropicHardeningPlasticCorrespondenceMaterial.cpp /src/materials/Peridigm_IsotropicHardeningPlasticCorrespondenceMaterial.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 77 Computation: /src/materials/isotropic_hardening_correspondence.cxx /src/materials/isotropic_hardening_correspondence.h 3.3.13.4. Input parameters List Name Type Required Default Material Model string - - Description Material type Isotropic Hardening Correspon- dence Density double Bulk modulus double Shear Modulus double X X1,2 X1,2 - Material density - Volumetric elasticity - Shear elasticity or engineering constant for shear stiness Young's modulus double Poisson's ratio double Yield Stress double Hardening modulus double X1,2 X1,2 X X - Axial stiness - Transverse contraction - Yield stress - Linear hardening modulus Apply Shear Correction Factor 4 Hourglass Coecient Disable Plasticity bool - double X bool - true false Remarks 1. The stiness can be dened by either elastic modulus combination: Volumetric and shear elasticity (K ,G) or the engineering constants (E ,ν ,G) 2. In case engineering constants are used, only two of the three values Young's Mod- ulus, Poisson's Ratio and Shear Modulus have to be specied. The missing value is calculated from G= E 2 · (1 + ν) GH = EH 2 · (1 + ν) Internally, the engineering constants are converted to (K ,G). 3. Yield stress is an equivalent uniaxial stress and therefore applicable to axial, shear as well as mixed stress states. 4. Hourglass coecient is usually between 0.0 and 0.05 5. Automatic Dierentiation is not supported for the correspondence material model DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 78 6. Shear Correction Factor is not supported for the correspondence material model 7. Thermal expansion is not currently supported for the correspondence material model 8. Consider the general remarks on correspondence materials in section 3.3.1.2 3.3.13.5. Exemplary input section XML-format Free format - YAML format - 3.3.13.6. Possible output variables for the material model Bond_Damage Lambda Coordinates Model_Coordinates Damage Surface_Correction_Factor Deviatoric_Plastic_Extension Volume Dilatation Weighted_Volume Force_Density DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 79 Additional correspondence material output variables: Equivalent_Plastic_Strain Unrotated_Rate_Of_Deformation Unrotated_Cauchy_Stress Von_Mises_Stress 3.3.13.7. List of examples From test/verification/: IsotropicHardeningPlasticFullyPrescribedTension_NoFlaw/IsotropicHardeningPlasticF NoFlaw.xml IsotropicHardeningPlasticFullyPrescribedTension_WithFlaw/IsotropicHardeningPlasti WithFlaw.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 80 3.3.14. Viscoelastic 3.3.14.1. Description An isotropic, viscoelastic material model. 3.3.14.2. Literature [26] [2] 3.3.14.3. Stiness model sketch A A (a) Axial (b) Shear Figure 3.15.: Viscoelastic material model 3.3.14.4. Code Release version Available from version 1.2. Required compiler options - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 81 Routines IO: /src/materials/Peridigm_ViscoelasticMaterial.cpp /src/materials/Peridigm_ViscoelasticMaterial.hpp Computation: /src/materials/viscoelastic.cxx /src/materials/viscoelastic.h 3.3.14.5. Input parameters List Name Type Required Default Material Model string X X X1 X - Material type Viscoelastic - Material density - Rate of relaxation - Relaxation time constant Density double lambda_i double tau b double Description Remarks 1. 0.0 ≤ λi ≤ 1.0 2. Automatic Dierentiation is not supported for the Viscoelastic material model 3. Shear Correction Factor is not supported for the Viscoelastic material model 4. Thermal expansion is not currently supported for the Viscoelastic material model 3.3.14.6. Exemplary input section XML-format - Free format - YAML format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 82 3.3.14.7. Possible output variables for the material model Bond_Damage Force_Density Coordinates Model_Coordinates Damage Volume Deviatoric_Back_Extension Weighted_Volume Dilatation 3.3.14.8. List of examples DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 83 3.3.15. Viscoplastic Needleman Correspondence 3.3.15.1. Description - 3.3.15.2. Literature [27]? Ted Belytschko, Huai-Yang Chiang, Edward Plaskacz: High resolution two-dimensional shear band computations: imperfections and mesh dependence, 1994 3.3.15.3. Stiness model sketch - 3.3.15.4. Code Release version - Required compiler options - Routines IO: /src/materials/Peridigm_ViscoPlasticNeedlemanCorrespondenceMaterial.cpp /src/materials/Peridigm_ViscoPlasticNeedlemanCorrespondenceMaterial.hpp Computation: /src/materials/viscoplastic_needleman_correspondence.cxx /src/materials/viscoplastic_needleman_correspondence.h 3.3.15.5. Input parameters List - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 84 Remarks - 3.3.15.6. Exemplary input section XML-format - Free format - YAML format - 3.3.15.7. Possible output variables for the material model - 3.3.15.8. List of examples From test/verification/: ViscoplasticNeedlemanFullyPrescribedTension_NoFlaw/ViscoplasticNeedlemanFullyPres NoFlaw.xml ViscoplasticNeedlemanFullyPrescribedTension_WithFlaw/ViscoplasticNeedle WithFlaw.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.3.16. Vector Poisson DLR Peridigm Users Guide 85 3. Peridigm - Quick reference guide 3.3.17. Multiphysics Elastic DLR Peridigm Users Guide 86 3. Peridigm - Quick reference guide 87 3.4. Damage Models 3.4.1. Preliminaries The damage models determine whether a bond is damaged or not. Failure of a bond is irreversible. Currently, degradation or material softening of a bond is not implemented. However, successive failure of individual bonds leads to an degradation for the integral material response. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 88 3.4.2. Critical Stretch 3.4.2.1. Description The critical stretch criterion compares the tensile stretch of a local bond with a critical value. After reaching the critical stretch there is no softening or stiness degradation (0-th order). This criterion only uses tensile force components. The critical bond stretch G0C sC for a microbrittle material is related to energy release rate and the discretization by means of the horizon. The denition of the critical stretch is dependent on the model dimension and the peridynamic formulation. Since, currently, solely 3D-models are implemented in Peridigm only the respective equations are given here. For the equations of other model dimensions check the Peridigm Models and Verication Guide. Dierent equations exist for the state-based peridynamics and the special case of the bond-based peridynamics. Beware, the following equations are based on the Grith theory which assumes a preexisting crack. If and how these relationships are valid for crack initiation must be investigated seperately. Bond-based material models The denition of the critical stretch from Table 2.3: sC = r 10G0C πcδ 5 = With the bulk modulus K, the horizon δ r 5G0C 9Kδ and the micromodulus or bond constant (3.1) c from Table 2.3. State-based material models The denition of the critical stretch from Table 2.3: v u u sC = t h 3G + G0C 3 4 4 K− 5G 3 i (3.2) δ 3.4.2.2. Literature [7] DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 89 3.4.2.3. Model sketch f tension sC c compression Figure 3.16.: 0-th order critical stretch model 3.4.2.4. Code Release version Available from version 1.2. Required compiler options - Routines /src/damage/Peridigm_CriticalStretchDamageModel.cpp /src/damage/Peridigm_CriticalStretchDamageModel.hpp DLR Peridigm Users Guide s 3. Peridigm - Quick reference guide 90 3.4.2.5. Input parameters List Name Type Required Default Damage Model string X - Description Damage model Critical Stretch Critical Stretch 1 double> 0.0 X - Critical bond stretch Thermal Expansion Coecient 2,3 double - - Remarks 1. The critical bond stretch is dependent of the horizon δ. Therefore, it is no pure material parameter. 2. If the thermal expansion coecient parameter is omitted, deformations resulting from thermal expansion are not considered in the bond damage calculation. 3. To get consistent results, the value should correspond to the coecient of thermal expansion dened in the respective material model used in the block denition. To avoid double denition, the use of a variable is proposed, see 2.2.4.3. 4. The criterion only applies for bonds in tension, as the relative extension of a bond is compared to the critical stretch value, see method CriticalStretchDamageModel.cpp. computeDamage() in Peridigm_- In compression the relative extension of a bond is negative and can therefore never reach the positive critical stretch value. 5. The critical stretch model is faster compared to the interface aware model, but no check if the a point is completely debonded is included. See section 3.4.4 instead. 3.4.2.6. Exemplary input section XML-format without thermal expansion: with thermal expansion (from ThermalExpansionBondFailure.xml): DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 91 Free format Damage Models My Damage Model Damage Model "Critical Stretch" Critical Stretch 0.001 YAML-format - 3.4.2.7. List of examples From examples/: disk_impact/disc_impact.peridigm fragmenting_cylinder/fragmenting_cylinder.peridigm From test/regression/: Contact_Perforation/Contact_Perforation.xml BondBreakingInitialVelocity/BondBreakingInitialVelocity.xml ThermalExpansionBondFailure/ThermalExpansionBondFailure.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 92 3.4.3. Time Dependent Critical Stretch 3.4.3.1. Description See section 3.4.2.1. The dierence is, that a time-dependent function can be used to dene the critical stretch instead of the absolute value from section 3.4.2. 3.4.3.2. Literature See section 3.4.2.2. 3.4.3.3. Model sketch See section 3.4.2.3. 3.4.3.4. Code Release version Available from the current master Required compiler options - Routines from src/damage/: Peridigm_UserDefinedTimeDependentCriticalStretchDamageModel.cpp Peridigm_UserDefinedTimeDependentCriticalStretchDamageModel.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 93 3.4.3.5. Input parameters List Name Type Required Default Damage Model string X - Description Damage Time model Dependent Critical Stretch Critical Stretch 1 string X - A function dening a time-dependent value for the critical stretch Thermal Expansion Coecient 2,3 double - - Remarks 1. The critical bond stretch is dependent of the horizon δ. Therefore, it is no pure material parameter. 2. If the thermal expansion coecient parameter is omitted, deformations resulting from thermal expansion are not considered in the bond damage calculation. 3. To get consistent results, the value should correspond to the coecient of thermal expansion dened in the respective material model used in the block denition. To avoid double denition, the use of a variable is proposed, see 2.2.4.3. 4. The criterion only applies for bonds in tension, as the relative extension of a bond is computeDamage() in Peridigm_UserDefinedTimeDependentCriticalStretchDamageModel.cpp. In compression compared to the critical stretch value, see method the relative extension of a bond is negative and can therefore never reach the positive critical stretch value. 5. The critical stretch model is faster compared to the interface aware model, but does not work for correspondence material models. See section 3.4.4 instead. 3.4.3.6. Exemplary input section XML-format from BondBreakingInitialVelocity.xml Free format - YAML-format - 3.4.3.7. List of examples From test/verification/: BondBreakingInitialVelocity_TimeDependentCS/BondBreakingInitialVelocity.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 95 3.4.4. Interface Aware 3.4.4.1. Description The interface aware damage model is a critical stretch model (cf. section 3.4.2). The dierence is in the implemented algorithm. In this rst pass, any "rank decient" nodes are taken out of the linear system by pushing them into a boundary condition node set: RANK_DEFICIENT_NODES. All the bonds are broken for these nodes so it eectively removes them from the analysis. A new damage model is used to do the tasks above: Interface Aware. This model does not allow bonds to break between blocks if one of the blocks does not have a damage model. This damage model also does the checking of nodes if they meet the rank decient criteria. A ag was also introduced that enables the user to turn o solver heuristics. For the examples tested with this commit, none of the solver heuristics were needed to get convergence. Examples have been tested that have a crack propagating through the entire domain in a single step and the solver manages to converge (if the Interface Aware damage model is used). To activate this ag, set Disable Heuristics to true in the solver parameters. For the interface aware algorithm it is checked if each point has at least three bonds. If this is not the case, the point is completely disconnected. Therefore, this damage model is slower compared to the critical stretch model. However, for material this check is needed. 3.4.4.2. Code Release version Available from version 1.2. Required compiler options - Routines /src/damage/Peridigm_InterfaceAwareDamageModel.cpp /src/damage/Peridigm_InterfaceAwareDamageModel.hpp DLR Peridigm Users Guide correspondence 3. Peridigm - Quick reference guide 96 3.4.4.3. Input parameters List Name Type Required Default Damage Model string X - Description Damage model Interface Aware Critical Stretch 2,3 Coecient 1 double> 0.0 double X - - - Critical bond stretch Remarks 1. The critical bond stretch is dependent of the horizon δ. Therefore, it is no pure material parameter. 2. If the thermal expansion coecient parameter is omitted, deformations resulting from thermal expansion are not considered in the bond damage calculation. 3. To get consistent results, the value should correspond to the coecient of thermal expansion dened in the respective material model used in the block denition. To avoid double denition, the use of a variable is proposed, see 2.2.4.3. 4. The criterion only applies for bonds in tension, as the relative extension of a bond is compared to the critical stretch value, see method CriticalStretchDamageModel.cpp. computeDamage() in Peridigm_- In compression the relative extension of a bond is negative and can therefore never reach the positive critical stretch value. 5. The critical stretch model (3.4.2) is faster compared to the interface aware model. The interface aware model includes a check if a point is completely debonded. 6. Modeling damages with correspondence material a ne discretization is needed. 3.4.4.4. Exemplary input section XML-format - Free format Damage Models My Damage Model Damage Model "Interface Aware" Critical Stretch 0.001 DLR Peridigm Users Guide 3. Peridigm - Quick reference guide YAML-format - 3.4.4.5. List of examples - DLR Peridigm Users Guide 97 3. Peridigm - Quick reference guide 98 3.4.5. Critical Energy 3.4.5.1. Description Multiple damage criteria based on the critical energy density of a bond are implemented. The model works for isotropic ordinary elastic material only. 3.4.5.2. Literature [28]: Original energy release damage model proposed by Foster et al. [29]: Extended energy release damage model proposed by Willberg et al., including the work of Foster et al. 3.4.5.3. Model sketch - 3.4.5.4. Code Release version Not released yet. Under development. Required compiler options - Routines Synchronization between cores: /src/damage/Peridigm.cpp /src/damage/Peridigm.hpp /src/damage/Peridigm_ModelEvaluator.cpp /src/damage/Peridigm_ModelEvaluator.hpp /src/damage/Peridigm_ElasticMaterial.cpp /src/damage/Peridigm_Material.cpp /src/damage/Peridigm_Material.hpp Damage computation: /src/damage/Peridigm_EnergyReleaseDamageModel.cpp /src/damage/Peridigm_EnergyReleaseDamageModel.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 99 Details of implementation are given in the Peridigm_Development_Guide. 3.4.5.5. Input parameters List Mode-independent model based on [28] Name Type Required Default Damage Model string X - X - Description Damage model Critical Energy Critical Energy Tension 2,3 double> 0.0 Critical lease rate 4 Type string X Mode-dependent model based on [29] DLR Peridigm Users Guide - energy G0C re- [28] Energy Criterion 3. Peridigm - Quick reference guide 100 Name Type Required Default Damage Model string X - Description Critical Energy Critical Energy Tension 2,3 double> 0.0 X - Critical energy release rate GIC [28] for tension Critical Energy Compression 2,3 double> 0.0 - - Critical energy release rate GIC [28] for compression Critical Energy Shear 2,3 double> 0.0 - - Critical energy release rate GIIC [28] 4 Type string X Energy Criterion Interaction between Mode I and II: Energy Criterion | DLR Peridigm Users Guide Power Law | Separated 3. Peridigm - Quick reference guide 101 Remarks 1. The critical energy model works only for Elastic material, see section 3.3.2. 2. All critical energies are independent of the horizon δ. 3. If the thermal expansion coecient parameter is omitted, deformations resulting from thermal expansion are not considered in the bond damage calculation. 4. Interaction types: Energy Criterion: The criterion according [28] is applied, with the assumption that the stated value for Critical Energy Tension corresponds to the total critical energy release rate instead of only the mode I portion. Power Law: Mode I and II interaction by means of a quadratic power law: where GI GIC 2 + GII GIIC 2 =1 G0C = GIC + GIIC Separated: No interaction between modes. Individual energies are checked separately. Only energies dened in the input deck are checked. 3.4.5.6. Exemplary input section XML-format Mode-independent model based on [28] DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 94 Mode-dependent model based on [29] Type: quadratic power law DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Type: check all values separately Free format Mode-independent model based on [28] Damage Models My Damage Model Damage Model "Critical Energy" Critical Energy Tension 0.001 Type "Energy Criterion" DLR Peridigm Users Guide 102 3. Peridigm - Quick reference guide Mode-dependent model based on [29] Type: quadratic power law Damage Models My Damage Model Damage Model "Critical Energy" Critical Energy Tension 0.001 Critical Energy Compression 0.001 Critical Energy Shear 0.001 Type "Power Law" Type: check all values separately Damage Models My Damage Model Damage Model "Critical Energy" Critical Energy Tension 0.001 Critical Energy Compression 0.001 Critical Energy Shear 0.001 Type "Separated" YAML-format - 3.4.5.7. List of examples Added to PeriDoX. From Models/: Models/DCB DLR Peridigm Users Guide 103 3. Peridigm - Quick reference guide 104 3.5. Properties 3.5.1. Blocks 3.5.1.1. Description Peridynamic property/section denition. 3.5.1.2. Code /src/core/Peridigm_Block.cpp.cpp /src/core/Peridigm_Block.cpp.hpp /src/core/Peridigm_BlockBase.cpp /src/core/Peridigm_BlockBase.cpp 3.5.1.3. Input parameters List Name Type Required Default Description Block Names string Block names seperated by spaces string X X - Material - Name of block material Damage Model string - - Name of block damage model Horizon double X1 - Block horizon Remarks 1. For numerical reasons it is a good idea to choose units such that the horizon is roughly of order one (from the Peridigm Mailing List, by D.J. Littlewood, 07.07.17) 3.5.1.4. Exemplary input section XML-format Denition of one block: Denition of multiple blocks with the same parameters: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 105 Block denition with function parser, dependent on spatial position: Free format Blocks My Group of Blocks Block Names "block_1" Material "My Elastic Material" Horizon 2.0 YAML format Blocks: My Block: Block Names: "block_1 block_2 block_3" Material: "My Material" Horizon: 0.751 DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.5.1.5. List of examples Basically all models in /test/ and DLR /examples/. Peridigm Users Guide 106 3. Peridigm - Quick reference guide 107 3.6. Boundary Conditions 3.6.1. Preliminaries 3.6.1.1. Types The following boundary condition types are dened in Peridigm: Prescribed_Displacement Prescribed_Fluid_Pressure_U Prescribed_Temperature Initial_Temperature Initial_Displacement Initial_Velocity Initial_Fluid_Pressure_U Body_Force They are parsed in ~\src\core\Peridigm_BoundaryAndInitialConditionManager.cpp. ~\src\core\Peridigm_Enums.cpp. The input of keywords The names are dened in seems to be case-insensitive. In general only Prescribed Displacement can be applied in Peridigm for the application of homogeneous or inhomogeneous kinematic boundary conditions. There is no discrete command for prescribed velocities or accelerations, despite Initial Velocity. However, using the function parser it is still possible to apply these kinds of boundary conditions using the time variable t. Generally it is possible to apply any kind of velocity v or acceleration ditions by considering the relationship to the displacement a boundary con- u: a(t) = v̇(t) = ü(t) (3.3) 3.6.1.2. Application region Usually the boundary conditions have to be applied to particular material points for example at the free end of the body. Therefore, a nodeset has to be dened in order to list the material points to which the boundary condition has to be applied to. If an Exodus nite element mesh is used as a discretisation the nodesets might already be dened in the mesh le. However, it is possible to dene new nodesets in the Peridigm input deck as well as it is required for the discretisation via text le. In order to dene nodesets for the discretisation via a .txt le there are two options described in the next two segments DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 108 Denition in individual text le Description A .txt le has to be generated which contains the numbers of the desired boundary material points from the discretisation .txt le in a column. Let the .txt les "nodeset_1.txt" and "nodeset_2.txt" be given as 1 2 3 4 and 9 10 11 12 and dene the Parameter names Node Set One and Node Set Two as Thus, the boundary condition can be applied to these particular material points by entering the name of the nodeset into the input deck section "Boundary Conditions". XML format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 109 Free format In the free format, it is important, that the node set name ends with the term Set: Node Boundary Conditions nset_NSET-BC_BOT_SIDE Node Set "nset_NSET-BC_BOT_SIDE.txt" Displacement-1-D-x Type "Prescribed Displacement" Node Set "nset_NSET-BC_BOT_SIDE Node Set" Coordinate "x" Value "0.0" Denition inside the model le The other possibility to dene the nodeset is to list the number of the desired nodes explicitly, i. e. as The value of Parameter name can now be used as shown in the previous example. Free format example: Boundary Conditions Min X Node Set "1" Max X Node Set "2" Initial Velocity Min X Face Type "Initial Velocity" Node Set "Min X Node Set" Coordinate "x" Value "1.0" Initial Velocity Max X Face Type "Initial Velocity" Node Set "Max X Node Set" Coordinate "x" Value "-1.0" Remarks 1. Dependent on the chosen discretisation type, a base FE mesh or the direct specication of the peridynamic collocation points in a textle, the application region is either the nite element node id or the peridynamic collocation point id. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 110 2. In case you use a FE mesh as discretisation type and try to dene a nodeset in the model le, the base mesh node numbers do not necessarily represent the peridynamic representation collocation point numbers DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 111 3.6.2. Initial Displacement 3.6.2.1. Description Application of a displacement at time t=0 to the application region. For t>0 this boundary condition is inactive. 3.6.2.2. Code /src/core/Peridigm_BoundaryAndInitialConditionManager.cpp /src/core/Peridigm_BoundaryAndInitialConditionManager.hpp /src/core/Peridigm_BoundaryCondition.cpp /src/core/Peridigm_BoundaryCondition.hpp /src/core/Peridigm_Enums.cpp /src/core/Peridigm_Enums.hpp 3.6.2.3. Input parameters List Name Type Required Default Description Type string Initial Displacement string X X2 - Node Set - Application region name | Full Domain | Coordinate string - x | y | z Value string X X3 - String with function for function parser All Sets Remarks 1. It is not totally clear what happens when a prescribed displacement and an initial displacement/velocity are applied to the same application region. Who wins?. See BoundaryCondition.cpp lines 136-138. 2. Any string that is not Full Domain or All Sets will be considered a custom node set name in the model or mesh le, dependent of the discretization type. 3. The string in the variable Value should start with value = will automatically add it for the function parser to work. DLR Peridigm Users Guide . If it does not, Peridigm 3. Peridigm - Quick reference guide 112 3.6.2.4. Exemplary input section XML format Free format - YAML format - 3.6.2.5. List of examples From test/verification/: CompressionInitDisp_2x1x1/CompressionInitDisp_2x1x1.xml CompressionImplicitEssentialBC_2x1x1/CompressionImplicitEssentialBC_2x1x1.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 113 3.6.3. Initial Velocity 3.6.3.1. Description Application of a velocity at time t = 0 to the application region. For t > 0 this boundary condition is inactive. 3.6.3.2. Code /src/core/Peridigm_BoundaryAndInitialConditionManager.cpp /src/core/Peridigm_BoundaryAndInitialConditionManager.hpp /src/core/Peridigm_BoundaryCondition.cpp /src/core/Peridigm_BoundaryCondition.hpp /src/core/Peridigm_Enums.cpp /src/core/Peridigm_Enums.hpp 3.6.3.3. Input parameters List Name Type Required Default Description Type string Initial Velocity string X X2 - Node Set - Application region name | Full Domain | Coordinate string - x | y | z Value string X X3 - String with function for function parser All Sets Remarks 1. It is not totally clear what happens when a prescribed displacement and an initial displacement/velocity are applied to the same application region. Who wins?. See BoundaryCondition.cpp lines 136-138. 2. Any string that is not Full Domain or All Sets will be considered a custom node set name in the model or mesh le, dependent of the discretization type. 3. The string in the variable Value should start with value = will automatically add it for the function parser to work. DLR Peridigm Users Guide . If it does not, Peridigm 3. Peridigm - Quick reference guide 114 3.6.3.4. Exemplary input section XML format Free format Using Full domain for the node set denition instead of a pre-dened node set name, from examples/fragmenting_cylinder/fragmenting_cylinder.peridigm: Boundary Conditions Initial Velocity X Type "Initial Velocity" Node Set "Full Domain" Coordinate "x" Value "(200 - 50*((z/0.05)-1)^2)*cos(atan2(y,x))" Initial Velocity Y Type "Initial Velocity" Node Set "Full Domain" Coordinate "y" Value "(200 - 50*((z/0.05)-1)^2)*sin(atan2(y,x))" Initial Velocity Z Type "Initial Velocity" Node Set "Full Domain" Coordinate "z" Value "(100*((z/0.05)-1))" YAML format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.6.3.5. List of examples From examples/: fragmenting_cylinder/fragmenting_cylinder.peridigm From test/regression/: WaveInBar/WaveInBar.xml DLR Peridigm Users Guide 115 3. Peridigm - Quick reference guide 116 3.6.4. Initial Temperature 3.6.4.1. Description Application of a temperature at time t = 0 to the application region. For t > 0 this boundary condition is inactive. 3.6.4.2. Code from src/core/: Peridigm_BoundaryAndInitialConditionManager.cpp Peridigm_BoundaryAndInitialConditionManager.hpp Peridigm_BoundaryCondition.cpp Peridigm_BoundaryCondition.hpp Peridigm_Enums.cpp Peridigm_Enums.hpp 3.6.4.3. Input parameters List Name Type Required Default Type string - Node Set string X X1 - Description Initial Temperature Application region name | Full Domain | All Sets Value string X2 - String with function for function parser Remarks 1. Any string that is not Full Domain or All Sets will be considered a custom node set name in the model or mesh le, dependent of the discretization type. 2. The string in the variable Value should start with value = . If it does not, Peridigm will automatically add it for the function parser to work. 3. This boundary conditions might not work with some of the material models in the current implementation. 3.6.4.4. Exemplary input section XML format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Free format - YAML format - 3.6.4.5. List of examples DLR Peridigm Users Guide 117 3. Peridigm - Quick reference guide 118 3.6.5. Prescribed Displacement 3.6.5.1. Description Denition of a prescribed displacement on a nodeset. The prescribed displacement might be dependent of the scalar coordinates of the nodeset members and/or the time. Thus, displacement and acceleration boundary conditions can be modeled with this card as well. 3.6.5.2. Sketch u v a t t t 3.6.5.3. Code from src/core: Peridigm_BoundaryAndInitialConditionManager.cpp Peridigm_BoundaryAndInitialConditionManager.hpp Peridigm_BoundaryCondition.cpp Peridigm_BoundaryCondition.hpp Peridigm_Enums.cpp Peridigm_Enums.hpp 3.6.5.4. Input parameters List Name Type Required Default Type string - Node Set string X X1 - Description Prescribed Displacement Application region name | Full Domain | All Sets Coordinate string Value string X X2 DLR - x | y | z - String with function for function parser Peridigm Users Guide 3. Peridigm - Quick reference guide 119 Remarks 1. Any string that is not Full Domain or All Sets will be considered a custom node set name in the model or mesh le, dependent of the discretization type. 2. The string in the variable Value should start with value = . If it does not, Peridigm will automatically add it for the function parser to work. 3.6.5.5. Exemplary input section XML format Free format Boundary Conditions Prescribed Displacement Fix Bottom Rigid Body Motion In X DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Type "Prescribed Displacement" Node Set "nodelist_3" Coordinate "x" Value "0.0" Prescribed Displacement Fix Bottom Rigid Body Motion In Z Type "Prescribed Displacement" Node Set "nodelist_4" Coordinate "z" Value "0.0" Prescribed Displacement Fix Top Rigid Body Motion In X Type "Prescribed Displacement" Node Set "nodelist_5" Coordinate "x" Value "0.0" Prescribed Displacement Fix Top Rigid Body Motion In Z Type "Prescribed Displacement" Node Set "nodelist_6" Coordinate "z" Value "0.0" YAML format Boundary Conditions: My Prescribed Displacement: Type: "Prescribed Displacement" Node Set: "My Node Set" Coordinate: "x" Value: "value = 5.0" 3.6.5.6. List of examples From examples/: tensile_test/tensile_test.peridigm From test/regression/: Bar_OneBlock_OneMaterial_QS/Bar.xml DLR Peridigm Users Guide 120 3. Peridigm - Quick reference guide 121 3.6.6. Prescribed Velocity 3.6.6.1. Description Prescribed velocity is not available as an individual keyword. The behavior can be repro- Prescribed Displacement from subsection 3.6.5 by application combination with the function parser and the time variable t. duced using the keyword of Equation 3.3 in 3.6.6.2. Types & Sketches Constant velocity over whole time Boundary Conditions: My Prescribed Velocity: Type: "Prescribed Displacement" Node Set: "My Node Set" Coordinate: "x" Value: "value = 5.0*t" u v a t t t Constant velocity after initial ramp #{UI=1} #{TI=1} #{VINFTY=1} # Displacement right before initial damage # Time right before initial damage # Constant velocity during damage initiation Boundary Conditions My Prescribed Velocity Type: "Prescribed Displacement" Node Set: "My Node Set" Coordinate: "x" Value: " if(t <= {TI})\{ value = {UI}*{TI}^{-1/3}*t^(1/3); \} else\{ value = {VINFTY}*(t-{TI})+{UI}; \} " DLR Peridigm Users Guide 3. Peridigm - Quick reference guide u 122 v −a t t t 3.6.6.3. Code See subsection 3.6.5 3.6.6.4. Input parameters See subsection 3.6.5 3.6.6.5. Exemplary input section XML format Free format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Boundary Conditions Prescribed Displacement Bottom Type "Prescribed Displacement" Node Set "nodelist_1" Coordinate "y" Value "y*0.005*t" Prescribed Displacement Top Type "Prescribed Displacement" Node Set "nodelist_2" Coordinate "y" Value "y*0.005*t" YAML format - 3.6.6.6. List of examples From examples/: examples/tensile_test/tensile_test.peridigm From test/regression/: Bar_OneBlock_OneMaterial_QS/Bar.xml DLR Peridigm Users Guide 123 3. Peridigm - Quick reference guide 124 3.6.7. Prescribed Acceleration 3.6.7.1. Description Prescribed acceleration is not available as an individual keyword. be reproduced using the keyword Prescribed Displacement The behavior can from subsection 3.6.5 by application of Equation 3.3 in combination with the function parser and the time variable t. 3.6.7.2. Sketch u v a t t 3.6.7.3. Code See subsection 3.6.5 3.6.7.4. Input parameters See subsection 3.6.5 3.6.7.5. Exemplary input section XML format - Free format - DLR Peridigm Users Guide t 3. Peridigm - Quick reference guide YAML format Boundary Conditions: My Prescribed Acceleration: Type: "Prescribed Displacement" Node Set: "My Node Set" Coordinate: "x" Value: "value = 5.0*t^2" 3.6.7.6. List of examples DLR Peridigm Users Guide 125 3. Peridigm - Quick reference guide 126 3.6.8. Prescribed Temperature 3.6.8.1. Description Denition of a prescribed temperature on a nodeset. The prescribed temperature might be dependent of the scalar coordinates of the nodeset members and/or the time. 3.6.8.2. Code from src/core/: Peridigm_BoundaryAndInitialConditionManager.cpp Peridigm_BoundaryAndInitialConditionManager.hpp Peridigm_BoundaryCondition.cpp Peridigm_BoundaryCondition.hpp Peridigm_Enums.cpp Peridigm_Enums.hpp 3.6.8.3. Input parameters List Name Type Required Default Type string - Node Set string X X1 - Description Prescribed Temperature Application region name | Full Domain | All Sets Value string X - String with function for function parser Remarks 1. Any string that is not Full Domain or All Sets will be considered a custom node set name in the model or mesh le, dependent of the discretization type. 2. The string in the variable Value should start with value = . If it does not, Peridigm will automatically add it for the function parser to work. 3. This boundary conditions might not work with some of the material models in the current implementation. 3.6.8.4. Exemplary input section XML format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 127 Free format - YAML format - 3.6.8.5. List of examples From test/verification/: ThermalExpansionBondFailure/ThermalExpansionBondFailure.xml ThermalExpansionBondFailure/ThermalExpansionCube.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 128 3.6.9. Body Force 3.6.9.1. Description Application of a volumetric load to an application region. In contrast to continuum mechanical models the peridynamic model works with the so called force density. The force density F/V . FV is dened as force F per volume V by FV = The dual or pairwise force density function as an internal variable is then dened as force per volume squared (see page 14 in [30]). External forces on the peridynamic collocation points are expressed in the bond force density. The bond force density has the unit force per unit squared as well. Thus, the nodal, surface and volume loads from continuum mechanics can easily be transformed using the application region volume. However, one has to be consider that the force density is applied for the whole volume. The resulting displacements are given at the points. Therefore, there are small discrepancies in the position of the applied load in peridynamics compared to the discretized continuum mechanics model. 3.6.9.2. Literature [30] 3.6.9.3. Code from src/core/: Peridigm_BoundaryAndInitialConditionManager.cpp Peridigm_BoundaryAndInitialConditionManager.hpp Peridigm_BoundaryCondition.cpp Peridigm_BoundaryCondition.hpp Peridigm_Enums.cpp Peridigm_Enums.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 129 3.6.9.4. Input parameters List Name Type Required Default Description Type string Body Force string X X1 - Node Set - Application region name | Full Domain | Coordinate string X X - x | y | z - String with function for function parser All Sets Value 2 string Remarks 1. Any string that is not Full Domain or All Sets will be considered a custom node set name in the model or mesh le, dependent of the discretization type. 2. The string in the variable Value should start with value = . If it does not, Peridigm will automatically add it for the function parser to work. 3.6.9.5. Exemplary input section XML format Free format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide YAML format - 3.6.9.6. List of examples From test/regression/: Body_Force/Body_Force_*.xml CentrifugalLoad/CentrifugalLoad.xml Multiphysics_QS_3x2x2/Multiphysics_QS_3x2x2.xml DLR Peridigm Users Guide 130 3. Peridigm - Quick reference guide 131 3.7. Contact 3.7.1. General options 3.7.1.1. Description Dene contact for the model. Contact forces in Peridigm are not applied for nodes that are bonded. This avoids the situation where two nodes interact via both contact and the constitutive model. From David Littlewood: Be aware also that the input deck syntax for contact is not representative of what's actually in the code. [...] As far as I remember, what's actually implemented in Peridigm is a all-to-all contact model that is active for any pair of nodes that are not bonded to each other. So, there is no consideration of blocks, node sets, etc., and basically both self contact and general contact are always on. The portion of the input deck in which contact interactions are specied is not currently functional. Contact only operates in two modes: either completely o, or on for everything. By on for everything I mean that every node interacts with every other node, regardless of material block or what is specied in the input deck. This is obviously not ideal and is confusing to users. The contact portion of the code underwent a signicant refactor a few years ago. A good deal of progress was made with respect to performance and I/O, but unfortunately the code ended up in a partially refactored state. One part that was not completed is user-dened per-block contact interactions. The parsing was set up but the internal logic was not implemented. The contact code in general needs signicant work IMHO. From James O'Grady: Nodes that are initially bonded will never interact via the contact model, even after the bond between them is broken. I'm not sure whether that includes bonds broken by a pre-crack. 3.7.1.2. Code Release version Available from version 1.2. Required compiler options - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 132 Routines /src/core/Peridigm_ContactManager.cpp /src/core/Peridigm_ContactManager.hpp 3.7.1.3. Input parameters List Name Search Radius Search Frequency Type Required Default double X X 0.0 0 int Description Radius for contact search Contact rebalancing frequency in steps Models list Interactions list X X Contact models, see section 3.7.2 List dening the interaction options, see section 3.7.3 Remarks 1. Contact is enabled only for the explicit solver (Verlet). In case any other solver is used, the contact denition has no eect. 2. 3.7.1.4. Exemplary input section XML-format All blocks contact: Specic block contact: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 133 Free format Contact Verbose "true" Search Radius {0.8*MODEL_ESIZE_FIBRE} Search Frequency 1 Models My Contact Model Contact Model "Short Range Force" Contact Radius {0.8*MODEL_ESIZE_FIBRE} Spring Constant 2000.001e3 Interactions General Contact Contact Model "My Contact Model" DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 134 YAML format - 3.7.1.5. List of examples From test/regression/: Contact_Cubes/Contact_Cubes.xml Contact_Cubes_Interaction_Blocks/Contact_Cubes_Interaction_Blocks.xml Contact_Perforation/Contact_Perforation.xml Contact_Perforation_With_Restart/Contact_Perforation_With_Restart.xml Contact_Ring/Contact_Ring.xml From test/verification/: Contact_2x1x1/Contact_2x1x1.xml Contact_Friction/Contact_Friction.xml Contact_Friction_Time_Dependent_Coefficient/Contact_Friction_Time_Dependent_Coefficient.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 135 3.7.2. Models 3.7.2.1. Short Range Force Description A simple contact model for the interaction of non-bonded elements. From David Littlewood: To the best of my knowledge, the short-range contact model in Peridigm is completely ad hoc. It isn't tied to anything physical as far as I know, and I'm not aware of any general usage rules. It's just a repulsive force that was implemented to give somewhat reasonable results for impact problems. Literature [7] [2] [31] & [16] Code Release version Available from version 1.2. Required compiler options - Routines /src/contact/Peridigm_ShortRangeForceContactModel.cpp /src/contact/Peridigm_ShortRangeForceContactModel.hpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 136 Input parameters List Name Type Required Default Contact Model string X - Description Contact model type Short Range Force Contact Radius 2 Spring Constant 4 Friction Coecient Horizon 5 X X - double double - double - 0.0 0.0 double 3 - Remarks 1. Contact algorithm operates on planar facets, these are created from peridynamic collocation points, see [31] & [16] 2. Initial guess for contact radius: somewhat smaller than the initial node spacing, so that it doesn't add forces to material in the undeformed or slightly deformed conguration. I would also expect it to be large enough to prevent material interpenetration. 3. From David Littlewood: The spring force parameter is determined by trial and error, although a good initial guess might be 10 times the force of the constitutive model. 4. In case Friction Coefficient is not dened, no friction is applied by using the default value 5. Exemplary input section XML-format without friction: with friction: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Free format Without friction: Models My Contact Model Contact Model "Short Range Force" Contact Radius {0.8*MODEL_ESIZE_FIBRE} Spring Constant {10.0001*MAT_FIBRE_MODULUS_YOUNG} YAML format - List of examples From test/verification/: Contact_Friction/Contact_Friction.xml DLR Peridigm Users Guide 137 3. Peridigm - Quick reference guide 138 3.7.2.2. Time Dependent Short Range Force Description A simple contact model for the interaction of non-bonded elements. Literature [7] [2] Code Release version Available from the version after 1.4.1. Required compiler options - Routines from src/contact/: Peridigm_UserDefinedTimeDependentShortRangeForceContactModel.cpp Peridigm_UserDefinedTimeDependentShortRangeForceContactModel.hpp Input parameters List Name Type Required Default Contact Model string X - Contact Radius double - double X X Friction Coecient double - Horizon double - Description Contact model type Time Dependent Short Range Force Spring Constant 1 DLR - 0.0 0.0 Peridigm Users Guide 3. Peridigm - Quick reference guide 139 Remarks 1. In case Friction Coefficient is not dened, no friction is applied by using the default value Exemplary input section XML-format with friction: Free format - YAML format - List of examples From test/verification/: Contact_Friction_Time_Dependent_Coefficient/Contact_Friction_Time_Dependent_Coefficient.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 140 3.7.3. Interactions 3.7.3.1. General Contact Description Everything is in contact with everything. This type of interaction is activated by setting the parameter list name to General Contact. Literature - Code Release version Available from version 1.2. Required compiler options - Routines - Input parameters List Name Type Required Default Contact Model string X - Description Contact model type from section 3.7.2 Remarks - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 141 Exemplary input section XML-format Free format - YAML format - List of examples From test/regression/: Contact_Cubes/Contact_Cubes.xml Contact_Ring/Contact_Ring.xml From test/verification/: Contact_Friction/Contact_Friction.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 142 3.7.3.2. Self Contact Description Dene self contact. This type of interaction is activated by setting the parameter list name to Self Contact. Literature - Code Release version Available from version 1.2. Required compiler options - Routines - Input parameters List Name Type Required Default Contact Model string X - Description Contact model type from section 3.7.2 Remarks - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Exemplary input section XML-format - Free format - YAML format - List of examples - DLR Peridigm Users Guide 143 3. Peridigm - Quick reference guide 144 3.7.3.3. User dened block interaction Description Dene interactions between individual blocks. This type of interaction is activated by setting the parameter list name to any dierent name than General Contact and Self Contact. Literature - Code Release version Available from version 1.4. Required compiler options - Routines - Input parameters List Name Type Required Default Description Contact Model string Contact model type from section 3.7.2 string X X - First Block - Block name/id of rst interaction part- Second Block string X - ner Block name/id of second interaction partner DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 145 Remarks - Exemplary input section XML-format Free format - YAML format - List of examples From test/regression/: Contact_Cubes_Interaction_Blocks/Contact_Cubes_Interaction_Blocks.xml Contact_Perforation/Contact_Perforation.xml From test/verification/: Contact_2x1x1/Contact_2x1x1.xml Contact_Friction/Contact_Friction.xml Contact_Friction_Time_Dependent_Coefficient/Contact_Friction_Time_Dependent_Coefficient.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 146 3.8. Compute Class Parameters - User dened calculation data 3.8.1. Compute Class Parameters for node sets 3.8.1.1. Description Dene user dened calculation data for nodesets. These quantities can later be output, see section 3.11.3. 3.8.1.2. Code /src/compute/Peridigm_Compute_Node_Set_Data.cpp /src/compute/Peridigm_Compute_Node_Set_Data.cpp 3.8.1.3. Input parameters List Name Type Required Compute Class string Calculation Type string X X X X1,3 X2 Node Set string Variable string Output Label string Default Description Node_Set_Data - Minimum | Maximum | Sum - Node set name - Output variable - Output label for output section Remarks 1. The output value identier are dened in src/io/mesh_output/Field.h. Possible values are dened in subsubsection 3.11.1.1. 2. For the output to have any eect, the output label must be dened in the Output section of the input deck. Variable must be dened and requested as a global Output Variable in the Output block, e.g.: In case you request a Compute Class Parameter 3. The item requested as Top Reaction Force with Variable Force : Compute Class Parameters Top Reaction Force ... Variable "Force" Output Label "Top_Reaction_Force" DLR Peridigm Users Guide 3. Peridigm Than - Quick reference guide Force true must be dened in the 147 Output section: Output Output File Type "ExodusII" .. Output Variables Block_Id "false" ... Force "true" Top_Reaction_Force "true" Without Force true an error is thrown as the group variables cannot be ex- tracted from the global solution. 4. There seems to be a bug in the text le reader in case nodesets are dened by additional text les for the text le discretization from 2.3.2. There are two possible workarounds: a) Use the python script text_to_genesis.py to convert your text le into a genesis le. This script is in the scripts directory of the Peridigm repo, you probably will have to edit the PATH at the top of the python le to point to your Trilinos lib directory so it can load exodus.py. b) If possible, create an individual block for the domain of the nodeset and use the compute class parameter option for blocks from 3.8.2 3.8.1.4. Exemplary input section XML-format from test/regression/Contact_Ring/Contact_Ring.xml: Free format - YAML format - 3.8.1.5. List of examples From test/regression/: Contact_Ring/Contact_Ring.xml WaveInBar_MultiBlock/WaveInBar_MultiBlock.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 149 3.8.2. Compute Class Parameters for blocks 3.8.2.1. Description User dened output for blocks using Compute Class Parameters. These quantities can later be output, see section 3.11.4. 3.8.2.2. Code /src/compute/Peridigm_Compute_Block_Data.cpp /src/compute/Peridigm_Compute_Block_Data.hpp 3.8.2.3. Input parameters List Name Type Required Compute Class string X X X X1,3 X2 Calculation Type string Block string Variable string Output Label string Default Description Block_Data - Minimum | Maximum | Sum - Block name - Output variable - Output label for output section Remarks 1. The output value identier are dened in src/io/mesh_output/Field.h. Possible values are dened in subsubsection 3.11.1.1. 2. For the output to have any eect, the output label must be dened in the Output section of the input deck. This is necessary since the Compute Class Parameters are extracted from the global solution/output data. Variable must be dened and requested as a global Output Variable in the Output block, e.g.: In case you request a Compute Class Parameter 3. The item requested as Top Reaction Force with Variable Force : Compute Class Parameters Top Reaction Force ... Variable "Force" Output Label "Top_Reaction_Force" Than Force true must be dened in the DLR Output Peridigm Users Guide section: 3. Peridigm - Quick reference guide 150 Output Output File Type "ExodusII" .. Output Variables Block_Id "false" ... Force "true" Top_Reaction_Force "true" Without Force true an error is thrown as the group variables cannot be ex- tracted from the global solution. 3.8.2.4. Exemplary input section XML-format from test/regression/Contact_Cubes/Contact_Cubes.xml: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 148 Free format from examples/tensile_test/tensile_test.peridigm: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 151 Compute Class Parameters Top Reaction Force Compute Class "Block_Data" Calculation Type "Sum" Block "block_3" Variable "Force" Output Label "Top_Reaction_Force" Bottom Reaction Force Compute Class "Block_Data" Calculation Type "Sum" Block "block_1" Variable "Force" Output Label "Bottom_Reaction_Force" YAML format - 3.8.2.5. List of examples From examples/: examples/tensile_test/tensile_test.peridigm From test/regression/: Contact_Cubes/Contact_Cubes.xml Contact_Ring/Contact_Ring.xml WaveInBar_MultiBlock/WaveInBar_MultiBlock.xml From test/verification/: ElasticCorrespondenceFullyPrescribedTension/ElasticCorrespondenceFullyPrescribedT ElasticCorrespondenceQSTension/ElasticCorrespondenceQSTension.xml ElasticPlasticCorrespondenceFullyPrescribedTension/ElasticPlasticCorrespondenceFu IsotropicHardeningPlasticFullyPrescribedTension_NoFlaw/IsotropicHardeningPlasticF NoFlaw.xml IsotropicHardeningPlasticFullyPrescribedTension_WithFlaw/IsotropicHardeningPlasti WithFlaw.xml LinearLPSBar/LinearLPSBar.peridigm ViscoplasticNeedlemanFullyPrescribedTension_NoFlaw/ViscoplasticNeedlemanFullyPres NoFlaw.peridigm DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 152 3.8.3. Compute Class Parameters for nearest neighbor points 3.8.3.1. Description Dene user dened calculation data for the nearest point to a given spatial coordinate. These quantities can later be output, see section 3.11.5. 3.8.3.2. Code /src/compute/Peridigm_Compute_Nearest_Point_Data.cpp /src/compute/Peridigm_Compute_Nearest_Point_Data.hpp 3.8.3.3. Input parameters List Name Type Required Compute Class string X X X X1,3 X2 Calculation Type string Block string Variable string Output Label string Default Description Nearest_Point_Data - Minimum | Maximum | Sum - Block name - Output variable - Output label for output section Remarks 1. The output value identier are dened in src/io/mesh_output/Field.h. Possible values are dened in subsubsection 3.11.1.1. 2. For the output to have any eect, the output label must be dened in the Output section of the input deck. Variable must be dened and requested as a global Output Variable in the Output block, e.g.: In case you request a Compute Class Parameter 3. The item requested as Top Reaction Force with Variable Force : Compute Class Parameters Top Reaction Force ... Variable "Force" Output Label "Top_Reaction_Force" Than Force true must be dened in the DLR Output Peridigm Users Guide section: 3. Peridigm - Quick reference guide 153 Output Output File Type "ExodusII" .. Output Variables Block_Id "false" ... Force "true" Top_Reaction_Force "true" Without Force true an error is thrown as the group variables cannot be ex- tracted from the global solution. 3.8.3.4. Exemplary input section XML-format from test/verification/NeighborhoodVolume/NeighborhoodVolume.xml: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Free format from examples/tensile_test/tensile_test.peridigm: Compute Class Parameters Strain Gage Top Initial Position Compute Class "Nearest_Point_Data" X 0.0317 Y 1.238 Z 0.0 Variable "Model_Coordinates" Output Label "Gage_Top_Initial_Position" Verbose "True" Strain Gage Top Displacement Compute Class "Nearest_Point_Data" X 0.0317 Y 1.238 Z 0.0 Variable "Displacement" Output Label "Gage_Top_Displacement" Verbose "True" YAML format - 3.8.3.5. List of examples From examples/: examples/tensile_test/tensile_test.peridigm From test/verification/: NeighborhoodVolume/NeighborhoodVolume.xml SurfaceFactorCube/SurfaceFactorCube.xml DLR Peridigm Users Guide 154 3. Peridigm - Quick reference guide 155 3.9. Solver 3.9.1. Preliminaries Peridigm supports various solver which basically represent dierent time integration schemes. The solver denition consists of two steps: 1. Denition of initial and nal time 2. Specication of the time integration scheme The specication of the time integration scheme is a sublist of parameters in the solver denition. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 156 3.9.2. Explicit - Verlet 3.9.2.1. Description Solver with explicit time integration. Velocity-Verlet (leapfrog), keyword dynamics [32]. Verlet, is a time integration scheme for explicit Peridigm will automatically estimate a safe stable timestep for your problem. The Safety Factor multiplies this estimate. You can override the max stable timestep computed by Peridigm by specifying a timestep manually. 3.9.2.2. Code /src/core/Peridigm.cpp → PeridigmNS::Peridigm::execute → PeridigmNS::Peridigm::executeExplicit /src/core/Peridigm.hpp 3.9.2.3. Input parameters List Name Type Required Default Initial Time double - 0.0 Final Time double X - bool - false double - - Description Solver parameters Verbose Start time of simulation End time of simulation Time integration 1 Fixed dt Override max stable timestep computed by Peridigm by specifying a timestep manually Safety Factor 1 double - 1.0 Multiply stable timestep estimate returned by Peridigm by the user-supplied safety factor 2 Numerical Damping double - 0.0 adds a numerical damping to the time integration to stabilize the dynamics caused by cracks 2 Implemented by DLR DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 157 Remarks 1. Fixed dt and Safety Factor are mutually exclusive. 2. Specication of a timestep larger than the stable time step or a safety factor greater than one may cause instable solutions. 3.9.2.4. Exemplary input section XML-format Free format Solver Verbose false Initial Time 0.0 Final Time 1.0 Verlet Safety Factor 0.8 Numerical Damping 0.02 YAML format - 3.9.2.5. List of examples From examples/: fragmenting_cylinder/fragmenting_cylinder.peridigm From test/regression/: Contact_Cubes/Contact_Cubes.xml DLR Peridigm Users Guide 3. Peridigm From - Quick reference guide 158 test/verification/: NeighborhoodVolume/NeighborhoodVolume.xml IsotropicHardeningPlasticFullyPrescribedTension_NoFlaw/IsotropicHardeningPlasticF NoFlaw.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 159 3.9.3. Implicit 3.9.3.1. Description Solver with implicit time integration. Implicit, keyword Implicit, is a time integration scheme for implicit dynamics using Newmark-beta method [32]. It uses a xed timestep. 3.9.3.2. Code /src/core/Peridigm.cpp → PeridigmNS::Peridigm::execute → PeridigmNS::Peridigm::executeImplicit /src/core/Peridigm.hpp 3.9.3.3. Input parameters List Name Type Required Default Description Solver parameters Initial Time double - 0.0 Final Time double X - bool - false Fixed dt double X - Absolute Tolerance double - 1.0E-6 int - 10 double - 0.5 Verbose Start time of simulation End time of simulation Time integration Maximum Solver Iterations Gamma Fixed timestep Newmark-beta ter Beta double - 0.25 Newmark-beta ter parame- γ parame- β Remarks 1. Newmark-beta-parameter combinations: γ= γ= 1 2 and 1 2 and β= β= 1 4 1 6 constant average acceleration method linear acceleration method DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 160 3.9.3.4. Exemplary input section XML-format Free format Solver Verbose false Initial Time 0.0 Final Time 0.00005 Implicit Fixed dt 0.00001 Beta 0.25 Gamma 0.50 Absolute Tolerance 1.0e-10 Maximum Solver Iterations 10 YAML format - 3.9.3.5. List of examples From test/regression/: Body_Force/Body_Force_Implicit.xml From test/verification/: CompressionImplicit_2x1x1/CompressionImplicit_2x1x1.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 161 CompressionImplicitEssentialBC_2x1x1/CompressionImplicitEssentialBC_2x1x1.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 162 3.9.4. QuasiStatic 3.9.4.1. Description Solver with implicit time integration. Quasi-static, keyword QuasiStatic, is a time integration scheme for quasi-static analysis using a nonlinear solver with modied Newton approach [32]. 3.9.4.2. Code /src/core/Peridigm.cpp → PeridigmNS::Peridigm::execute → PeridigmNS::Peridigm::executeQuasiStatic /src/core/Peridigm.hpp 3.9.4.3. Input parameters List Name Type Required Default double - 0.0 Description Solver parameters Initial Time Start time of simulation Final Time double - 1.0 Verbose bool - false Disable Heuristics bool - false End time of simulation Disable solver heuristics Time integration Number of Load Steps int ( X) - Maximum Solver Iterations int - 10 Time Steps int (X) - Damped Newton Diagonal Scale Factor double - 1.0001 Damped Newton Diagonal Shift Factor double - 0.00001 Relative Tolerance double - 1.0E-6 Absolute Tolerance double - X3 Convergence criteria for the residual. DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 163 Remarks 1. Since the analysis is quasi-static, the values of Initial Time and Final Time are irrelevant 2. Two types of load step input are mutually exclusive, but one of them is required in the denition Final Time and Number of Load Steps Time Steps 3. A default value is calculated. In case of convergence problems, increase the value of Absolute Tolerance. 3.9.4.4. Exemplary input section XML-format Free format Solver Verbose "false" Initial Time 0.0 Final Time 1.0 QuasiStatic Number of Load Steps 1 Absolute Tolerance 1.0 Maximum Solver Iterations 10 YAML format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.9.4.5. List of examples From examples/: examples/tensile_test/tensile_test.peridigm From test/regression/: Interfaces/Interfaces.xml Pals_Simple_Shear/Pals_Simple_Shear.xml PrecrackedPlate/PrecrackedPlate.xml From test/verification/: MultipleHorizons/MultipleHorizons.xml DLR Peridigm Users Guide 164 3. Peridigm - Quick reference guide 165 3.9.5. NOXQuasiStatic (nonlinear) 3.9.5.1. Description NOX Quasi-static, keyword NOXQuasiStatic, is a time integration scheme for quasi- static analysis using a nonlinear solver with modied Newton approach using the NOX solver from Trilinos. NOX is short for Nonlinear Object-Oriented Solutions, and its objective is to enable the robust and ecient solution of the equation: F : Free format Solver1 Verbose "false" Initial Time 0.0 Final Time {TWIST_FINAL_TIME} QuasiStatic Number of Load Steps {NUMBER_OF_QS_STEPS} DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 170 Absolute Tolerance 1.0 Maximum Solver Iterations 100 Solver2 Verbose "false" Initial Time {TWIST_FINAL_TIME} Final Time {PULL_FINAL_TIME} Verlet Safety Factor 0.8 YAML format List of examples From examples/: twist_and_pull/twist_and_pull.peridigm From test/regression/: Compression_QS_Explicit_3x2x2/Compression_QS_Explicit_3x2x2.xml Compression_QS_Explicit_MultiFreqOutput_3x2x2/Compression_QS_Explicit_MultiFreqOutput_3x2x2.xml DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 171 3.10. Solver Tools 3.10.1. Restart 3.10.1.1. Description Writes the last state of an analysis for use in a restart analysis. 3.10.1.2. Literature - 3.10.1.3. Code Release version Available from the current master. Required compiler options - Routines from src/core/: Peridigm.cpp/hpp Peridigm_State.cpp/hpp 3.10.1.4. Input parameters List Name Type Required Default Restart bool X1 - Description Remarks 1. The rst and the restart model must be located in the same directory DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.10.1.5. Exemplary input section XML-format from test/regression/Contact_Perforation_With_Restart/: Initial run: Restart run: Free format - YAML format - DLR Peridigm Users Guide 172 3. Peridigm - Quick reference guide 3.10.1.6. List of examples From test/regression/: Contact_Perforation_Run1.xml Contact_Perforation_Run2.xml DLR Peridigm Users Guide 173 3. Peridigm - Quick reference guide 174 3.11. Output 3.11.1. Preliminaries Basically, there are ve types of distinguished output data in Peridigm : Global scalar eldspecs scalar elds dened over entire simulation Multiphysics eldspecs Element scalar eldspecs scalar elds dened over elements Nodal Vector3D eldspecs vector elds dened at nodes Bond scalar eldspecs All identiers for possible output values are dened in .\src\io\mesh_output\Field.h. 3.11.1.1. Output variables Global scalar Global_Angular_Momentum Global_Strain_Energy Global_Kinetic_Energy Global_Strain_Energy_Density Global_Linear_Momentum Multiphysics Not considered here. Fluid_Pressure_U Flux Fluid_Pressure_V Flux_Density Fluid_Pressure_Y Element scalar BC_MASK Neighborhood_Volume Block_Id Norm_td Critical_Stretch Num_Neighbors Critical_Time_Step Number_Of_Neighbors Damage Proc_Num Density Radius Dilatation Strain_Energy Element_Id Strain_Energy_Density Interface_Proximity Volume Kinetic_Energy Weighted_Volume Lambda DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 175 Nodal Vector3D Acceleration Force_Density Angular_Momentum Linear_Momentum Contact_Force Model_Coordinates Contact_Force_Density Residual Coordinates Tangent_Reference_Coordinates Displacement Velocity Force Bond scalar Bond_Damage Deviatoric_Back_Extension Deviatoric_Plastic_Extension Partial_Volume The dierent entities are written to dierent output les: .e: Element scalar, Nodal Vector3D, Bond scalar .h: Global scalar It is not dierentiated between cellular data and point data. Also it is not important if the calculation supports the output. If the simulation has no results for a specic output the data will be set to zero. However, the size of the output le itself is inuenced. All variables can be found with the dened names in Paraview. Additional output values from classes The following classes have their own output values. The specic output variables are stated in the class description in this document. Materials Compute classes in src/compute/ Compute class output values → Peridigm_Compute_Stored_Elastic_- Stored_Elastic_Energy Energy.cpp Stored_Elastic_Energy_Density → Peridigm_Compute_Stored_Elastic_- Energy_Density.cpp DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 176 3.11.1.2. Output data acquisition Output data acquisition basics The output data acquisition block starts with information about how and where to store the entities. The following entries are not mandatory: Output Format : default: binary Parallel Write : default: true Output data acquisition without global scalar entities In case no global scalar value is required, it is sucient to create one output in the input deck. OUTPUT PARAMETER LIST can contain any of the aforementioned entities for the .e-results le. By default the output is set to false for all entities. The result le will be FILENAME.e. Free-format Output Output File Type ExodusII Output Format "BINARY" Output Filename "FILENAME" Output Frequency "1" Parallel Write "true" Output Variables OUTPUT PARAMETER LIST, e.g. Displacement "true" Velocity "true" XML-format Output data acquisition including global scalar entities Two dierent sets of outputs have to created, one for the .e- and one for the .h-entities. The result les will be FILENAME.e for Output_1 and FILENAME.h for Output_2. The output frequencies can vary between the two outputs. The non-mandatory items are left out in this example. Free-format Output1 Output File Type ExodusII Output Filename "FILENAME" Output Frequency "10" Output Variables .e OUTPUT PARAMETER LIST, e.g. Displacement "true" Velocity "true" Output2 Output File Type ExodusII Output Filename "FILENAME" Output Frequency "5" Output Variables .h OUTPUT PARAMETER LIST, e.g. Global_Kinetic_Energy "true" Global_Linear_Momentum "true" XML-format DLR Peridigm Users Guide 3. Peridigm - Quick reference guide equivalent DLR Peridigm Users Guide 178 3. Peridigm - Quick reference guide 179 3.11.1.3. Output sequence A sequencially dierent output, e.g. for dierent solver steps, can be obtained via the specication of Initial Output Step and Final Output Step for each Output block. For the rst output block Initial Output Step and for the last output block Final Output Step do not have to be specied if these coincide with 0.0 and the end of the simulation. Exemplary input section XML-format - Free format Output1 Output File Type "ExodusII" Output Format "BINARY" Output Filename "model_implicit" Output Frequency 1 Final Output Step 10 Output Variables Block_Id "true" ... Displacement "true" Output2 Output File Type "ExodusII" Output Filename "model_explicit" Output Frequency 50 Initial Output Step 11 Output Variables Block_Id "true" ... Displacement "true" DLR Peridigm Users Guide 3. Peridigm - Quick reference guide YAML format - List of examples From examples/: twist_and_pull/twist_and_pull.peridigm DLR Peridigm Users Guide 180 3. Peridigm - Quick reference guide 181 3.11.1.4. User-dened output entities So called Compute Class Parameters can be dened for the acquisition of result data for nodesets, blocks or the nearest point next to a specic location. The respective keywords are explained in sections 3.8.1, 3.8.2 and 3.8.3 DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 182 3.11.2. Output 3.11.2.1. Code src/core/Peridigm.cpp src/io/Peridigm_OutputManager_ExodusII.cpp 3.11.2.2. Input parameters List Name Type Required Default Description Base parameters Output File Type string - ExodusII ExodusII Output Format string - BINARY BINARY | ASCII string - dump Output Frequency int X - Initial Output Step int - 1 Final Output Step int - last in model 1 Output Filename Output le name First time step this output shall apply to Last time step this output shall apply to Parallel Write bool - true Flag whether to write in par- list X - Opens list of output vari- allel 2 Output Variables ables Remarks 1. The Output Filename should be unique for each Output. Otherwise, output les are probably overwritten. 2. See section 3.11.1.1 3.11.2.3. Exemplary input section XML-format from Body_Force_QS.xml: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 177 OUTPUT PARAMETER LIST, e.g. Free format from tensile_test.peridigm: from NOX_QS_MatrixFree_NoPrec_YAML.yaml: Output Output File Type "ExodusII" Output Filename "tensile_test" Output Frequency 1 Output Variables Displacement "true" Velocity "true" Element_Id "true" Proc_Num "true" Force_Density "true" Hourglass_Force_Density "true" Force "true" Volume "true" YAML format from NOX_QS_MatrixFree_NoPrec_YAML.yaml: Output: Output File Type: "ExodusII" Output Filename: "NOX_QS_MatrixFree_NoPrec_YAML" Output Frequency: 1 Output Variables: Displacement: "true" Velocity: "true" Force: "true" Volume: "true" DLR Peridigm Users Guide 3. Peridigm - Quick reference guide Radius: "true" Nonlinear_Solver_Iterations: "true" 3.11.2.4. List of examples Basically all models in /test/ and DLR /examples/. Peridigm Users Guide 184 3. Peridigm - Quick reference guide 185 3.11.3. User dened results for node sets 3.11.3.1. Description User dened output for node sets using Compute Class Parameters from section 3.8.1. 3.11.3.2. Exemplary input section Requirement is the denition of the respective Compute Class Parameters from section 3.8.1. XML-format from test/regression/Contact_Ring/Contact_Ring.xml: DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 183 Free format - YAML format - DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 3.11.3.3. List of examples From test/regression/: Contact_Ring/Contact_Ring.xml WaveInBar_MultiBlock/WaveInBar_MultiBlock.xml DLR Peridigm Users Guide 186 3. Peridigm - Quick reference guide 187 3.11.4. User dened results for blocks 3.11.4.1. Description User dened output for blocks using Compute Class Parameters from section 3.8.2. 3.11.4.2. Exemplary input section Requirement is the denition of the respective Compute Class Parameters from section 3.8.2. XML-format from test/regression/Contact_Cubes/Contact_Cubes.xml: ... ... Free format from examples/tensile_test/tensile_test.peridigm: Output Output Output Output Output File Type "ExodusII" Filename "tensile_test" Frequency 1 Variables DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 188 ... Force "true" ... Top_Reaction_Force "true" Bottom_Reaction_Force "true" ... YAML format - 3.11.4.3. List of examples From examples/: examples/tensile_test/tensile_test.peridigm From test/regression/: Contact_Cubes/Contact_Cubes.xml Contact_Ring/Contact_Ring.xml WaveInBar_MultiBlock/WaveInBar_MultiBlock.xml From test/verification/: ElasticCorrespondenceFullyPrescribedTension/ElasticCorrespondenceFullyPrescribedT ElasticCorrespondenceQSTension/ElasticCorrespondenceQSTension.xml ElasticPlasticCorrespondenceFullyPrescribedTension/ElasticPlasticCorrespondenceFu IsotropicHardeningPlasticFullyPrescribedTension_NoFlaw/IsotropicHardeningPlasticF NoFlaw.xml IsotropicHardeningPlasticFullyPrescribedTension_WithFlaw/IsotropicHardeningPlasti WithFlaw.xml LinearLPSBar/LinearLPSBar.peridigm ViscoplasticNeedlemanFullyPrescribedTension_NoFlaw/ViscoplasticNeedlemanFullyPres NoFlaw.peridigm DLR Peridigm Users Guide 3. Peridigm - Quick reference guide 189 3.11.5. User dened results for nearest neighbor points 3.11.5.1. Description User dened output for the nearest point to a given spatial coordinate using Class Parameters. Compute 3.11.5.2. Exemplary input section Requirement is the denition of the respective Compute Class Parameters from section 3.8.3. XML-format from test/verification/NeighborhoodVolume/NeighborhoodVolume.xml: ... ... Free format from examples/tensile_test/tensile_test.peridigm: Output Output Output Output Output File Type "ExodusII" Filename "tensile_test" Frequency 1 Variables DLR Peridigm Users Guide 3. Peridigm - Quick reference guide ... Displacement "true" ... Gage_Top_Initial_Position "true" ... Gage_Top_Displacement "true" ... YAML format - 3.11.5.3. List of examples From examples/: examples/tensile_test/tensile_test.peridigm From test/verification/: NeighborhoodVolume/NeighborhoodVolume.xml SurfaceFactorCube/SurfaceFactorCube.xml DLR Peridigm Users Guide 190 4. Run Peridigm 4.1. Execution 4.1.1. On a local machine or a virtual box 4.1.1.1. Input Peridigm is run from the command line and requires both an input deck (text le) and a discretization. Input decks may be in either of the formats described in section 2.2. Peridigm is capable of operating on several types of discretizations. The dierent types of discretizations are described in section 2.3. An example command for running Peridigm from the command line: Peridigm my_input.peridigm Peridigm is meant to be run in a massively parallel setting. In order to use multiple processors in combination with Exodus /Genesis mesh les (*.g) parallel decomposition of these les has to performed rst as a pre-processing step when running multi-processor Peridigm simulations. The decomp utility, provided by the SEACAS Trilinos package, provides a mechanism for decomposing an Exodus /Genesis mesh le. An example command for partitioning an Exodus /Genesis mesh le with decomp for four processors: decomp -p 4 my_mesh.g If the decomp tool is not available in the PATH variable use: /usr/local/bin/trilinos-12.4.2/bin/decomp -p 4 my_mesh.g Afterwards, Peridigm can be run in parallel with the same amount of threads with: mpirun -np 4 Peridigm my_input.peridigm Text le discretizations do not require this pre-processing step, they are partitioned automatically by Peridigm. DLR Peridigm Users Guide 191 4. Run Peridigm 192 4.1.1.2. Output Preliminary informations Peridigm generates output in the Exodus le format. The content of an Exodus output le is dictated by the Output section of a Peridigm input deck. Output may include primal quantities such a nodal displacements and velocities, as well as derived quantities such as stored elastic energy. The ParaView visualization code is recommended for viewing Peridigm results. Additional options for parsing output data are available within the SEACAS Trilinos package. Exodus is based upon NetCDF-C, and also includes the nemesis parallel extensions. Exodus is fundamentally a serial output format, and each MPI process will open and write its own Exodus database for all the elements that it owns. If a load rebalance occurs during the course of a parallel simulation, each MPI process must close its Exodus database and open a new database containing the elements owned by that process after the rebalance. The net eect is that many Exodus output les may be generated during the course of a parallel simulation. Tools in the SEACAS package to help in merging these separate les together into a single Exodus database. Merge result les of MPI executions of Peridigm To automate the merging of result les for MPI executions of Peridigm, a python script is distributed with Peridigm. The le is located in ../scripts/MergeFiles.py of the Peridigm installation directory. This script will produce a single Exodus database le containing the complete simulation output. Before you can access the script you have to add read and execution rights to the Peridigm folders as root: chmod -R go+rx /usr/local/src/Peridigm-1.4.1* To use the script, create a symbolic link in the model directory, where the individual output les in the Exodus format are located: ln -sf /usr/local/src/Peridigm-1.4.1/scripts/MergeFiles.py Afterwards, execute the script with the number of processors and the model name as parameters. ./MergeFiles.py ... ... ... <# of Processors> For the fragmented_cylinder.peridigm example from the Peridigm examples directory and an initial calculation using four processors, the call to the script is ./MergeFiles.py fragmented_cylinder 4 DLR Peridigm Users Guide 4. Run Peridigm 193 fragmented_cylinder.e.0 . . . fragmented_cylinder.e.3 of each individual processor to fragmented_cylinder.e. This is the nal results le and which merges the result les should be used for postprocessing in ParaView. 4.1.1.3. Examples The most eective way to learn how to use Peridigm is to run the example problems in the Peridigm /examples/ directory. These simulations were designed to highlight the most commonly-used features of Peridigm, including constitutive models, bond-failure rules, contact, explicit and implicit time integration, and I/O commands. DLR Peridigm Users Guide 4. Run Peridigm 194 4.2. Best practices 4.2.1. Bridge time until failure occurs For stability reasons it is currently benetial to calculate the damage behavior of a structure using the explicit solver. Dependent on the material properties and loads, the model has to sustain a certain amount of displacement before initial failure occurs. The solution domain is commonly of little interest. Thus, some ways are proposed to get to the state where failure occurs faster. 4.2.1.1. Use a combination of multiple solvers Use a sequence of a quasi-static and an explicit solver as described in subsection 3.9.6. This way might not be possible in case the model and therefore stiness matrix is too large for the computational hardware. In this case, the tangent stiness matrix cannot be allocated for the quasi-static solver. Instead, the idea proposed in the next section can be applied. 4.2.1.2. Use an initial displacement If a continuous displacement eld is present before failure, e.g. bridging the gap between an impactor and the structure or a uniform tensile test, an initial displacement can be applied on the collocation point nodes of the complete moving structure. It is not possible to just apply the initial displacement on the boundary condition region. If the initial displacement is larger than the horizon, the model will fall apart. To get the correct oset #{OFFSETORIGINX=-23.0/2.0} #{FAILUREDISPLACEMENTINIT=0.900} #{FAILUREDISPLACEMENTFINAL=1.100} ... Boundary Conditions ... InitialDisplacement-3-D-x Type "Initial Displacement" Node Set "moving_x" Coordinate "x" Value "value={FAILUREDISPLACEMENTINIT}*(x-{OFFSETORIGINX})" Displacement-1-V-x Type "Prescribed Displacement" Node Set "bc_load" DLR Peridigm Users Guide 4. Run Peridigm 195 Coordinate "x" Value "value={FAILUREDISPLACEMENTINIT}+{VELOCITY}*t" ... Solver Verbose "true" Final Time {(FAILUREDISPLACEMENTFINAL-FAILUREDISPLACEMENTINIT)/VELOCITY} Verlet Safety Factor 0.9 DLR Peridigm Users Guide 4. Run Peridigm 196 4.2.2. Increase timestep in explicit solver PeridigmNS::ComputeCriticalTimeStep method in the class /src/core/Peridigm_CriticalTimeStep.cpp. The calculation is carried out for each block as requested in PeridigmNS::Peridigm::executeExplicit of src/core/Peridigm.cpp. The minimum of all block values is taken as the nal critical The critical time step calculation is performed in the time step. The equation used for the determination of the critical time step is ∆tBlock = s 2ρ (4.1) ∆tDenominator The time step denominator itself is a function of the collocation point volume, neighbor distance and bond stiness. Despite implementing the state-based peridynamics, Peridigm uses the bond constant for 3D bond-based peridynamics from Table 2.3 as the the bond stiness. Thus ∆tDenominator = f ∆x, K, δ −4 (4.2) The following actions can be taken to inuence the time step: Increase material density For quasi-static simulations a certain amount is possible Reduces oscillation eects due to increased mass intertia Limit is aperiodic boundary case Increase element size: A larger element size increases the volume associated with each peridynamic collocation point On the other hand the initial distance between points is increased Thus, do not expect a linear response of the time step for changing mesh sizes Increase horizon DLR Peridigm Users Guide 4. Run Peridigm 197 4.2.3. Create pre-cracks See subsection 3.2.2 I suggest you output the variable Number_Of_Neighbors in your output le, so that you can conrm that your pre-crack is in the right place. It always seems to take me multiple tries to get it right. DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 5.1. Input & Import Peridigm creates result les in the Exodus format. This format can read by ParaView. It is basically the same format as the Exodus nite element mesh discretization. Therefore, also the underlying Exodus mesh can be visualized in ParaView. If multiple processors are used for the execution of Peridigm each MPI core creates an individual Exodus output le. The individual result les must be merged before the output can be used in ParaView. For the proper procedure please consult section 4.1.1.2. To import a le to ParaView perform the following steps 1. From the menu bar: Click File Click Open Select the .g/.e-Peridigm input or output le or click in the Main Controls toolbar 2. In the newly opened Properties tab: Choose the variables you want to use for post-processing Choose the blocks, assemblies and material regions you want to include Click Apply DLR Peridigm Users Guide 198 5. Pre- and postprocessing with ParaView 199 5.2. Result data ParaView distinguishes three types of result data: point data cell data Point data is specied at each grid point. eld data Cell data is specied per cell. Field data occurs for user-dened output values. Several linear and non-linear cell types currently exist for one-, two- or three-dimensional applications. E.g. a cell can be a quadrilateral between four nodes in two dimensions, a hexahedron volume between eight nodes in three dimensions or others. All cell types are shown in [33]. Following is a list of Peridigm post-processing items and their classication as point data or cell data. Point data results: Cell data results: Contact_Force Displacement Force Global Node Ids Velocity ... Field data results: Compute Class Parameter sults DLR re- Damage Dilatation Element_Id Global Element Ids Number_Of_Neighbors Object IDs Proc_num Radius Weighted_Volume ... Peridigm Users Guide 5. Pre- and postprocessing with ParaView 200 5.3. Selection 5.3.1. Create a selection Selections are a mechanism to identify subset of a dataset Focus on selected subset: Inspect properties of the subset Further process subset alone Track subset over time Selections are performed in a toolbar in the RenderView. At rst it has to be chosen if the items should be added to or removed from the selection using the following buttons: Add selection Subtract selection Toggle selection In a second step the kind of item, cells or points, to be selected has to be specied: Points: Cells: Select points on Select points through Select points with polygon Select points interactive Select cells on Select cells through Select cells with polygon Select cells interactive Selection steps can be repeated as long as no Filter dependent on the selection is active. The currently selected entities are highlighted. 5.3.2. Limit display to selection To limit the model to a user dened selection: 1. Import result le to ParaView 2. Create a selection 3. From the menu bar: Click Filters Click Data Analysis Click Extract Selection or click in the Data Analysis toolbar 4. Click Apply in the newly opened Properties tab DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 201 5.3.3. Remarks 1. Selected points lie in a virtual box. If the deformation of the model are to big, the points move outside the box and the allocation is lost. This might be an issue for plotting data. This can be solved by setting the deformation scaling to zero. DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 202 5.4. View & Display 5.4.1. Save view To save a view conguration click an the Adjust Camera button in the icon bar of your RenderView. 5.4.2. Display point/node numbers After importing the model it might be of interest to get the node/point numbers for the whole model or a specic selection. To show these numbers after importing the model: 1. Generate and extract the selection of interest according to section 5.3 2. Left-click on the imported model (set the model active) 3. From the menubar: Click View Click Selection Display Inspector 4. In the Selection Display Inspector window: Click on Point Labels Select ID 5. The point/node numbers appear as labels Figure 5.1.: Display of selection point/node numbers DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 203 5.4.3. Visualize nodesets To visualize the nodesets from a Exodus mesh or Peridigm results le in ParaView perform the following steps 1. From the menu bar: Click File Click Open Select the .g/.e-Peridigm input or output le or click in the Main Controls toolbar 2. In the newly opened Properties tab: next to the Search line Click the gear symbol Sets and Maps tables become available for selection Select the nodesets to display Unselect all Blocks Click Apply 3. Create a Glyph based on the current model as described in subsection 5.4.4 (without the result data stu of course) 4. Repeat step 1 5. In the newly opened Properties tab: Select all Blocks Set the Opacity to 0.4 Click Apply Similarly, the nodesets in the peridynamic collocation point translation can be visualized. The following gure shows the base Exodus nite element mesh in gray. Superimposed with the nite element mesh are the nodes of a nite element nodeset (blue) and the nodeset in the peridynamic translation (green). DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 204 Figure 5.2.: Visualization of base nite element mesh (gray), nite element nodeset (blue) and nodeset after transformation to peridynamic collocation points (green) 5.4.4. Damage plot on nodes as spheres Commonly, the Peridigm results are plotted on so called Glyphs in ParaView. A Glyph is a geometric object with a specic size, a direction and a color, which is drawn at certain positions within the vector eld. Glyph shapes can be an Arrow Box Line Cone Cylinder Sphere 2D glyph A natural choice for peridynamic nodes is the sphere. Unfortunately, cell data can not be plotted directly in a Glyph plot. Therefore, the cell data has to be converted to point data rst. 1. Import result le to ParaView 2. Left-click on the result le once in the Pipeline Browser (mark the result le) 3. From the menu bar: Click Filters Click Alphabetical Click Cell Data to Point Data 4. Left-click on the new item Cell Data to Point Data in the Pipeline Browser 5. From the menu bar: Click Filters Click Common DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 205 Click Glyph or choose the Glyph -symbol from the common lter icon toolbar 6. In the Glyph properties window choose: Glyph Type: Sphere Scalars: Damage Vectors: Displacement Scale factor: Choose according to your needs Glyph mode: All Points Coloring: Damage and click Apply 7. Afterwards, return to the properties window, go to the Representation: Surface Coloring: Damage Display section and choose: Afterwards, you can skip through the time steps of your analysis in the Current Time Controls toolbar. It maybe necessary to adjust the range of the legend to the current time step minimum or maximum. DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 206 5.5. Plotting 5.5.1. Plot selection data over time To plot selection data, e.g. point results, over calculation time perform the following steps: 1. Import result le to ParaView 2. Create a selection, e.g. to a single or two points 3. From the menu bar: Click Filters Click Data Analysis Click Plot Selection Over Time or click in the Data Analysis toolbar 4. In the newly opened Properties tab: Review the Copied Selection Click Apply Let ParaView process your request a couple of seconds For the actual values deselect the Only Report Selection Statistics checkbox Click Apply Wait until the progressbar in the bottom right is completed Select from the selection entities the items you are currently interested in Choose the Series Parameters you are interested in (there is the same quantity for each selection entity, so a couple of times if you have multiple entities in your selection, choose wisely) Your requested values should show up in the QuartileChartView 5. You can skip through the time steps of your analysis in the Current Time Controls toolbar. The current time is shown as the vertical bar in the chart view To see the actual values in a spreadsheet: 1. Right-click on the QuartileChartView top line (where e.g. QuartileChartView1 stands) 2. Create a selection, e.g. to a single or two points 3. Select: Convert To ... Spreadsheet view 4. In case you want to return to the Chart View you can do so accordingly but you have to repeat the data selection steps mentioned above A combined view: To save the data for plotting in pgfplots: DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 207 Figure 5.3.: Combined ParaView view 1. Select the PlotOverSelection in the Pipeline Browser or left click in the ChartView or SpreadsheetView 2. From the menu bar: Click File Click Save Data or click in the Main Controls toolbar 3. Select folder and lename 4. Select csv le type 5. Click Ok Beware, an individual csv-le is written for each and every entity in your selection. The le does not include any information on the entity ID or name. Thus, a sequential saveprocess for each single individual entity is advised. After each save, rename the resulting le. 5.5.2. Force-displacement-plots 5.5.2.1. General This plot shows the course of the nodal force in a constrained region of the model over the displacement of a discrete point. The sum of the forces is used as a representative of the integral force value a load cell would show. For the displacement the value of a DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 208 discrete node or collocation point is used as a representative for the scalar value of an extensiometer or the machine displacement value. 5.5.2.2. Peridigm/ParaView Requisition of output values in Peridigm To acquire forces and displacements for a dened part of a model Compute Class Parameters are used in Peridigm. They are described in sections 3.8.1, 3.8.2 & 3.8.3. The forces are requested for the node set or block where a body load or in this case boundary condition is applied on. The displacement is written for one point in this node set using the nearest neighbor approach to a dened spatial coordinate in the node set region. The initial position of the point the displacements are written for is also requested for convenience and checks. Compute Class Parameters Strain Gage Initial Position Compute Class "Nearest_Point_Data" X 0.0317 Y 1.238 Z 0.0 Variable "Model_Coordinates" Output Label "Gage_Initial_Position" Verbose "True" Strain Gage Displacement Compute Class "Nearest_Point_Data" X 0.0317 Y 1.238 Z 0.0 Variable "Displacement" Output Label "Gage_Displacement" Verbose "True" Reaction Force Compute Class "Node_Set_Data" Calculation Type "Sum" Node Set "bc_load" Variable "Force" Output Label "Reaction_Force" Alternatively, it should also be possible to request the displacement for the same node set as the force and simply choose Minimum or Maximum as Calculation type. This way, it is not required to adjust the spatial coordinates as in Compute Class Nearest_- Point_Data . This works ne for a test case. DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 209 Additionally the global output variable types Displacement and Force must be requested in the output section. Output Output File Type "ExodusII" Output Filename "model" Output Frequency 1 Output Variables ... Displacement "true" ... Force "true" ... Gage_Initial_Position "true" Gage_Displacement "true" Reaction_Force "true" Access result data in ParaView 2 3 4 1 (a) Steps 1-2 Figure 5.4.: Access (b) Steps 3-4 Compute Class Parameters results data in ParaView 1. Make sure that the requested result data from the Compute Class Parameters is available in your results le. If you are only interested in these parameters, unselect all other. 2. Add a new view & select SpreadSheet View 3. For Showing select your model and for Attribute select Field Data 4. Click to select the columns of interest 5. Click to save the spreadsheet data as a csv-le a) Specify a lename & click Ok DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 210 b) In the next dialog toggle Filter Columns by Visibility. Otherwise, all data is written to the csv-le. 6. Do with the data whatever you want , Plot result data directly in ParaView Figure 5.5.: Plot Compute Class Parameters results data in ParaView 1. Import your model 2. Make sure that the requested result data from the Compute Class Parameters is available in your results le. If you are only interested in these parameters, unselect all other. 3. From the menu bar: Click Filters Click Alphabetical Click Cell Data to Point Data 4. Select points of interest: Select the Cell Data to Point Data entry in the Pipeline Browser Create a new selection of a single or multiple points in your constraint region as described in subsection 5.3.1 Extract the selection as described in subsection 5.3.2 5. From the menu bar: Click Filters Click Data Analysis DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 211 Click Plot Selection Over Time in the Data Analysis toolbar or click 6. Preferences in the Properties window Under X Axis Parameters select your displacement component or magnitude from the Compute Class Parameters in the X Array Name combobox For Series Parameters select the force value you want to plot from the Class Parameters, Compute either as a component or magnitude Input a Left Axis Title and Bottom Axis Title if required 7. Click Apply 8. In case you want to export the chart data from here: Left-click on the chart From the menu bar: Click File Click Save As Export as csv-le 5.5.2.3. Abaqus Standard 1. Choose Displacement (U) & Reaction Forces (RF) as eld outputs for the step you want to have the plot 2. Run the analysis 3. Open the odb 4. Reaction force over time: a) Click Create XY Data b) Select Source ODB history output c) Click Continue d) Select all entries with beginning Reation force: of the nodeset your are interested in e) Click Save as f ) Assign name, here RF, & in Save Operation select sum((XY,XY,. . .)) 5. Displacement over time: a) Click Create XY Data b) Select Source ODB history output c) Click Continue d) Select all entries with beginning Spatial displacement Ui: of the nodeset your are interested in e) Click Save as f ) Assign name, here U, & in Save Operation select avg((XY,XY,. . .)) 6. Reaction force over displacement: DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 212 a) Click Create XY Data b) Select Source Operate on XY data c) Click Continue d) From Operators select Combine e) In the equation, at rst select U, than RF, the equation than should be combine ("U","F") f ) Select Plot Expression Explicit 1. Choose Displacement (U), Reaction Forces (RF) & Nodal forces (NFORC) as eld outputs for the step you want to have the plot 2. Run the analysis 3. Open the odb 4. Reaction force & Displacement over time: a) Click Create XY Data b) Select Source ODB eld output c) Click Continue d) XY Data from ODB Field Output dialog: i. In the Variables tab, select Unique nodal in the Position combobox and all necessary entry checkboxes, here RF1 and U1 ii. In the Elements/Nodes tab, select the requested nodeset e) Click Save 5. Sum forces: a) Click Create XY Data b) Select Source Operate on XY data c) From Operators select sum d) In the equation, select all RF1 entries and click Add to expression e) Click Save as & assign name RF 6. Average displacements: a) Click Create XY Data b) Select Source Operate on XY data c) From Operators select avg d) In the equation, select all U1 entries and click Add to expression e) Click Save as & assign name U 7. Reaction force over displacement: a) Click Create XY Data b) Select Source Operate on XY data c) Click Continue d) From Operators select Combine DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 213 e) In the equation, at rst select U, than RF, the equation than should be combine ("U","F") f ) Select Plot Expression Save XY data 1. Open the odb 2. Create all results 3. In the menu bar, click Report 4. Click XY 5. Adjust the dialog preferences according to your needs DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 214 5.6. Measuring 5.6.1. Node/point position Sometimes it is necessary to get the exact position of a single point or selection of points. The following steps give you these informations and are explained for a selection of points. For an inidividual point some steps can be omitted. 1. Import the model 2. Generate and extract the selection of interest according to section 5.3 3. Display the node/point numbers according to subsection 5.4.2 4. Remember the node/point numbers 5. In the RenderView select Split Horizontal 6. Create a new SpreadSheet View 7. In the SpreadSheet View: Select your selection in the Showing combobox Select Point Data in the Attribute combobox The coordinates appear in the Points column of the table In case not all your selected points appear in the table, check if the blocks the points are part of are selected in the Properties tab of your selection 8. Unfortunately the node/point number labels disappear Figure 5.6.: Display of selection point/node positions DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 215 Figure 5.7.: Measure point distance in ParaView 5.6.2. Node/point distance To measure the distance between two nodes or collocation points after importing the model: 1. In the menu bar Click on Sources Click Ruler 2. In the render view Left-click the rst point and keep the mouse clicked Move the point close to the target Press CTRL+1 and snap the point to the closest mesh point Do the same for the second point, but press CTRL+2 instead for snapping 3. In the Ruler properties window Adjust preferences to your need Click Apply 4. The number next to the Ruler in the render view is the point distance DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 216 5.7. Exporting 5.7.1. Quick Screenshot Screenshot are taken from the current view you see in ParaView render view. Therefore, perform all adjustments to the view to your needs before creating a screenshot. To save a screenshot from ParaView perform the following steps: 1. Click File in the menubar 2. Click Save Screenshot 3. Set plot preferences: Uncheck Save only selected view if necessary Activate the Lock aspect button right of the resolution Change the resolution to values high enough for a print-quality picture (the higher value should at least be 1000) Select image quality slider 100 Override color palette: Current palette Stereo Mode: No stereo 4. Click Ok 5. Specify the path and File name 6. Choose PNG image as le type 7. Click Ok Afterwards, use GIMP, Inkscape, convert utility from ImageMagick or any other tool to convert the pixel to a non-scalable vector graphics copy as eps and pdf copy. For the sake of reproducibility of the created picture save the ParaView state as described in section 5.7.4. The target must be to have the gure and the ParaView state le available at all time: figure_name.eps figure_name.pdf figure_name.png figure_name.pvsm 5.7.2. Vector graphics - kind of The vector graphics output only aects the non-3D rendered elements such as texts, cube axes etc. Normal or glyph plots which are 3D rendered are not aected. Therefore, this option is currently no use for the documentation. It is proposed to create high- quality png-plot with the Save Screenshot function and use GIMP, Inkscape, convert DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 217 utility from ImageMagick or any other tool to convert the pixel to a non-scalable vector graphics copy. 5.7.3. Animations ParaView allows the creation of animations for your currently selected view entity. So choose your plot coloring and vector entities before creating an animation. To save an animation from ParaView perform the following steps: 1. Click File in the menubar 2. Click Save Animation 3. Set animation preferences: Animation duration: - Frame rate: ≥15 The human brain perceives successive images as moving, but not necessarily smooth, scene from about 14 to 16 frames per second. No. of Frames/timestep: 1 Number of Frames: - Resolution: higher value ≥ 1000 Timestep Range: Start- and end time step of interest Stereo Mode: No Stereo Compression: Checked 4. Click Save Animation 5. Specify the path and File name 6. Choose the le type of your liking, either video or multiple images 7. Click Ok For the sake of reproducibility of the created animation save the ParaView state as described in section 5.7.4. The target must be to have the animation and the ParaView state le available at all time: animation_name.avi animation_name.pvsm 5.7.4. Save ParaView states for exported items For the sake of reproducibility of the created picture or animation you can save the ParaView state. If you want to reproduce the picture or animation you can just load the state and all preferences will be set to the exact values of the saved state. To save a state perform the following steps: DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 218 1. Click File in the menubar 2. Click Save State 3. Specify the path of the gure or animation directory and the File name identical to the gure le name 4. Choose ParaView state le (*.pvsm) as le type 5. Click Ok A state can be loaded accordingly: 1. Click File in the menubar 2. Click Load State 3. Select the state le 4. Click Ok DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 219 5.8. Preferences 5.8.1. Change mesh on sphere Glyph Sometimes for nice publication pictures the default sphere glyph representation might be a little too angular. Internally, sphere glyphs are nothing but a combination of a certain number of tetrahedron elements. Thus, the mesh behind a sphere glyph might be too coarse. It is assumed you already have a glyph as spheres, otherwise have a look at subsection 5.4.4. In order to change the mesh size and smooth the sphere shape perform the following steps: 1. Select the Glyph in the Pipeline Browser 2. In the Properties tab Below the top line press the gear symbol Additional options in section Glyph Source appear Adjust the values for Theta resolution and Phi resolution to your needs. The default coarse value is 8. Click Apply The result is compared in Figure 5.8. The mesh renement has a signicant impact on the computational performance. So only use the rened mesh if it is really necessary. (a) Resolution=8 (b) Resolution=24 Figure 5.8.: Peridigm collocation points inside the base nite element mesh with dierent glyph resolutions DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 220 5.9. Calculate 5.9.1. Cell center 1. Import your model and create a selection if only specic cell volumes are of interest. 2. Select the model or selection in the Pipeline Browser 3. From the menu bar: Click Filters Click Alphabetical Click Cell centers 4. In the Properties tab Select all blocks of interest in the Composite Data Set Index 5. Click Apply 6. Open a new Spreadsheet View 7. In the Showing combobox select your Cell Center Filter Name and Point Data in the Attribute combobox 8. Column points shows the cell center 5.9.2. Cell volume A method is described that allows the calculation/extraction of the cell or element volume. This solution is copied from the Paraview Mailing List. 1. Import your model and create a selection if only specic cell volumes are of interest. 2. Select the model or selection in the Pipeline Browser 3. From the menu bar: Click Filters Click Data Analysis Click Programmable Filter 4. In the Properties tab Add to the Script eld: from vtk.numpy_interface import algorithms as algs volume = algs.volume(inputs[0]) output.CellData.append(volume, 'volume') Select all blocks of interest in the Composite Data Set Index 5. Click Apply 6. Open a new Spreadsheet View DLR Peridigm Users Guide 5. Pre- and postprocessing with ParaView 221 7. In the Showing combobox select your Programmable Filter and Cell Data in the Attribute combobox 8. Column volume shows the cell volume Figure 5.9.: Display of cell volume calculation DLR Peridigm Users Guide 6. Benchmark results with Peridigm Peridigm comes with several example problems as well as unit-test models which can be found in the following directories of the Peridigm installation folder. /examples/ /test/ Further examples are available and documented in the Peridigm Models and Verication Guide which is part of the same repository. DLR Peridigm Users Guide 222 Bibliography [1] Martin Rädel and Christian Willberg. PeriDoX. GitHub repository. Mar. 2018. [2] Michael L. Parks et al. Peridigm Users Guide v1.0.0. Tech. Report SAND2012-7800. doi: 10.5281/zenodo.1403015. url: https://github.com/PeriDoX/PeriDoX. Sandia report. Albuquerque, New Mexico 87185 and Livermore, California 94550, USA, 2012. [3] url: http://www.sandia.gov/~djlittl/docs/PeridigmV1.0.0.pdf. Martin Rädel and Christian Willberg. Peridigm Users Guide. DLR-IB-FA-BS-201823. DLR Report. 2018. [4] Steve Plimpton et al. LAMMPS Users Manual. Albuquerque, New Mexico 87185, 2017. [5] url: http://lammps.sandia.gov/doc/Manual.pdf. SIERRA Solid Mechanics Team. Sierra/SolidMechanics 4.22 User's Guide. SAND20117597. Sandia report. Albuquerque, New Mexico 87185, 2011. url: http://prod. sandia.gov/techlib/access-control.cgi/2011/117597.pdf. [6] Florin Bobaru et al. Handbook of Peridynamic Modeling. Advances in Applied Mathematics. CRC Press, 2016. [7] isbn: 978-1315355948. Stewart A. Silling and E. Askari. A meshfree method based on the peridynamic model of solid mechanics. In: Computers and Structures 83.17-18 (2005), pp. 1526 1535. [8] issn: 00457949. doi: 10.1016/j.compstruc.2004.11.026. Erdogan Madenci and Erkan Oterkus. Peridynamic Theory and Its Applications. Vol. 1. Springer, New York, 2014. 4614-8465-3. [9] eprint: isbn: 978-1-4614-8464-6. doi: 10.1007/978-1- arXiv:1011.1669v3. Dan Huang, Guangda Lu, and Pizhong Qiao. An improved peridynamic approach for quasi-static elastic deformation and brittle fracture analysis. In: International Journal of Mechanical Sciences 94-95 (2015), pp. 111122. issn: 0020-7403. doi: 10.1016/j.ijmecsci.2015.02.018. url: http://www.sciencedirect.com/ science/article/pii/S0020740315000727. [10] Erdogan Madenci and Selda Oterkus. Ordinary state-based peridynamics for plastic deformation according to von Mises yield criteria with isotropic hardening. In: Journal of the Mechanics and Physics of Solids 86 (2016), pp. 192219. issn: 0022- doi: 10.1016/j.jmps.2015.09.016. url: http://www.sciencedirect. com/science/article/pii/S0022509615300909. 5096. DLR Peridigm Users Guide 223 Bibliography [11] 224 G. D. Sjaardema. APREPRO: An Algebraic Preprocessor for Parameterizing Finite Element Analyses. Sandia Report SAND92-2291. Sandia National Laboratories Al- buquerque, New Mexico 87185-1322 USA, 2010. url: https://cubit.sandia. gov/public/15.2/help%5C_manual/WebHelp/appendix/aprepro/aprepro.pdf. [12] Larry A. Schoof and Victor R. Yarberry. Exodus II: A Finite Element Data Model. SAND92-2137, UC-705. Sandia report. Albuquerque, New Mexico 87185 and Livermore, California 94550, USA, 1994. [13] Pablo Seleson and Michael L. Parks. On the Role of the Inuence Function in the Peridynamic Theory. In: International Journal for Multiscale Computational Engi- neering 9.6 (2011), pp. 689706. issn: 1543-1649. doi: 10.1615/IntJMultCompEng. 2011002527. url: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10. 1.1.226.1934&rep=rep1&type=pdf. [14] M. R. Tupek, J. J. Rimoli, and R. Radovitzky. An approach for incorporating classical continuum damage models in state-based peridynamics. In: Computer doi: 10. 1016/j.cma.2013.04.012. url: https://dspace.mit.edu/handle/1721.1/ 108095. Methods in Applied Mechanics and Engineering 263 (2013), pp. 2026. [15] Pablo Seleson. Improved one-point quadrature algorithms for two-dimensional peridynamic models based on analytical calculations. In: Computer Methods in Applied Mechanics and Engineering 282.Supplement C (2014), pp. 184217. issn: doi: 10.1016/j.cma.2014.06.016. url: http://www.sciencedirect. com/science/article/pii/S0045782514002023. 0045-7825. [16] David Littlewood. Progress and Challenges in Computational Peridynamics. Workshop on Nonlocal Models in Mathematics, Computation, Science, and Engineering, SAND2015-9303C. Oct. 2015. purl/1332659. [17] url: https://www.osti.gov/scitech/servlets/ Jesse Thomas, David J. Littlewood, and Timothy Shelton. Estimation of the Critical Time Step for Peridynamic Models. In: 12th U.S. National Congress on Compu- tational Mechanics, 22-25 July 2013, Raleigh, North Carolina, USA. SAND20135738C. Albuquerque, New Mexico 87185 and Livermore, California 94550, USA, 2013. [18] url: https://www.osti.gov/scitech/servlets/purl/1140383. Bahattin Kilic and Erdogan Madenci. Prediction of crack paths in a quenched glass plate by using peridynamic theory. In: International Journal of Fracture 156.2 (2009), pp. 165177. issn: 1573-2673. doi: 10.1007/s10704- 009- 9355- 2. url: https://doi.org/10.1007/s10704-009-9355-2. [19] Stewart A. Silling et al. Peridynamic States and Constitutive Modeling. In: Jour- nal of Elasticity 88 (2007), pp. 151184. [20] doi: 10.1007/s10659-007-9125-1. Daniele Dipasquale et al. A discussion on failure criteria for ordinary state-based issn: doi: 10 . 1016 / j . engfracmech . 2017 . 10 . 011. url: http : / / www . Peridynamics. In: Engineering Fracture Mechanics 186 (2017), pp. 378398. 0013-7944. sciencedirect.com/science/article/pii/S0013794417303478?via%3Dihub. DLR Peridigm Users Guide Bibliography [21] 225 Stewart A. Silling. Reformulation of elasticity theory for discontinuities and longrange forces. In: Journal of the Mechanics and Physics of Solids 48.1 (2000), pp. 175209. [22] issn: 00225096. doi: 10.1016/S0022-5096(99)00029-0. John A. Mitchell, Stewart A. Silling, and David J. Littlewood. A Position-Aware Linear Solid Constitutive Model for Peridynamics. In: Mechanics of Materials and Structures 10.5 (2015), pp. 539557. 10.539. [23] issn: 00457949. doi: 10.2140/jomms.2015. John A. Mitchell. A Nonlocal, Ordinary, State-Based Plasticity Model for Peri- dynamics. Sandia Report SAND2011-3166. Multiphysics Simulation Technologies, Sandia National Laboratories, 2011. url: http://prod.sandia.gov/techlib/ access-control.cgi/2011/113166.pdf. [24] Christopher J. Lammi and Tracy J. Vogler. A Nonlocal Peridynamic Plasticity Model for the Dynamic Flow and Fracture of Concrete. Sandia Report SAND2014- url: http : / / prod . sandia . gov / techlib/access-control.cgi/2014/1418257.pdf. 18257. Sandia National Laboratories, 2014. [25] J.T. Foster et al. Implicit time integration of an ordinary state-based peridynamic plasticity model with isotropic hardening. In: ASME International Mechanical Engineering Congress and Exposition, Houston, Texas, November 9-15, 2012. 2012. [26] John A. Mitchell. A Nonlocal, Ordinary, State-Based Viscoelasticity Model for Peri- dynamics. Sandia Report SAND2011-8064. Multiphysics Simulation Technologies, url: https : / / cfwebprod . sandia . gov / cfdocs/CompResearch/docs/SAND2011-Viscoelasticity.pdf. Sandia National Laboratories, 2011. [27] John T. Foster, Stewart A. Silling, and Weinong W. Chen. Viscoplasticity using peridynamics. In: International Journal for Numerical Methods in Engineering 81.10 (2010), pp. 12421258. issn: 1097-0207. doi: 10.1002/nme.2725. url: http: //dx.doi.org/10.1002/nme.2725. [28] John T. Foster, Stewart A. Silling, and Weinong Chen. An Energy based Failure Criterion for use with Peridynamic States. In: International Journal for Multiscale issn: 0020-7683. doi: 10 . 1615/IntJMultCompEng.2011002407. url: http://www.dl.begellhouse.com/ journals/61fd1b191cf7e96f,5dbda3444284ba35,7d22e9255b968290.html. Computational Engineering 9.6 (2011), pp. 675688. [29] Christian Willberg, Lasse Wiedemann, and Martin Rädel. A mode-dependent energy-based damage model for peridynamics and its implementation. In: Journal of Mechanics of Materials and Structures (2018). [30] Stewart A. Silling and R. B. Lehoucq. Peridynamic Theory of Solid Mechanics. In: Advances in Applied Mechanics. Ed. by Hassan Aref and Erik van der Giessen. Vol. 44. Advances in Applied Mechanics. Elsevier, 2010, pp. 73168. isbn: doi: 10 . 1016 / S0065 - 2156(10 ) 44002 - 8. url: http : / / www . sciencedirect.com/science/article/pii/S0065215610440028. 9780123808783. DLR Peridigm Users Guide Bibliography [31] 226 David Littlewood and Tracy Vogler. Modeling Dynamic Fracture with Peridynam- ics, Finite Element Modeling, and Contact. Albuquerque, New Mexico 87185 and Livermore, California 94550, USA, 2011. docs/Littlewood_USNCCM2011.pdf. [32] url: http://www.sandia.gov/~djlittl/ David J. Littlewood et al. The Peridigm Framework for Peridynamic Simulations. In: 12th U.S. National Congress on Computational Mechanics, 22-25 July 2013, Raleigh, North Carolina, USA. SAND2013-5927C. Albuquerque, New Mexico 87185 and Livermore, California 94550, USA, 2013. url: https://cfwebprod.sandia. gov/cfdocs/CompResearch/docs/Littlewood%5C_USNCCM2013.pdf. [33] W. J. Schroeder et al. VTK File Formats for VTK Version 4.2. 2003. //www.math.u-bordeaux1.fr/~mleguebe/docs/file-formats.pdf. DLR Peridigm Users Guide url: http: Peridigm keyword index Albany, 22, 25 Critical Stretch, see Critical Block Contact, 144 Energy Criterion, see Critical Stretch Energy Blocks, 104 Interface Aware, see Interface Body Force, 128 Aware Bond Filters, 29 Disk, see Disk Power Law, see Critical Energy Rectangular_Plane, see Separated, see Critical Energy Time Dependent Critical Stretch, Rectangular_Plane see Time Dependent Critical Boundary Conditions, 107 Stretch Body Force, see Body Force Initial Displacement, see Initial Discretization, 24 Disk, 29 Displacement Initial Temperature, see Initial Temperature Elastic, 40 Elastic Bond Based, 44 Initial Velocity, see Initial Elastic Correspondence, 47 Velocity Prescribed Displacement, see Prescribed Displacement Prescribed Temperature, see Elastic Partial Volume, 50 Elastic Plastic, 63 Elastic Plastic Correspondence, 67 Elastic Plastic Hardening, 73 Prescribed Temperature Exodus, 18, 25 Compute Class Parameters, 146 Friction Coecient, 136, 138 Blocks, 147, 149 Function Parser, 10 Nearest Point, 152 Operations, 11 Nodeset, 146 Variables, 14 Contact, 131 Contact Model, 136, 138, 140, 142, Gaussian, 25, 54 General Contact, 140 144 Critical Energy, 98 Horizon, 104, 136, 138 Critical Stretch, 88 Implicit, 159 Damage Models, 87, 104 Inuence Function, 25, 35, 54 Critical Energy, see Critical Initial Displacement, 111 Initial Temperature, 116 Energy DLR Peridigm Users Guide 227 PERIDIGM KEYWORD INDEX 228 Initial Velocity, 113 Nodeset, 107, 147 Input Mesh File, 25 NOXQuasiStatic, 165 Interactions, 140 One, 25, 54 Interface Aware, 95 Isotropic Hardening Correspondence, 76 Output, 174 Blocks, 187 Nearest Point, 189 Nodeset, 185 LCM, 60 Linear LPS Partial Volume, 57 Pals, 53 Parabolic Decay, 25, 54 Materials, 38, 104 PdQuickGrid, 23, 25 Elastic, see Elastic Elastic Bond Based, see Elastic Bond Based Elastic Correspondence, see Elastic Correspondence Elastic Partial Volume, see Elastic Prescribed Displacement, 118 Prescribed Temperature, 126 Pressure Dependent Elastic Plastic, 71 QuasiStatic, 162 Partial Volume Elastic Plastic, see Elastic Plastic Rectangular_Plane, 29 Elastic Plastic Correspondence, see Restart, 171 Elastic Plastic Self Contact, 142 Correspondence Short Range Force, 135 Elastic Plastic Hardening, see Solver, 155 Elastic Plastic Hardening Implicit, see Implicit Isotropic Hardening Correspondence, see Isotropic Hardening Correspondence NOXQuasiStatic, see NOXQuasiStatic QuasiStatic, see QuasiStatic LCM, see LCM Linear LPS Partial Volume, see Linear LPS Partial Volume Pals, see Pals Sequence, 169 Verlet, see Verlet Text File, 17, 25, 147 Pressure Dependent Elastic Plastic, see Pressure Dependent Elastic Plastic Viscoelastic, see Viscoelastic Time Dependent Critical Stretch, 92 Time Dependent Short Range Force, 138 Value, see Function Parser Viscoplastic Needleman Correspondence, see Verlet, 156 Viscoplastic Needleman Viscoelastic, 80 Correspondence Viscoplastic Needleman Correspondence, 83 Models, 135 DLR Peridigm Users Guide Appendices DLR Peridigm Users Guide 229 A. This document A.1. Repository This document is part of the PeriDoX repository. The complete repository can be found at: https://github.com/PeriDoX/PeriDoX A.2. Typesetting This document was originally typeset using the documentclass dlrreprt from the DLR- AT X package. internal RM-L E AT X package is not publicly available. Therefore, this document is compatible The RM-L E with a bootstrap-version of the documentclass, called dlrreprt bootstrap_dlrreprt. bootstrap_- class is part of this repository. The compilation is performed with pdflatex with the following options: pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %source -extra-mem-top=60000000 The bibliography is compiled with biber. The glossary must be compiled with makeindex or, for Windows, the included batch-script may be used. The keyword index is created automatically. The general compilation order is: pdflatex → biber → makeindex → pdflatex → pdflatex DLR Peridigm Users Guide 230 B. FAQ B.1. Peridigm When I call Peridigm with mpirun I get an error that the program is unable to nd the mesh le. What can I do? This problem occurs for CUBIT mesh les (*.g) Before using them in a parallel job you have to decompose the mesh according to the number of processors to be used Please consult section 4.1.1.1 Everything works ne but when I call decomp I get a ***HDF5 library version mismatched error*** error. Why? Check this same question in the Peridigm Installation Guide from this same repository. I get the following error message combination: Throw test that evaluated to true: !boost::math::isfinite((*force)[i]) and **** NaN returned by force evaluation.. Why? It may be that your model became numerically unstable. Try to calculate the model again with a decreased value for the solver timestep safety factor. I get the following error message: **** Error: getFieldId(), label not found: Force when using a Compute Class Parameters. Why? Make sure you request the Variable as a normal Output Variable as well. Have a look at the remarks in sections 3.8.1.3, 3.8.2.3 & 3.8.3.3. E.g. if your Compute Class Parameter is a force, Force must also be specied in the output section I get the following error message: Error! An attempt was made to access parameter "ABC" of type "int" in the parameter (sub)list "ANONYMOUS" using the incorrect type "double"! in when using the function parser for an input parameter. Why? Make sure that the equation for the function parser does not result in a numerical #{DISPLACEMENT=1.0} and #{VELOCITY=1.0} the Final Time of a solver Final Time {DISPLACEMENT/VELOCITY} value that can be expressed as an integer. E.g. With the values supposedly is 1.0. However, for the function parser the result is 1 as an integer. As a double value is expected for DLR Final Time an error is thrown. Peridigm Users Guide 231 B. FAQ 232 I get the following error message: Error, the parameter "ABC" is not a list, it is of type "double"! using the free format (.peridigm model). Why? Make sure there are no tabs in the line of ABS. If there are, replace them with spaces and adjust the indentation of the line to the free format in your model. Nothing happens when I use the Implicit solver and time-dependent Prescribed Displacements. Why? This seems to be a bug in the calculation of the forces. See https://github.com/peridigm/peridigm/issues/23 B.2. ParaView DLR Peridigm Users Guide BSD Documentation License Redistribution and use in source (Docbook format) and 'compiled' forms ( PDF, PostScript, HTML, RTF, etc), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code (Docbook format) must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, HTML, RTF, and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this documentation without specific prior written permission . THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. DLR Peridigm Users Guide 233
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 245 Page Mode : UseOutlines Author : Martin Rädel Title : Peridigm Users Guide Subject : Creator : LaTeX with hyperref Producer : pdfTeX-1.40.19 Create Date : 2019:03:12 01:06:20+01:00 Modify Date : 2019:03:12 01:06:20+01:00 Trapped : False PTEX Fullbanner : This is MiKTeX-pdfTeX 2.9.6870 (1.40.19)EXIF Metadata provided by EXIF.tools