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
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
Jonas Karlsson
Hydrodynamics Group Department of Shipping and Marine Technology Chalmers University of Technology Göteborg, Sweden
November 13, 2012
Introduction Implementation Results
Employee at Shipping and Marine Technology
Introduction Implementation Results
Refine (split) cells with greatest error Anisotropic refinement. Refine in one direction
Introduction Implementation Results
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)
Introduction Implementation Results
Refinement-engine Selects cells to refine Mesh-cutter Executes topological changes for ansiotropic split Refinement-tree Stores the refinement changes Note: Only for hexahedra.
Introduction Implementation Results
Enables unrefinement Criteria – store the refinement-changes and be redistributable.
Introduction Implementation Results
Domain Refinement-tree
Introduction Implementation Results
Domain Refinement-tree
Introduction Implementation Results
Used for cutting/splitting cells anisotropically For every cell store its corner points Split between predetermined pairs of points
4 5 7 6 1 2 3
Introduction Implementation Results
Used for cutting/splitting cells anisotropically For every cell store its corner points Split between predetermined pairs of points
4 5 7 6 1 2 3
Introduction Implementation Results
Used for cutting/splitting cells anisotropically For every cell store its corner points Split between predetermined pairs of points
4 5 7 6 1 2 3
Introduction Implementation Results
Hanging node:
Introduction Implementation Results
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.
Introduction Implementation Results
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.
Introduction Implementation Results
Allowed:
Introduction Implementation Results
Allowed: Disallowed:
Introduction Implementation Results
Constraint: For a face to be splittable it needs to contain four corner points from its neighbour
Introduction Implementation Results
Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat
Introduction Implementation Results
Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat
Introduction Implementation Results
Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat
Introduction Implementation Results
Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat
Introduction Implementation Results
Original domain Shaded cell marked for refinement Spreading algorithm marks big cell Refining all cells not restricted Repeat
Introduction Implementation Results
Introduction Implementation Results
dynamicRefineFvMeshHexRef2 dynamicFvMesh hexRef2 meshCutter_ refinementTree refTree_
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results
Introduction Implementation Results