Download presentation
Presentation is loading. Please wait.
Published byBenjamin Mason Modified over 6 years ago
1
ParFUM: High-level Adaptivity Algorithms for Unstructured Meshes
Terry L. Wilmarth, Nilesh Choudhury, Isaac Dooley, Sayantan Chakravorty Parallel Programming Laboratory University of Illinois at Urbana-Champaign
2
Adaptivity Goals for ParFUM
Work with applications scientists to discover realistic adaptivity needs Develop rich set of algorithms for flexible mesh adaptivity interface Easy to use: minimal extra work for user Fast, efficient, scalable Modular, extensible implementation
3
Example: 1D Wave Propagation
4
Mesh Sizing Many adaptivity operations strive to achieve a certain mesh sizing Specified in mesh edge length Set at mesh elements Mesh sizing can be used to: Direct refinement and coarsening Maintain regional sizing Maintain a reference mesh
5
Mesh Sizing, cont'd Setting mesh sizing:
FEM_ADAPT_SetElementSizeField(i nt meshID, int elem, double size) FEM_ADAPT_SetElementsSizeField( int meshID, double *sizes) Allows user to set sizing directly, however, adaptivity operations support special sizing techniques
6
Example: Flexible Sizing
7
Example: Flexible Sizing
8
Example: Flexible Sizing
9
Example: Flexible Sizing
10
Example: Flexible Sizing
11
Refinement and Coarsening
Simple algorithms guided by mesh sizing requirements and quality measures Refinement: longest edge bisection (Rivara) Coarsening: shortest edge contraction
12
Refinement and Coarsening, cont'd
An element is added to a list of elements to be refined/coarsened if: Its average edge length is not within some tolerance of the sizing field Its quality is low These elements are sorted by: Longest/shortest edge weighted appropriately by quality measure
13
Refinement and Coarsening, cont'd
Adaptation proceeds in passes After a pass, elements are re- evaluated Refinement adds new elements which must be examined in the next pass Coarsening modifies shape of existing elements Both algorithms may skip adapting certain elements (locking, inversion, quality)
14
Refinement and Coarsening, cont'd
API: FEM_ADAPT_Refine(int qm, int method, double factor, double *sizes) FEM_ADAPT_Coarsen(int qm, int method, double factor, double *sizes) Method allows for modifying mesh to a uniform size, to use mesh sizing, to perform scaling, or combinations of these
15
Example: Remeshing/Repair
16
Example: Remeshing/Repair
17
Example: Remeshing/Repair
18
Example: Remeshing/Repair
19
Example: Remeshing/Repair
20
Example: Remeshing/Repair
21
Mesh Quality These simple algorithms can be used strategically to improve mesh quality: Coarsening removes elements, particularly skinny isosceles triangles Refinement makes flat slivers into skinny isosceles that can be later removed by coarsening
22
Data Transfer Automatic data transfer built in to low-level mesh modification operations Linear interpolation of nodal data Duplication of element data for bisection Framework for user to override/specify data transfer mechanisms Provides mechanism to push element data to nodes and pull it back again
23
Ongoing Efforts Translation of current functionality into 3D
Remesh/Repair, Smoothing, etc. Element-to-element data transfer Support for adaptivity in “thicker” ghost layers Load balancing and dynamic repartitioning
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.