280 likes | 400 Views
Slideline modeling in the FLAG hydrocode LA-UR 11-04993 MultiMat 2011, Arcachon, France. Mark “Mack” Kenamond * Matthew “Matt” Bement * * XCP-1, Computational Physics Division, Los Alamos National Laboratory, USA. Outline. FLAG overview Lagrange slide surfaces Tangential (friction) forces
E N D
Slideline modeling in the FLAG hydrocodeLA-UR 11-04993MultiMat 2011, Arcachon, France Mark “Mack” Kenamond* Matthew “Matt” Bement* *XCP-1, Computational Physics Division, Los Alamos National Laboratory, USA
Outline • FLAG overview • Lagrange slide surfaces • Tangential (friction) forces • Normal (frictionless) forces • Advanced slide surface features • Dynamic slide removal • Advective slip • Neumann ALE along slide surfaces
FLAG Overview • Mixture physics • Static and dynamic mix models • Ejecta capability • Relaxers: • Numerous relaxer methods • Numerous relaxer controllers • Numerous relaxer BCs • Remap: • 1st or 2nd order flux-based remap with FCT • Several numerical gradient operators • Several monotonicity treatments • Kinetic energy “fix-up” • Multi-material closure models • “Null”, Tipton, SSD closure models • Mesh reconnection • Free Lagrange SPLIT/UNSPLIT • Isotropic and anisotropic mesh refinement • Dynamic slide removal • Output • GMV, Ensight visualization • VISAR and PDV probes • Numerous other diagnostic outputs • Continuous development since 1996 • 1D/2D/3D ALE code (Lagrange + remap) • Mesh: • Arbitrary polyhedral unstructured meshes • Dendritic constraints • Parallel, domain-decomposed (OpenMPI) • Hydro: • Burton compatible SGH • Prototype CCH scheme under development (Burton) • Slide surfaces • Parallel • Gap opening/closing • Friction • Materials: • Void, gases, solids, plasmas, HE • Many EOS and features • Many strength models and features • HE burn • Programmed and/or reactive burn • Separate reactant and product EsOS • Pseudo-reaction zone models • Reactant/product mixture models
What’s a slideline? • Also called “contact” • Enables a tangential velocity discontinuity between two bodies • Contacting materials can slide against one another • Thin shear boundary layer can be approximated by a discontinuity • Enables interaction of two disconnected meshes • Impacting solids: gaps close and open • Friction and/or boundary layer viscosity can be modeled Flyer plate simulation in FLAG Fung Single slide surface LiF Epoxy Al Ce Cu
FLAG Slide Surfaces: Overview • Features: • Fully unstructured meshes • Permits contact/sliding between two or more disconnected or self-contacting bodies • Gap closing and opening supported • Fully eliminates all predicted interpenetrations • Parallel • Two-body friction supported • Operates on boundary vertex/facet data • Search step • Predicts surface interpenetration/contact • What happens with no contact forces? • Identifies vertex/facet “contact pairs” • Enforcement step • Tangential (friction) forces: • Compute frictional forces based on user-specified model • Normal (frictionless) forces: • Solves for corrective forces that will completely eliminate interpenetrations • Neatly integrates with existing hydro • Only modification to hydro is additions to point forces • Coordinates and velocities are not directly modified Facet Vertex Mesh
Integration into FLAG hydro (SGH) • Hydro solver computes nodal forces (momentum equation) • Contact algorithm is called • Parallelism stuff • Search algorithm identifies all (facet,vertex) contact pairs • Compute tangential (friction) forces • Compute normal (frictionless) forces • Contact forces added to hydro forces • Hydro solver continues with modified forces
Normal (frictionless) forces nfacet nvert ninterp npair = Pair force direction Projected location Predicted location gpair = “gap” • Purpose: Compute corrective normal contact forces for contact pairs and add to hydro point forces • Uses iterative predictor-corrector, Lagrange-multiplier-based approach • Lagrange-multipliers (l) are normal contact force magnitudes between [vertex,facet] pairs – these are the unknowns • Facet normals are continuous along surface • Force directions are based on facet normal at projected location of vertex • Solver begins with 1D solution for each pair, then iterates: • Compute point action/reaction forces from pair forces and add to hydro forces • Re-solve EOM to get new predictor geometry • Update contact pair penetration depths (“gaps”) and force directions • Correct force magnitudes (l) based on change in gap: • Iterate N times (we use 3<N<6) fpair =lpairnpair
Normal force method extends to 3D • Parallel: 4 processors (colors in left image) • Explosively loaded plate with a gap Gap Plate HE Detonator
Tangential (friction) forces fB(x) • Purpose: Compute tangential forces based on some friction model and add them to the hydro point forces • All FLAG friction models use a 1D “helper” coordinate system • Quantities from either side can be projected to the other side via this 1D system • Areal mass, momentum, yield stress on surface B integrated over area of point on surface A and vice versa. Each slide surface point then knows the local state on both sides. • Provides state for friction models (normal force, sticking force, sliding velocity, yield stresses, etc) • 2D only • Not compatible with 3+ body contact • Friction locally disabled when surfaces are “too far apart” • Two friction models exist • Momentum coupling “friction” determines sticking force and applies some fraction of this force. Single parameter model. • “Standard” friction model includes dry friction (static and Coulomb friction with Stribeck effect) and a Couette-like viscous friction term • Dry friction force limited by the yield stress of the weaker material • Total friction force limited by sticking force x B A FB* Sticking Force Example Lumped Mass Lumped Momentum Lumped Velocity Relative Velocity Sticking Force
Advanced slide line features • Combine ALE features with slide lines • Add mesh reconnection • Provides more advanced features • Dynamic slide removal • Advective slide surfaces and slide removal • Neumann BC along slide surfaces and slide removal • Effective when surface meshes tangle
Dynamic slide line removal • Can dynamically “stitch” two surfaces together • “Slave” surface points projected to “master” surface • “Close” points are merged • Mesh connectivity is modified to connect the surfaces using remaining points • Can result in “interesting” polygonal meshes • ALE is usually activated across the slide surfaces after removal • 1D and 2D only, 2-body contact only
Example: Dynamic slide removal • Lagrange slideline • Slideline removed half way through simulation • ALE activates after slide removal Ideal Gas r=10 Lagrange Slideline Ideal Gas r=1 Ideal Gas r=1 High Explosive
Movie • Add movie
Advective Slide Surfaces • Slideline defined along two surfaces with identical, aligned discretizations • Complete Lagrange step with slidelines • Relax points on one surface back to points on other surface using ALE • Can alternate which surface is relaxed so that both surfaces can be improved • Aligned surfaces can be removed without introducing “interesting” polygonal meshes
Example: Advective slides and slide removal • Advective slideline • Slideline removed half way through simulation • ALE active always Ideal Gas r=10 Advective Slideline Ideal Gas r=1 Ideal Gas r=1 High Explosive
Movie • Add movie
Neumann ALE along slide surfaces • Can relax points along a surface • A special relaxer BC exists: “Neumann” • It relaxes points along a surface defined by either a linear or cubic B-spline fit to the surface points • But flux-based remap has limits on relaxation displacements • FLAG can subcycle remap multiple times per hydro cycle • Neumann BC and subcycling applied to move points large distances along the surface in one hydro cycle • Surface representation at start of subcycling re-used • One surface can be moved so that its points align with points on the other surface • Can then remove the slideline without producing “interesting” polygonal meshes
Example: Lagrange slides, Neumann BC and slide removal • Lagrange slideline • Neumann BC re-aligns lower points to upper points • Then remove slideline • ALE activated during Neumann relaxation Ideal Gas r=10 Lagrange Slideline Ideal Gas r=1 Ideal Gas r=1 High Explosive
Movie • Add movie
Summary • FLAG has a mature, flexible slideline capability • FLAG has many other capabilities • Combination of capabilities produces more advanced slideline capabilities • Regularly applied to complex solid mechanics simulations • Sometimes applied by curious code developers to pointless – but cool – simulations, such as . . .
Search • Purpose: Identify [vertex,facet] pairs that will be or are in contact this cycle • Results are used by the enforcement algorithm to compute corrective contact forces • Uses Parallel-Pronto3D-like predictor-based search algorithm • Predictor configuration based on surface deformations without contact forces • Surface geometry at n and predictor geometry at n+1 used to identify contact • Inexpensive neighborhood search identifies candidate pairs that likely contact • Screens majority of non-contacting pairs from more expensive detailed search • Detailed search identifies pairs that actually contact • Most challenging component of the entire slide surface algorithm Predicted geom @ n+1 Geom @ n @ n+1 @ n Geometry at n and n+1 Facet boxes bound n and n+1 Four pairs Detailed inspection Two pairs Not easy!
FLAG Slide Surfaces: Parallelism • Purpose: Provide each processor with necessary set of facets and vertices to correctly solve for contact forces • Meshes are domain decomposed • Each processor only owns a portion of the global mesh • Therefore, it only owns a portion of a slide surface • Slide surface algorithm needs “ghost” copies of off-processor vertices and facets • If a local (on-processor) vertex might contact a non-local (off-processor) facet, a ghost copy of the facet must be generated, locally • If a ghost copy of a facet is required, so are its connected vertices • General Process: • Each cycle, check if processors have the ghost copies they need • If any processor lacks a needed ghost facet, all processors will compute and communicate new sets of ghost copies – I call this “reghosting”
Ghost check Local facet • Determines if “reghosting” is necessary • Check made every cycle before search • Compute facet bound boxes for all local (non-ghost) facets • Same bound boxes as neighborhood search • Construct processor bound box containing all local facet bound boxes • Communicate processor bound boxes to all processors • If a local facet bound box overlaps some other processor’s bound box, and that other processor lacks a ghost copy of this facet, all processors will re-compute ghosts • Result is “Yes, reghost” or “No, ghost data are okay” Initial (@ n) Predicted (@ n+1) Local facet bound box Initial local surface (@ n) Predicted local surface (@ n+1) Processor bound box
“Reghosting” Local facet • Compute “augmented” facet bound boxes • Project vertices N cycles into future: xn+N ~ xn+N vnDtn • User chooses N (default is N=50) • Calculate facet boxes that bound facet in initial and projected states • Compute “augmented” processor bound boxes • Box bounds all local augmented facet bound boxes • Communicate augmented processor boxes to all processors • If a local, augmented facet box overlaps with some other processor’s bound box, that other processor requires a ghost copy of this facet • If another processor requires a copy of a local facet, it must also have copies of the vertices defining that facet • Projecting N cycles decreases reghosting frequency, but increases number of ghosts Initial (@ n) Projected (@ n+N) Augmented local facet bound box Initial local surface (@ n) Projected local surface (@ n+N) Augmented processor bound box