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

implementation of anisotropic mesh refinement in openfoam
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Introduction Implementation Results

About this work

  • MSc. thesis in Computer Science

Employee at Shipping and Marine Technology

slide-3
SLIDE 3

Introduction Implementation Results

Adaptive Mesh Refinement (AMR)

Refine (split) cells with greatest error Anisotropic refinement. Refine in one direction

slide-4
SLIDE 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)

slide-5
SLIDE 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.

slide-6
SLIDE 6

Introduction Implementation Results

Refinement-tree

Enables unrefinement Criteria – store the refinement-changes and be redistributable.

slide-7
SLIDE 7

Introduction Implementation Results

Refinement-tree example

Domain Refinement-tree

slide-8
SLIDE 8

Introduction Implementation Results

Refinement-tree example

Domain Refinement-tree

slide-9
SLIDE 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

4 5 7 6 1 2 3

slide-10
SLIDE 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

4 5 7 6 1 2 3

slide-11
SLIDE 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

4 5 7 6 1 2 3

slide-12
SLIDE 12

Introduction Implementation Results

Mesh Cutter (Consistency)

Hanging node:

slide-13
SLIDE 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.

slide-14
SLIDE 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.

slide-15
SLIDE 15

Introduction Implementation Results

Mesh Cutter (Splits)

Allowed:

slide-16
SLIDE 16

Introduction Implementation Results

Mesh Cutter (Splits)

Allowed: Disallowed:

slide-17
SLIDE 17

Introduction Implementation Results

Mesh Cutter (Splits)

Constraint: For a face to be splittable it needs to contain four corner points from its neighbour

slide-18
SLIDE 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

slide-19
SLIDE 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

slide-20
SLIDE 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

slide-21
SLIDE 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

slide-22
SLIDE 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

slide-23
SLIDE 23

Introduction Implementation Results

Refinement-engine flow graph

slide-24
SLIDE 24

Introduction Implementation Results

Refinement-engine collaboration diagram

dynamicRefineFvMeshHexRef2 dynamicFvMesh hexRef2 meshCutter_ refinementTree refTree_

slide-25
SLIDE 25

Introduction Implementation Results

Spreading example

slide-26
SLIDE 26

Introduction Implementation Results

Spreading example

slide-27
SLIDE 27

Introduction Implementation Results

Spreading example

slide-28
SLIDE 28

Introduction Implementation Results

Spreading example

slide-29
SLIDE 29

Introduction Implementation Results

Spreading example

slide-30
SLIDE 30

Introduction Implementation Results

Spreading example

slide-31
SLIDE 31

Introduction Implementation Results

Parallel example

slide-32
SLIDE 32

Introduction Implementation Results

Parallel example

slide-33
SLIDE 33

Introduction Implementation Results

Parallel example

slide-34
SLIDE 34

Introduction Implementation Results

Parallel example

slide-35
SLIDE 35

Introduction Implementation Results

Parallel example

slide-36
SLIDE 36

Introduction Implementation Results

Parallel example

slide-37
SLIDE 37

Introduction Implementation Results

Parallel example

slide-38
SLIDE 38

Introduction Implementation Results

Parallel example

slide-39
SLIDE 39

Introduction Implementation Results

Parallel example

slide-40
SLIDE 40

Introduction Implementation Results

Parallel example

slide-41
SLIDE 41

Introduction Implementation Results

Parallel example

slide-42
SLIDE 42

Introduction Implementation Results

Parallel example

slide-43
SLIDE 43

Introduction Implementation Results

Parallel example

slide-44
SLIDE 44

Introduction Implementation Results

Parallel example

slide-45
SLIDE 45

Introduction Implementation Results

Questions and comments