implementation of anisotropic mesh refinement in openfoam
play

Implementation of Anisotropic Mesh Refinement in OpenFOAM Jonas - PowerPoint PPT Presentation

Implementation of Anisotropic Mesh Refinement in OpenFOAM Jonas Karlsson Hydrodynamics Group Department of Shipping and Marine Technology Chalmers University of Technology Gteborg, Sweden November 13, 2012 Introduction Implementation


  1. Implementation of Anisotropic Mesh Refinement in OpenFOAM Jonas Karlsson Hydrodynamics Group Department of Shipping and Marine Technology Chalmers University of Technology Göteborg, Sweden November 13, 2012

  2. Introduction Implementation Results About this work MSc. thesis in Computer Science Employee at Shipping and Marine Technology

  3. Introduction Implementation Results Adaptive Mesh Refinement (AMR) Refine (split) cells with greatest error Anisotropic refinement. Refine in one direction

  4. Introduction Implementation Results OpenFOAM Supports isotropic (not anisotropic) AMR Provides: Face remover (for unrefinement) Synchronization (sending/receiving parts of mesh) Topology tools (polyTopoChange for adding/removing points cells and faces)

  5. Introduction Implementation Results Application components Refinement-engine Selects cells to refine Mesh-cutter Executes topological changes for ansiotropic split Refinement-tree Stores the refinement changes Note: Only for hexahedra.

  6. Introduction Implementation Results Refinement-tree Enables unrefinement Criteria – store the refinement-changes and be redistributable.

  7. Introduction Implementation Results Refinement-tree example Domain Refinement-tree

  8. Introduction Implementation Results Refinement-tree example Domain Refinement-tree

  9. Introduction Implementation Results Mesh Cutter Used for cutting/splitting cells anisotropically For every cell store its corner points Split between predetermined pairs of points 2 3 6 7 1 0 4 5

  10. Introduction Implementation Results Mesh Cutter Used for cutting/splitting cells anisotropically For every cell store its corner points Split between predetermined pairs of points 2 3 6 7 1 0 4 5

  11. Introduction Implementation Results Mesh Cutter Used for cutting/splitting cells anisotropically For every cell store its corner points Split between predetermined pairs of points 2 3 6 7 1 0 4 5

  12. Introduction Implementation Results Mesh Cutter (Consistency) Hanging node:

  13. Introduction Implementation Results Mesh Cutter (Consistency) Hanging node: ”Two-to-one” rule. 2D: every side of a cell has at most two edges, 3D: every side of a cell has at most two faces.

  14. Introduction Implementation Results Mesh Cutter (Consistency) Hanging node: ”Two-to-one” rule. 2D: every side of a cell has at most two edges, 3D: every side of a cell has at most two faces. Refered to as a Consistent mesh .

  15. Introduction Implementation Results Mesh Cutter (Splits) Allowed:

  16. Introduction Implementation Results Mesh Cutter (Splits) Allowed: Disallowed:

  17. Introduction Implementation Results Mesh Cutter (Splits) Constraint: For a face to be splittable it needs to contain four corner points from its neighbour

  18. Introduction Implementation Results Mesh Cutter (Spreading) Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat

  19. Introduction Implementation Results Mesh Cutter (Spreading) Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat

  20. Introduction Implementation Results Mesh Cutter (Spreading) Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat

  21. Introduction Implementation Results Mesh Cutter (Spreading) Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat

  22. Introduction Implementation Results Mesh Cutter (Spreading) Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat

  23. Introduction Implementation Results Refinement-engine flow graph

  24. Introduction Implementation Results Refinement-engine collaboration diagram refinementTree refTree_ dynamicFvMesh hexRef2 meshCutter_ dynamicRefineFvMeshHexRef2

  25. Introduction Implementation Results Spreading example

  26. Introduction Implementation Results Spreading example

  27. Introduction Implementation Results Spreading example

  28. Introduction Implementation Results Spreading example

  29. Introduction Implementation Results Spreading example

  30. Introduction Implementation Results Spreading example

  31. Introduction Implementation Results Parallel example

  32. Introduction Implementation Results Parallel example

  33. Introduction Implementation Results Parallel example

  34. Introduction Implementation Results Parallel example

  35. Introduction Implementation Results Parallel example

  36. Introduction Implementation Results Parallel example

  37. Introduction Implementation Results Parallel example

  38. Introduction Implementation Results Parallel example

  39. Introduction Implementation Results Parallel example

  40. Introduction Implementation Results Parallel example

  41. Introduction Implementation Results Parallel example

  42. Introduction Implementation Results Parallel example

  43. Introduction Implementation Results Parallel example

  44. Introduction Implementation Results Parallel example

  45. Introduction Implementation Results Questions and comments

Recommend


More recommend