FLAG Slide Surfaces

Download Report

Transcript FLAG Slide Surfaces

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
1
LA-UR 11-04993
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
2
LA-UR 11-04993
FLAG Overview
•
•
•
Continuous development since 1996
1D/2D/3D ALE code (Lagrange + remap)
Mesh:
–
–
–
•
Void, gases, solids, plasmas, HE
Many EOS and features
Many strength models and features
•
Programmed and/or reactive burn
Separate reactant and product EsOS
Pseudo-reaction zone models
Reactant/product mixture models
“Null”, Tipton, SSD closure models
Mesh reconnection
–
–
–
•
1st or 2nd order flux-based remap with FCT
Several numerical gradient operators
Several monotonicity treatments
Kinetic energy “fix-up”
Multi-material closure models
–
•
Numerous relaxer methods
Numerous relaxer controllers
Numerous relaxer BCs
Remap:
–
–
–
–
HE burn
–
–
–
–
3
•
Static and dynamic mix models
Ejecta capability
Relaxers:
–
–
–
Parallel
Gap opening/closing
Friction
Materials:
–
–
–
•
•
Slide surfaces
–
–
–
•
Burton compatible SGH
Prototype CCH scheme under
development (Burton)
Mixture physics
–
–
Hydro:
–
–
•
Arbitrary polyhedral unstructured meshes
Dendritic constraints
Parallel, domain-decomposed (OpenMPI)
•
Free Lagrange SPLIT/UNSPLIT
Isotropic and anisotropic mesh refinement
Dynamic slide removal
Output
–
–
–
GMV, Ensight visualization
VISAR and PDV probes
Numerous other diagnostic outputs
LA-UR 11-04993
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
4
LA-UR 11-04993
5
200.0m/s Cue Ball Velocity
LA-UR 11-04993
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”
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
–
–
6
Vertex
Enforcement step
–
•
Facet
Only modification to hydro is additions to point forces
Coordinates and velocities are not directly modified
Mesh
LA-UR 11-04993
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
7
LA-UR 11-04993
Normal (frictionless) forces
•
•
Purpose: Compute corrective normal
contact forces for contact pairs and add to
hydro point forces
Uses iterative predictor-corrector, Lagrangemultiplier-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:

 g0  
li 1  li max  0, min( 2, 
 ) 
 g0  gi  

– Iterate N times (we use 3<N<6)
8
nvert
ninterp
nfacet
npair = Pair force direction
Projected
location
Predicted
location
gpair = “gap”
fpair = lpair npair
LA-UR 11-04993
Normal force method extends to 3D
• Parallel: 4 processors (colors in left image)
• Explosively loaded plate with a gap
Gap
Plate
HE
Detonator
9
LA-UR 11-04993
Tangential (friction) forces
•
•
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
•
10
•
Dry friction force limited by the yield stress of the
weaker material
Total friction force limited by sticking force
fB(x)
x
B
A
F B*
Sticking Force Example
Lumped
Mass
Lumped
Momentum
mlump  m A  mB*
*
 lump   A   B
 lump
Lumped
Velocity
u lump 
Relative
Velocity
u A,lump  u lump  u A
Sticking
Force
f
A, stick
mlump
 mA
u A,lump
t
LA-UR 11-04993
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
11
LA-UR 11-04993
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
12
LA-UR 11-04993
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
13
High
Explosive
Ideal
Gas
r=1
LA-UR 11-04993
Movie
• Add movie
14
LA-UR 11-04993
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
15
LA-UR 11-04993
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
16
High
Explosive
Ideal
Gas
r=1
LA-UR 11-04993
Movie
• Add movie
17
LA-UR 11-04993
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
18
LA-UR 11-04993
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
19
High
Explosive
Ideal
Gas
r=1
LA-UR 11-04993
Movie
• Add movie
20
LA-UR 11-04993
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 . . .
21
LA-UR 11-04993
22
4.0km/s Cue Ball Velocity
LA-UR 11-04993
23
4.0km/s Cue Ball Velocity
LA-UR 11-04993
Backup slides
24
LA-UR 11-04993
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 predictorbased search algorithm
Predictor configuration based on surface
deformations without contact forces
Geom @ n
Predicted geom @ n+1
@ n+1
– Surface geometry at n and predictor
geometry at n+1 used to identify contact
•
Inexpensive neighborhood search
identifies candidate pairs that likely
contact
@n
Geometry at
n and n+1
Facet boxes
bound n and n+1
Four
pairs
– 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
25
Detailed inspection
Not easy!
Two pairs
LA-UR 11-04993
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 offprocessor vertices and facets
– If a local (on-processor) vertex might contact a non-local (offprocessor) 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”
26
LA-UR 11-04993
Ghost check
•
•
•
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
•
•
•
•
27
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”
Local facet
Initial (@ n)
Predicted
(@ n+1)
Local facet
bound box
Initial local
surface
(@ n)
Predicted local
surface
(@ n+1)
Processor
bound box
LA-UR 11-04993
•
Compute “augmented” facet bound boxes
–
–
–
•
•
•
•
28
Project vertices N cycles into future:
xn+N ~ xn+N vntn
User chooses N (default is N=50)
Calculate facet boxes that bound facet in
initial and projected states
Compute “augmented” processor bound
boxes
–
•
“Reghosting”
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
Local facet
Initial (@ n)
Projected
(@ n+N)
Augmented local
facet bound box
Initial local
surface
(@ n)
Projected local
surface
(@ n+N)
Augmented processor
bound box