Adaptive Mesh Modification in Parallel Framework Application of parFUM Sandhya Mangala (MIE) Prof. Philippe H. Geubelle (AE) University of Illinois, Urbana-Champaign October 18, th Annual Workshop on Charm++ and its Applications
Overview Motivation Objective Adaptive Mesh Modification Results Conclusions Future work
Motivation Adaptive mesh modification –Optimum mesh spacing cannot be determined a priori –Mesh repair in Lagrangian formulation –Problems of strain localization high velocity impact problems Parallel programming –Reduction in computational time
Objective – Current work Trade-off between solution accuracy and cost of computation Capture solution with Mesh Adaptivity –Refine in areas of interest –Coarsen elsewhere –Ability to do so in parallel ParFUM: provides adaptivity on parallel unstructured meshes –Support high-level refinement and coarsening algorithms –Straightforward interface –Parallelism built in at primitive level
1-D Wave Propagation Problem Simulating 1D wave propagation problem Bottom end fixed Top end pulled with constant velocity Side edges on rollers Shock wave propagating from top to bottom at the dilatational wave speed GOAL: To accurately capture shock with fine mesh Dynamically modify mesh based on the normalized velocity gradient v
Mesh Adaptivity - Criterion Based on normalized velocity gradient v 3x,v 3y v 1x,v 1y v 2x,v 2y G.T. Camacho and M. Ortiz, 1997
Initial Serial Code F90 code Explicit time-stepping scheme 2 D dynamic code
C B A D Old New Find Longest edge and add new node at mid point Refinement Strategy C B A Old Triangle For the triangle to be refined Adjacent Triangle
Coarsening Strategy Region of mesh to be coarsened Triangles being squashed Nodes merge
Parallel Code Organization Init –Read input mesh –Read material properties, boundary conditions and loading –Register data with parFUM –Set up ghost layer –Partition the mesh Driver –Access data registered in init –Time loop –Compute solution on each chunk –Update shared/ghost data –Find regions for refinement and coarsening –Resize arrays when needed –parFUM refinement/coarsening calls –Solution transfer after mesh adaptivity –End of time loop
parFUM - Features Handles –Mesh partitioning –Resizing the arrays –Solution transfer –Communication across chunks Mesh quality measures built in –Refinement Does not degrade the quality of mesh –Coarsening Targets “not” so good elements –Adaptive mesh Preserves the quality of mesh
Sequential Refinement and Coarsening Results Shock propagation and reflection down the length of the bar Adaptive mesh modification to capture the shock propagation
Solution Comparison Initial Mesh Adaptive Mesh Fine Mesh InitialAdaptiveFine # nodes # elements
Parallel Refinement and Coarsening
Conclusions 1.Adaptive refinement - parallel 2.Adaptive coarsening - parallel 3. Adaptive mesh modification – Refinement and coarsening Parallel adaptive mesh modification tested
Future Work 3D parallel refinement and coarsening 3D adaptive cohesive finite element code Crack propagation with adaptive mesh modification in parallel framework Parallel cohesive code Refining and coarsening of cohesive elements
Acknowledgements Parallel Programming Group Terry L Wilmarth – Refinement and Coarsening Algorithms and Implementation Sayantan Chakravorty – FEM interface Nilesh Choudhury, Isaac Dooley – Parallel implementation Orion Sky Lawlor – Charm ++ and Parallel Implementation Support NSF
Questions?