sibl

Lesson 10: Donut

Goals

Demonstrate mesh creation for a domain with a circular outer and inner boundaries.

Steps

Create the boundaries

The donut.py file is used to create the x y boundary pair file donut.txt.

The left image shows a full view of the boundaries. The right image shows a zoomed in view of the beginning and end of each boundary.

Full view Zoomed view
donut donut_zoomed

Create the .yml input file

The lesson_10.yml is used to run the SIBL Mesh Engine as follows:

> conda activate siblenv
> cd ~/sibl/geo/doc/dual/lesson_10
> pydual -i lesson_10.yml
....
SIBL Mesh Engine initialized.
driver: /Users/chovey/sibl/geo/src/ptg/main.py
Dualization initiated.
input: lesson_10.yml
The database is {'version': 1.4, 'io_path': '~/sibl/geo/doc/dual/lesson_10/', 'boundary': 'donut.txt', 'bounding_box': [[-8.0, -8.0], [8.0, 8.0]], 'resolution': 1.0, 'output_file': 'lesson_10_mesh', 'boundary_refine': True, 'developer_output': False, 'figure': {'boundary_shown': True, 'dpi': 200, 'elements_shown': True, 'filename': 'lesson_10_figure', 'format': 'pdf', 'frame': True, 'grid': False, 'label_x': '$x$', 'label_y': '$y$', 'latex': False, 'save': True, 'show': False, 'size': [6.0, 6.0], 'title': 'Lesson 10'}}
This input file has version 1.4
io_path: /Users/chovey/sibl/geo/doc/dual/lesson_10
Current working directory changed to /Users/chovey/sibl/geo/doc/dual/lesson_10
yml specified boundary file: donut.txt
  located boundary file at:
  donut.txt
deciding this loop is : in
deciding this loop is : out
inCurve with 72 points
outCurve with 72 points
Determining derivative...
Determining derivative...
Setting tangent and angle...
Setting tangent and angle...
Finding corners...
Finding corners...
Finding features...
Done with features.
Finding features...
Done with features.
QuadMesh constructor complete
Computing Mesh
Size of my nodes: 0
Size of my Primal nodes: 869
Size of my Primal Polys: 816
Unique loop size: 765
  Saved figure to lesson_10_figure.pdf
SIBL Mesh Engine completed.
Dualization is complete.
SIBL Mesh Engine completed.

Outputs

The following will appear in the specified io_path folder:

Developer Output

Quad Tree

quadtree

Primal

Primal + Dual

Dual + Trim + Project

Dual + Trim + Project + Snap

Dual + Trim + Project + Snap + Smooth

Index