Presentation is loading. Please wait.

Presentation is loading. Please wait.

ParFUM: High-level Adaptivity Algorithms for Unstructured Meshes

Similar presentations


Presentation on theme: "ParFUM: High-level Adaptivity Algorithms for Unstructured Meshes"— Presentation transcript:

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


Download ppt "ParFUM: High-level Adaptivity Algorithms for Unstructured Meshes"

Similar presentations


Ads by Google