Note

This page was generated from tut/3-Renderers/3.5-Render-your-design-to-Gmsh.ipynb.

3.5 Render your design to Gmsh

This notebook demonstrates the open-source rendering capabilities of Qiskit Metal using Gmsh for mesh generation. By the end you will be able to:

  1. Render a full or selective design (with open pins, skip junctions)

  2. Generate a basic mesh, a customised mesh, and an Intelli-mesh

  3. Export the mesh to a .msh file for downstream FEM solvers

Contents: creating a design → rendering (wireframe + selective + open/short pins + skip junctions) → meshing (basic + customised + Intelli-mesh + custom function) → export

Gmsh required. Install with pip install gmsh or conda install -c conda-forge gmsh. The import check in the next section will tell you if it is missing.

⚠️ ``launch_gui()`` blocks the kernel

Every cell that calls gmsh_renderer.launch_gui() opens the Gmsh FLTK window and pauses execution until you close that window. This is expected — Gmsh’s event loop is synchronous. Close the window to continue to the next cell.

If you are running headlessly (Colab, JupyterHub, CI), remove the launch_gui() calls — everything else (render, mesh, export) works without a display.

Imports and Gmsh availability check

[1]:
try:
    import gmsh

    print(f"Gmsh {gmsh.__version__} is available.")
except ImportError:
    raise ImportError(
        "Gmsh is not installed. "
        "Install it with: pip install gmsh\n"
        "or: conda install -c conda-forge gmsh"
    )
Gmsh 4.15.0 is available.
[3]:
%load_ext autoreload
%autoreload 2

from qiskit_metal import MetalGUI, designs
from qiskit_metal.qlibrary.qubits.transmon_pocket import TransmonPocket
from qiskit_metal.qlibrary.tlines.meandered import RouteMeander
from qiskit_metal.qlibrary.terminations.open_to_ground import OpenToGround
The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload
[4]:
%metal_heading 1. Creating a Transmon coupled to a resonator in Qiskit Metal

1. Creating a Transmon coupled to a resonator in Qiskit Metal

[5]:
# QGmshRenderer requires MultiPlanar — it supports the layer-stack geometry
# (metal layers, dielectric substrate) that Gmsh needs to build 3-D volumes.
# DesignPlanar is 2-D only and does not carry layer-type metadata.
design = designs.MultiPlanar({}, overwrite_enabled=True)
gui = MetalGUI(design)
# Headless alternative: omit MetalGUI; use qm.view(design) after building components
[6]:
design.delete_all_components()

# Making the qubit
q_opts = dict(
    pos_x="2mm", pos_y="2mm", connection_pads=dict(readout=dict()), chip="main", layer=1
)

q1 = TransmonPocket(design, "Q1", options=q_opts)

# Making the open to ground
otg_opts = dict(pos_x="4mm", pos_y="2mm", chip="main", layer=1)

otg1 = OpenToGround(design, "otg1", options=otg_opts)

# Making the meandered resonator
meander_opts1 = dict(
    pin_inputs=dict(
        start_pin=dict(component="Q1", pin="readout"),
        end_pin=dict(component="otg1", pin="open"),
    ),
    lead=dict(start_straight="100um"),
    fillet="99.99um",
    asymmetry="100um",
    chip="main",
    layer=1,
)

mtl1 = RouteMeander(design, "mtl1", options=meander_opts1)

gui.rebuild()
gui.autoscale()
[7]:
gui.screenshot()
# Headless alternative: import qiskit_metal as qm; qm.view(design)
../../_images/tut_3-Renderers_3.5-Render-your-design-to-Gmsh_8_0.png
[8]:
%metal_heading 2. Rendering your design using `QGmshRenderer`

2. Rendering your design using `QGmshRenderer`

[9]:
from qiskit_metal.renderers.renderer_gmsh.gmsh_renderer import QGmshRenderer

# Instantiate QGmshRenderer
gmsh_renderer = QGmshRenderer(design)

Rendering the wireframe of whole design

[10]:
# Render the design in Gmsh (wireframe only)
gmsh_renderer.render_design(mesh_geoms=False)

# Launch Gmsh GUI to verify
gmsh_renderer.launch_gui()
Info    : Clearing all models and views...
Info    : Done clearing all models and views
-------------------------------------------------------
Version       : 4.15.0
License       : GNU General Public License
Build OS      : MacOSARM-sdk
Build date    : 20251026
Build host    : gmsh.info
Build options : 64Bit ALGLIB[contrib] ANN[contrib] Bamg Blas[petsc] Blossom Cgns DIntegration Dlopen DomHex Eigen[contrib] Fltk GMP Gmm[contrib] Hxt Jpeg Kbipack Lapack[petsc] MathEx[contrib] Med Mesh Metis[contrib] Mpeg Netgen Nii2mesh ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom PETSc Parser Plugins Png Post QuadMeshingTools QuadTri Solver TetGen/BR TinyXML2[contrib] TouchBar Untangle Voro++[contrib] WinslowUntangler Zlib tinyobjloader
FLTK version  : 1.4.0
PETSc version : 3.17.4 (real arithmtic)
OCC version   : 7.8.1
MED version   : 4.1.0
Packaged by   : geuzaine
Web site      : https://gmsh.info
Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues
-------------------------------------------------------

The cell above calls two methods:

  • ``render_design(mesh_geoms=False)`` — converts the QDesign geometry into a Gmsh model. All metal polygons on the configured layers are imported as Gmsh surfaces. Passing mesh_geoms=False skips the meshing step so the model loads instantly; useful for a quick visual check before committing to a full mesh run.

  • ``launch_gui()`` — opens the Gmsh FLTK window shown below. The window lets you rotate, zoom, and inspect the geometry in 3-D. Use the Tools → Options menu to toggle layer visibility or change colours.

[ ]:
gmsh_renderer.options

Renderer options

The gmsh_renderer.options dict controls geometry import, meshing, and display. Override any value before calling render_design:

gmsh_renderer.options.mesh.max_size = '50um'

Chip boundary padding

Option

Default

Meaning

x_buffer_width_mm

0.2

Extra margin added around the design bounding box in x (mm)

y_buffer_width_mm

0.2

Extra margin added around the design bounding box in y (mm)

Mesh options (options.mesh.*)

Option

Default

Meaning

max_size

70 µm

Maximum allowed edge length anywhere in the mesh

min_size

5 µm

Minimum allowed edge length — sets the floor for refinement

max_size_jj

5 µm

Maximum edge length near Josephson junction geometries (keeps the junction region finely resolved)

smoothing

10

Number of Laplacian smoothing passes applied after meshing

nodes_per_2pi_curve

90

Number of mesh nodes used to approximate a full circle — controls arc fidelity

algorithm_3d

10

Gmsh 3-D algorithm index (10 = HXT, the fast parallel tetrahedral mesher)

num_threads

8

Worker threads for parallel meshing

Size-field options (options.mesh.mesh_size_fields.*)

These control a distance-based size field that automatically refines the mesh near metal edges and coarsens it away from them:

Option

Default

Meaning

min_distance_from_edges

10 µm

Within this distance of a metal edge, min_size is used

max_distance_from_edges

130 µm

Beyond this distance, max_size is used

distance_delta

30 µm

Sampling resolution for the distance field computation

gradient_delta

3 µm

Controls how steeply the mesh size transitions between min_size and max_size

Display colours (options.colors.*)

RGBA tuples used in the Gmsh GUI (values 0–255):

Key

Default (R, G, B, A)

Represents

metal

(84, 140, 168, 255)

Metal / superconductor surfaces (opaque blue-grey)

jj

(84, 140, 168, 150)

Josephson junction surfaces (same hue, semi-transparent)

dielectric

(180, 180, 180, 255)

Dielectric substrate surfaces (opaque light grey)

Rendering the components selectively

[10]:
# Rendering the 'Q1' component
gmsh_renderer.render_design(selection=["Q1"], mesh_geoms=False)
gmsh_renderer.launch_gui()
Info    : Clearing all models and views...
Info    : Done clearing all models and views
-------------------------------------------------------s
Version       : 4.15.0
License       : GNU General Public License
Build OS      : MacOSARM-sdk
Build date    : 20251026
Build host    : gmsh.info
Build options : 64Bit ALGLIB[contrib] ANN[contrib] Bamg Blas[petsc] Blossom Cgns DIntegration Dlopen DomHex Eigen[contrib] Fltk GMP Gmm[contrib] Hxt Jpeg Kbipack Lapack[petsc] MathEx[contrib] Med Mesh Metis[contrib] Mpeg Netgen Nii2mesh ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom PETSc Parser Plugins Png Post QuadMeshingTools QuadTri Solver TetGen/BR TinyXML2[contrib] TouchBar Untangle Voro++[contrib] WinslowUntangler Zlib tinyobjloader
FLTK version  : 1.4.0
PETSc version : 3.17.4 (real arithmtic)
OCC version   : 7.8.1
MED version   : 4.1.0
Packaged by   : geuzaine
Web site      : https://gmsh.info
Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues
-------------------------------------------------------
FALLBACK (log once): Fallback to SW vertex for line stipple
FALLBACK (log once): Fallback to SW vertex processing, m_disable_code: 2000
FALLBACK (log once): Fallback to SW vertex processing in drawCore, m_disable_code: 2000
image-70fc1a4e
[ ]:
# Rendering the 'mtl1' component
gmsh_renderer.render_design(selection=["mtl1"], mesh_geoms=False)
gmsh_renderer.launch_gui()

Defining open_pins

open_pins adds a small rectangular cap at each listed pin to close the CPW cross-section for meshing — without it the end of the waveguide is an open boundary that can confuse the mesher. Each entry is (component_name, pin_name).

[11]:
# Rendering the 'Q1' component with open_pins
gmsh_renderer.render_design(
    selection=["Q1"], open_pins=[("Q1", "readout")], mesh_geoms=False
)
gmsh_renderer.launch_gui()
Info    : Clearing all models and views...
Info    : Done clearing all models and views
-------------------------------------------------------
Version       : 4.15.0
License       : GNU General Public License
Build OS      : MacOSARM-sdk
Build date    : 20251026
Build host    : gmsh.info
Build options : 64Bit ALGLIB[contrib] ANN[contrib] Bamg Blas[petsc] Blossom Cgns DIntegration Dlopen DomHex Eigen[contrib] Fltk GMP Gmm[contrib] Hxt Jpeg Kbipack Lapack[petsc] MathEx[contrib] Med Mesh Metis[contrib] Mpeg Netgen Nii2mesh ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom PETSc Parser Plugins Png Post QuadMeshingTools QuadTri Solver TetGen/BR TinyXML2[contrib] TouchBar Untangle Voro++[contrib] WinslowUntangler Zlib tinyobjloader
FLTK version  : 1.4.0
PETSc version : 3.17.4 (real arithmtic)
OCC version   : 7.8.1
MED version   : 4.1.0
Packaged by   : geuzaine
Web site      : https://gmsh.info
Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues
-------------------------------------------------------

Skipping the junction

Set skip_junctions=True to omit the Josephson junction geometry from the Gmsh model. This is useful when you want to mesh the electromagnetic environment of the qubit without modelling the junction bridge itself (e.g. for eigenmode analysis where the junction is treated as a lumped element).

[ ]:
# Rendering the 'Q1' component without the junction
gmsh_renderer.render_design(selection=["Q1"], mesh_geoms=False, skip_junctions=True)
gmsh_renderer.launch_gui()
[ ]:
%metal_heading 3. Meshing your design using `QGmshRenderer`

Applying a basic mesh to your design

Run the code below, then in the Gmsh app window do the following to see the mesh on the chip

  1. In the menu bar on top, go to Tools > Visibility

  2. In the visbility settings window, click on the drop-down and select Physical Groups

  3. Press Ctrl-key (or Command-key on MacOS) and select everything except the ones having vacuum_box... in their name.

  4. Click on Apply, and close the visibility settings window.

  5. In the main Gmsh window, right click and go to Mesh Visibility, and select the option 2D element faces

  6. This will make your chip’s mesh visible.

[6]:
# meshing the whole design
gmsh_renderer.render_design(mesh_geoms=False)
gmsh_renderer.add_mesh(intelli_mesh=False)
gmsh_renderer.launch_gui()
Info    : Clearing all models and views...
Info    : Done clearing all models and views
Info    : Meshing 1D...nts - Making faces
Info    : [  0%] Meshing curve 469 (Line)
Info    : [  0%] Meshing curve 888 (Line)
Info    : [  0%] Meshing curve 709 (Line)
Info    : [  0%] Meshing curve 589 (Circle)
Info    : [  0%] Meshing curve 529 (Line)
Info    : [  0%] Meshing curve 649 (Line)
Info    : [  0%] Meshing curve 829 (Line)
Info    : [  0%] Meshing curve 769 (Line)
Info    : [  0%] Meshing curve 710 (Line)
Info    : [ 10%] Meshing curve 470 (Line)
Info    : [ 10%] Meshing curve 770 (Line)
Info    : [ 10%] Meshing curve 889 (Line)
Info    : [ 10%] Meshing curve 530 (Line)
Info    : [ 10%] Meshing curve 471 (Line)
Info    : [ 10%] Meshing curve 830 (Line)
Info    : [ 10%] Meshing curve 590 (Line)
Info    : [ 10%] Meshing curve 472 (Line)
Info    : [ 10%] Meshing curve 531 (Line)
Info    : [ 10%] Meshing curve 473 (Line)
Info    : [ 10%] Meshing curve 532 (Line)
Info    : [ 10%] Meshing curve 890 (Line)
Info    : [ 10%] Meshing curve 474 (Line)
Info    : [ 10%] Meshing curve 831 (Circle)
Info    : [ 10%] Meshing curve 711 (Line)
Info    : [ 10%] Meshing curve 891 (Circle)
Info    : [ 10%] Meshing curve 475 (Line)
Info    : [ 10%] Meshing curve 533 (Circle)
Info    : [ 10%] Meshing curve 712 (Line)
Info    : [ 10%] Meshing curve 476 (Line)
Info    : [ 10%] Meshing curve 591 (Circle)
Info    : [ 10%] Meshing curve 713 (Line)
Info    : [ 10%] Meshing curve 534 (Line)
Info    : [ 10%] Meshing curve 477 (Line)
Info    : [ 10%] Meshing curve 478 (Line)
Info    : [ 10%] Meshing curve 714 (Line)
Info    : [ 10%] Meshing curve 650 (Line)
Info    : [ 10%] Meshing curve 535 (Circle)
Info    : [ 10%] Meshing curve 771 (Line)
Info    : [ 10%] Meshing curve 892 (Line)
Info    : [ 10%] Meshing curve 715 (Line)
Info    : [ 10%] Meshing curve 479 (Line)
Info    : [ 10%] Meshing curve 716 (Line)
Info    : [ 10%] Meshing curve 893 (Line)
Info    : [ 10%] Meshing curve 480 (Line)
Info    : [ 10%] Meshing curve 536 (Line)
Info    : [ 10%] Meshing curve 772 (Circle)
Info    : [ 10%] Meshing curve 481 (Line)
Info    : [ 10%] Meshing curve 832 (Line)
Info    : [ 10%] Meshing curve 592 (Line)
Info    : [ 10%] Meshing curve 717 (Line)
Info    : [ 10%] Meshing curve 482 (Line)
Info    : [ 10%] Meshing curve 894 (Line)
Info    : [ 10%] Meshing curve 773 (Line)
Info    : [ 10%] Meshing curve 718 (Line)
Info    : [ 20%] Meshing curve 483 (Line)
Info    : [ 20%] Meshing curve 895 (Circle)
Info    : [ 20%] Meshing curve 833 (Line)
Info    : [ 10%] Meshing curve 651 (Line)
Info    : [ 20%] Meshing curve 719 (Line)
Info    : [ 20%] Meshing curve 484 (Line)
Info    : [ 20%] Meshing curve 537 (Circle)
Info    : [ 20%] Meshing curve 652 (Line)
Info    : [ 20%] Meshing curve 720 (Line)
Info    : [ 20%] Meshing curve 485 (Line)
Info    : [ 20%] Meshing curve 653 (Line)
Info    : [ 20%] Meshing curve 593 (Circle)
Info    : [ 20%] Meshing curve 721 (Line)
Info    : [ 20%] Meshing curve 486 (Line)
Info    : [ 20%] Meshing curve 654 (Line)
Info    : [ 20%] Meshing curve 722 (Line)
Info    : [ 20%] Meshing curve 538 (Line)
Info    : [ 20%] Meshing curve 896 (Line)
Info    : [ 20%] Meshing curve 655 (Line)
Info    : [ 20%] Meshing curve 723 (Line)
Info    : [ 20%] Meshing curve 487 (Line)
Info    : [ 20%] Meshing curve 897 (Line)
Info    : [ 20%] Meshing curve 656 (Circle)
Info    : [ 20%] Meshing curve 724 (Line)
Info    : [ 20%] Meshing curve 488 (Line)
Info    : [ 20%] Meshing curve 594 (Line)
Info    : [ 20%] Meshing curve 725 (Line)
Info    : [ 20%] Meshing curve 657 (Line)
Info    : [ 20%] Meshing curve 489 (Line)
Info    : [ 20%] Meshing curve 726 (Line)
Info    : [ 20%] Meshing curve 658 (Line)
Info    : [ 20%] Meshing curve 834 (Line)
Info    : [ 20%] Meshing curve 490 (Line)
Info    : [ 20%] Meshing curve 539 (Circle)
Info    : [ 20%] Meshing curve 491 (Line)
Info    : [ 20%] Meshing curve 898 (Line)
Info    : [ 20%] Meshing curve 595 (Circle)
Info    : [ 20%] Meshing curve 899 (Circle)
Info    : [ 20%] Meshing curve 835 (Circle)
Info    : [ 20%] Meshing curve 492 (Line)
Info    : [ 20%] Meshing curve 727 (Line)
Info    : [ 20%] Meshing curve 659 (Line)
Info    : [ 20%] Meshing curve 728 (Circle)
Info    : [ 20%] Meshing curve 660 (Circle)
Info    : [ 20%] Meshing curve 493 (Line)
Info    : [ 20%] Meshing curve 596 (Line)
Info    : [ 20%] Meshing curve 729 (Line)
Info    : [ 20%] Meshing curve 900 (Line)
Info    : [ 20%] Meshing curve 661 (Line)
Info    : [ 20%] Meshing curve 730 (Line)
Info    : [ 30%] Meshing curve 494 (Line)
Info    : [ 30%] Meshing curve 901 (Line)
Info    : [ 30%] Meshing curve 662 (Line)
Info    : [ 30%] Meshing curve 836 (Line)
Info    : [ 30%] Meshing curve 495 (Line)
Info    : [ 30%] Meshing curve 731 (Line)
Info    : [ 30%] Meshing curve 597 (Circle)
Info    : [ 30%] Meshing curve 902 (Line)
Info    : [ 30%] Meshing curve 663 (Line)
Info    : [ 30%] Meshing curve 496 (Line)
Info    : [ 30%] Meshing curve 732 (Circle)
Info    : [ 30%] Meshing curve 903 (Circle)
Info    : [ 30%] Meshing curve 664 (Circle)
Info    : [ 30%] Meshing curve 837 (Line)
Info    : [ 30%] Meshing curve 497 (Circle)
Info    : [ 30%] Meshing curve 498 (Line)
Info    : [ 30%] Meshing curve 733 (Line)
Info    : [ 30%] Meshing curve 665 (Line)
Info    : [ 30%] Meshing curve 598 (Line)
Info    : [ 30%] Meshing curve 734 (Line)
Info    : [ 30%] Meshing curve 666 (Line)
Info    : [ 30%] Meshing curve 904 (Line)
Info    : [ 30%] Meshing curve 499 (Circle)
Info    : [ 30%] Meshing curve 905 (Line)
Info    : [ 30%] Meshing curve 500 (Line)
Info    : [ 30%] Meshing curve 735 (Line)
Info    : [ 30%] Meshing curve 667 (Line)
Info    : [ 30%] Meshing curve 599 (Circle)
Info    : [ 30%] Meshing curve 501 (Circle)
Info    : [ 30%] Meshing curve 736 (Circle)
Info    : [ 30%] Meshing curve 540 (Line)
Info    : [ 30%] Meshing curve 737 (Line)
Info    : [ 30%] Meshing curve 502 (Line)
Info    : [ 30%] Meshing curve 738 (Line)
Info    : [ 30%] Meshing curve 541 (Circle)
Info    : [ 30%] Meshing curve 838 (Line)
Info    : [ 30%] Meshing curve 906 (Line)
Info    : [ 30%] Meshing curve 503 (Circle)
Info    : [ 30%] Meshing curve 668 (Circle)
Info    : [ 30%] Meshing curve 542 (Line)
Info    : [ 30%] Meshing curve 907 (Circle)
Info    : [ 30%] Meshing curve 600 (Line)
Info    : [ 30%] Meshing curve 739 (Line)
Info    : [ 30%] Meshing curve 740 (Circle)
Info    : [ 30%] Meshing curve 839 (Circle)
Info    : [ 30%] Meshing curve 543 (Circle)
Info    : [ 30%] Meshing curve 908 (Line)
Info    : [ 30%] Meshing curve 909 (Line)
Info    : [ 40%] Meshing curve 504 (Line)
Info    : [ 40%] Meshing curve 544 (Line)
Info    : [ 40%] Meshing curve 741 (Line)
Info    : [ 40%] Meshing curve 505 (Circle)
Info    : [ 40%] Meshing curve 742 (Line)
Info    : [ 40%] Meshing curve 601 (Circle)
Info    : [ 40%] Meshing curve 545 (Circle)
Info    : [ 40%] Meshing curve 506 (Line)
Info    : [ 40%] Meshing curve 910 (Line)
Info    : [ 40%] Meshing curve 546 (Line)
Info    : [ 40%] Meshing curve 840 (Line)
Info    : [ 40%] Meshing curve 911 (Circle)
Info    : [ 40%] Meshing curve 507 (Circle)
Info    : [ 40%] Meshing curve 669 (Line)
Info    : [ 40%] Meshing curve 547 (Circle)
Info    : [ 20%] Meshing curve 774 (Line)
Info    : [ 40%] Meshing curve 912 (Line)
Info    : [ 40%] Meshing curve 602 (Line)
Info    : [ 40%] Meshing curve 841 (Line)
Info    : [ 40%] Meshing curve 913 (Line)
Info    : [ 40%] Meshing curve 508 (Line)
Info    : [ 40%] Meshing curve 548 (Line)
Info    : [ 40%] Meshing curve 775 (Line)
Info    : [ 40%] Meshing curve 670 (Line)
Info    : [ 40%] Meshing curve 776 (Circle)
Info    : [ 40%] Meshing curve 549 (Circle)
Info    : [ 40%] Meshing curve 509 (Circle)
Info    : [ 40%] Meshing curve 550 (Line)
Info    : [ 40%] Meshing curve 510 (Line)
Info    : [ 40%] Meshing curve 603 (Circle)
Info    : [ 40%] Meshing curve 914 (Line)
Info    : [ 40%] Meshing curve 777 (Line)
Info    : [ 40%] Meshing curve 915 (Circle)
Info    : [ 40%] Meshing curve 551 (Circle)
Info    : [ 40%] Meshing curve 511 (Circle)
Info    : [ 40%] Meshing curve 778 (Line)
Info    : [ 40%] Meshing curve 552 (Line)
Info    : [ 40%] Meshing curve 512 (Line)
Info    : [ 40%] Meshing curve 842 (Line)
Info    : [ 40%] Meshing curve 916 (Line)
Info    : [ 40%] Meshing curve 604 (Line)
Info    : [ 40%] Meshing curve 553 (Circle)
Info    : [ 40%] Meshing curve 917 (Line)
Info    : [ 40%] Meshing curve 513 (Circle)
Info    : [ 40%] Meshing curve 671 (Line)
Info    : [ 40%] Meshing curve 779 (Line)
Info    : [ 40%] Meshing curve 843 (Circle)
Info    : [ 50%] Meshing curve 514 (Line)
Info    : [ 40%] Meshing curve 918 (Line)
Info    : [ 40%] Meshing curve 554 (Line)
Info    : [ 50%] Meshing curve 780 (Circle)
Info    : [ 50%] Meshing curve 605 (Circle)
Info    : [ 50%] Meshing curve 844 (Line)
Info    : [ 50%] Meshing curve 781 (Line)
Info    : [ 40%] Meshing curve 743 (Line)
Info    : [ 50%] Meshing curve 672 (Circle)
Info    : [ 50%] Meshing curve 515 (Circle)
Info    : [ 50%] Meshing curve 845 (Line)
Info    : [ 50%] Meshing curve 919 (Circle)
Info    : [ 50%] Meshing curve 606 (Line)
Info    : [ 50%] Meshing curve 782 (Line)
Info    : [ 50%] Meshing curve 744 (Circle)
Info    : [ 50%] Meshing curve 607 (Line)
Info    : [ 50%] Meshing curve 516 (Line)
Info    : [ 50%] Meshing curve 517 (Circle)
Info    : [ 50%] Meshing curve 608 (Line)
Info    : [ 50%] Meshing curve 555 (Circle)
Info    : [ 50%] Meshing curve 846 (Line)
Info    : [ 50%] Meshing curve 518 (Line)
Info    : [ 50%] Meshing curve 609 (Circle)
Info    : [ 50%] Meshing curve 847 (Circle)
Info    : [ 50%] Meshing curve 783 (Line)
Info    : [ 50%] Meshing curve 784 (Line)
Info    : [ 50%] Meshing curve 610 (Line)
Info    : [ 50%] Meshing curve 519 (Circle)
Info    : [ 50%] Meshing curve 673 (Line)
Info    : [ 50%] Meshing curve 920 (Line)
Info    : [ 50%] Meshing curve 785 (Line)
Info    : [ 50%] Meshing curve 745 (Line)
Info    : [ 50%] Meshing curve 848 (Line)
Info    : [ 50%] Meshing curve 611 (Circle)
Info    : [ 50%] Meshing curve 520 (Line)
Info    : [ 50%] Meshing curve 674 (Line)
Info    : [ 50%] Meshing curve 786 (Line)
Info    : [ 50%] Meshing curve 849 (Line)
Info    : [ 50%] Meshing curve 556 (Line)
Info    : [ 50%] Meshing curve 921 (Line)
Info    : [ 50%] Meshing curve 746 (Line)
Info    : [ 50%] Meshing curve 612 (Line)
Info    : [ 50%] Meshing curve 521 (Circle)
Info    : [ 50%] Meshing curve 613 (Circle)
Info    : [ 50%] Meshing curve 787 (Line)
Info    : [ 50%] Meshing curve 522 (Line)
Info    : [ 50%] Meshing curve 850 (Line)
Info    : [ 50%] Meshing curve 614 (Line)
Info    : [ 50%] Meshing curve 851 (Circle)
Info    : [ 50%] Meshing curve 557 (Circle)
Info    : [ 50%] Meshing curve 675 (Line)
Info    : [ 60%] Meshing curve 523 (Circle)
Info    : [ 60%] Meshing curve 788 (Line)
Info    : [ 60%] Meshing curve 615 (Circle)
Info    : [ 60%] Meshing curve 747 (Line)
Info    : [ 60%] Meshing curve 524 (Line)
Info    : [ 60%] Meshing curve 676 (Circle)
Info    : [ 60%] Meshing curve 558 (Line)
Info    : [ 60%] Meshing curve 616 (Line)
Info    : [ 60%] Meshing curve 922 (Line)
Info    : [ 60%] Meshing curve 525 (Line)
Info    : [ 60%] Meshing curve 748 (Circle)
Info    : [ 60%] Meshing curve 559 (Circle)
Info    : [ 60%] Meshing curve 852 (Line)
Info    : [ 60%] Meshing curve 526 (Line)
Info    : [ 60%] Meshing curve 617 (Circle)
Info    : [ 60%] Meshing curve 789 (Line)
Info    : [ 60%] Meshing curve 923 (Circle)
Info    : [ 60%] Meshing curve 560 (Line)
Info    : [ 60%] Meshing curve 527 (Line)
Info    : [ 60%] Meshing curve 618 (Line)
Info    : [ 60%] Meshing curve 677 (Line)
Info    : [ 60%] Meshing curve 853 (Line)
Info    : [ 60%] Meshing curve 790 (Line)
Info    : [ 60%] Meshing curve 528 (Line)
Info    : [ 60%] Meshing curve 561 (Line)
Info    : [ 60%] Meshing curve 749 (Line)
Info    : [ 60%] Meshing curve 619 (Circle)
Info    : [ 60%] Meshing curve 583 (Circle)
Info    : [ 60%] Meshing curve 678 (Line)
Info    : [ 60%] Meshing curve 562 (Line)
Info    : [ 60%] Meshing curve 563 (Line)
Info    : [ 60%] Meshing curve 620 (Line)
Info    : [ 60%] Meshing curve 924 (Line)
Info    : [ 60%] Meshing curve 750 (Line)
Info    : [ 60%] Meshing curve 584 (Line)
Info    : [ 60%] Meshing curve 791 (Line)
Info    : [ 60%] Meshing curve 621 (Circle)
Info    : [ 60%] Meshing curve 585 (Circle)
Info    : [ 60%] Meshing curve 679 (Line)
Info    : [ 60%] Meshing curve 622 (Line)
Info    : [ 60%] Meshing curve 854 (Line)
Info    : [ 60%] Meshing curve 564 (Line)
Info    : [ 60%] Meshing curve 792 (Line)
Info    : [ 60%] Meshing curve 586 (Line)
Info    : [ 60%] Meshing curve 925 (Line)
Info    : [ 60%] Meshing curve 751 (Line)
Info    : [ 60%] Meshing curve 623 (Circle)
Info    : [ 60%] Meshing curve 680 (Circle)
Info    : [ 60%] Meshing curve 855 (Circle)
Info    : [ 70%] Meshing curve 587 (Circle)
Info    : [ 70%] Meshing curve 793 (Line)
Info    : [ 70%] Meshing curve 624 (Line)
Info    : [ 70%] Meshing curve 752 (Circle)
Info    : [ 70%] Meshing curve 565 (Line)
Info    : [ 70%] Meshing curve 588 (Line)
Info    : [ 70%] Meshing curve 926 (Line)
Info    : [ 70%] Meshing curve 625 (Circle)
Info    : [ 70%] Meshing curve 681 (Line)
Info    : [ 70%] Meshing curve 579 (Circle)
Info    : [ 70%] Meshing curve 856 (Line)
Info    : [ 70%] Meshing curve 566 (Line)
Info    : [ 70%] Meshing curve 626 (Line)
Info    : [ 70%] Meshing curve 927 (Line)
Info    : [ 70%] Meshing curve 794 (Line)
Info    : [ 70%] Meshing curve 580 (Line)
Info    : [ 70%] Meshing curve 753 (Line)
Info    : [ 70%] Meshing curve 682 (Line)
Info    : [ 70%] Meshing curve 857 (Line)
Info    : [ 70%] Meshing curve 627 (Circle)
Info    : [ 70%] Meshing curve 795 (Line)
Info    : [ 70%] Meshing curve 928 (Line)
Info    : [ 70%] Meshing curve 581 (Circle)
Info    : [ 70%] Meshing curve 754 (Line)
Info    : [ 70%] Meshing curve 628 (Line)
Info    : [ 70%] Meshing curve 567 (Line)
Info    : [ 70%] Meshing curve 582 (Line)
Info    : [ 70%] Meshing curve 929 (Line)
Info    : [ 70%] Meshing curve 629 (Circle)
Info    : [ 70%] Meshing curve 796 (Line)
Info    : [ 70%] Meshing curve 858 (Line)
Info    : [ 70%] Meshing curve 577 (Line)
Info    : [ 70%] Meshing curve 568 (Line)
Info    : [ 70%] Meshing curve 630 (Line)
Info    : [ 70%] Meshing curve 683 (Line)
Info    : [ 70%] Meshing curve 578 (Line)
Info    : [ 70%] Meshing curve 930 (Line)
Info    : [ 70%] Meshing curve 797 (Line)
Info    : [ 70%] Meshing curve 859 (Circle)
Info    : [ 70%] Meshing curve 755 (Line)
Info    : [ 70%] Meshing curve 631 (Circle)
Info    : [ 70%] Meshing curve 575 (Line)
Info    : [ 70%] Meshing curve 684 (Circle)
Info    : [ 80%] Meshing curve 576 (Line)
Info    : [ 80%] Meshing curve 931 (Line)
Info    : [ 80%] Meshing curve 860 (Line)
Info    : [ 80%] Meshing curve 756 (Circle)
Info    : [ 80%] Meshing curve 798 (Line)
Info    : [ 80%] Meshing curve 861 (Line)
Info    : [ 80%] Meshing curve 574 (Line)
Info    : [ 80%] Meshing curve 573 (Line)
Info    : [ 80%] Meshing curve 862 (Line)
Info    : [ 80%] Meshing curve 685 (Line)
Info    : [ 80%] Meshing curve 863 (Circle)
Info    : [ 80%] Meshing curve 757 (Line)
Info    : [ 80%] Meshing curve 569 (Line)
Info    : [ 80%] Meshing curve 572 (Line)
Info    : [ 80%] Meshing curve 632 (Line)
Info    : [ 80%] Meshing curve 686 (Line)
Info    : [ 80%] Meshing curve 932 (Line)
Info    : [ 80%] Meshing curve 758 (Line)
Info    : [ 80%] Meshing curve 633 (Circle)
Info    : [ 80%] Meshing curve 571 (Line)
Info    : [ 80%] Meshing curve 570 (Line)
Info    : [ 80%] Meshing curve 634 (Line)
Info    : [ 80%] Meshing curve 759 (Line)
Info    : [ 80%] Meshing curve 646 (Line)
Info    : [ 80%] Meshing curve 760 (Circle)
Info    : [ 80%] Meshing curve 933 (Line)
Info    : [ 80%] Meshing curve 799 (Line)
Info    : [ 80%] Meshing curve 644 (Line)
Info    : [ 80%] Meshing curve 647 (Line)
Info    : [ 80%] Meshing curve 864 (Line)
Info    : [ 80%] Meshing curve 648 (Line)
Info    : [ 80%] Meshing curve 635 (Circle)
Info    : [ 80%] Meshing curve 687 (Line)
Info    : [ 80%] Meshing curve 761 (Line)
Info    : [ 80%] Meshing curve 762 (Line)
Info    : [ 80%] Meshing curve 865 (Line)
Info    : [ 80%] Meshing curve 688 (Circle)
Info    : [ 80%] Meshing curve 800 (Line)
Info    : [ 80%] Meshing curve 642 (Line)
Info    : [ 80%] Meshing curve 934 (Line)
Info    : [ 80%] Meshing curve 866 (Line)
Info    : [ 80%] Meshing curve 689 (Line)
Info    : [ 80%] Meshing curve 636 (Line)
Info    : [ 80%] Meshing curve 690 (Line)
Info    : [ 80%] Meshing curve 867 (Line)
Info    : [ 80%] Meshing curve 637 (Line)
Info    : [ 80%] Meshing curve 643 (Line)
Info    : [ 80%] Meshing curve 645 (Line)
Info    : [ 80%] Meshing curve 691 (Line)
Info    : [ 80%] Meshing curve 638 (Line)
Info    : [ 80%] Meshing curve 868 (Line)
Info    : [ 80%] Meshing curve 692 (Circle)
Info    : [ 90%] Meshing curve 641 (Line)
Info    : [ 90%] Meshing curve 869 (Line)
Info    : [ 90%] Meshing curve 693 (Line)
Info    : [ 90%] Meshing curve 694 (Line)
Info    : [ 90%] Meshing curve 640 (Line)
Info    : [ 90%] Meshing curve 639 (Line)
Info    : [ 90%] Meshing curve 935 (Line)
Info    : [ 90%] Meshing curve 870 (Line)
Info    : [ 80%] Meshing curve 763 (Line)
Info    : [ 90%] Meshing curve 695 (Line)
Info    : [ 90%] Meshing curve 801 (Line)
Info    : [ 90%] Meshing curve 696 (Circle)
Info    : [ 90%] Meshing curve 764 (Circle)
Info    : [ 90%] Meshing curve 936 (Line)
Info    : [ 90%] Meshing curve 706 (Line)
Info    : [ 90%] Meshing curve 708 (Circle)
Info    : [ 90%] Meshing curve 707 (Line)
Info    : [ 90%] Meshing curve 704 (Circle)
Info    : [ 90%] Meshing curve 937 (Line)
Info    : [ 90%] Meshing curve 802 (Line)
Info    : [ 90%] Meshing curve 938 (Line)
Info    : [ 90%] Meshing curve 765 (Line)
Info    : [ 90%] Meshing curve 697 (Line)
Info    : [ 90%] Meshing curve 766 (Line)
Info    : [ 90%] Meshing curve 703 (Line)
Info    : [ 90%] Meshing curve 939 (Line)
Info    : [ 90%] Meshing curve 705 (Line)
Info    : [ 90%] Meshing curve 698 (Line)
Info    : [ 90%] Meshing curve 702 (Line)
Info    : [ 90%] Meshing curve 701 (Line)
Info    : [ 90%] Meshing curve 700 (Circle)
Info    : [ 90%] Meshing curve 940 (Line)
Info    : [ 90%] Meshing curve 699 (Line)
Info    : [ 90%] Meshing curve 768 (Circle)
Info    : [ 90%] Meshing curve 941 (Line)
Info    : [ 90%] Meshing curve 803 (Line)
Info    : [ 90%] Meshing curve 942 (Line)
Info    : [ 90%] Meshing curve 804 (Line)
Info    : [ 90%] Meshing curve 767 (Line)
Info    : [ 90%] Meshing curve 823 (Circle)
Info    : [ 90%] Meshing curve 805 (Line)
Info    : [ 90%] Meshing curve 943 (Line)
Info    : [ 90%] Meshing curve 824 (Line)
Info    : [ 90%] Meshing curve 806 (Line)
Info    : [ 90%] Meshing curve 825 (Line)
Info    : [ 90%] Meshing curve 944 (Line)
Info    : [ 90%] Meshing curve 826 (Line)
Info    : [ 90%] Meshing curve 807 (Line)
Info    : [100%] Meshing curve 828 (Line)
Info    : [100%] Meshing curve 827 (Circle)
Info    : [100%] Meshing curve 820 (Line)
Info    : [100%] Meshing curve 822 (Line)
Info    : [100%] Meshing curve 945 (Line)
Info    : [100%] Meshing curve 821 (Line)
Info    : [100%] Meshing curve 817 (Line)
Info    : [100%] Meshing curve 819 (Circle)
Info    : [100%] Meshing curve 808 (Line)
Info    : [100%] Meshing curve 818 (Line)
Info    : [100%] Meshing curve 809 (Line)
Info    : [100%] Meshing curve 816 (Line)
Info    : [100%] Meshing curve 946 (Line)
Info    : [100%] Meshing curve 815 (Circle)
Info    : [100%] Meshing curve 814 (Line)
Info    : [100%] Meshing curve 813 (Line)
Info    : [100%] Meshing curve 812 (Line)
Info    : [100%] Meshing curve 811 (Circle)
Info    : [100%] Meshing curve 810 (Line)
Info    : [ 90%] Meshing curve 871 (Circle)
Info    : [100%] Meshing curve 884 (Line)
Info    : [100%] Meshing curve 881 (Line)
Info    : [100%] Meshing curve 885 (Line)
Info    : [100%] Meshing curve 883 (Circle)
Info    : [100%] Meshing curve 882 (Line)
Info    : [100%] Meshing curve 879 (Circle)
Info    : [100%] Meshing curve 878 (Line)
Info    : [100%] Meshing curve 877 (Line)
Info    : [100%] Meshing curve 876 (Line)
Info    : [100%] Meshing curve 875 (Circle)
Info    : [100%] Meshing curve 874 (Line)
Info    : [100%] Meshing curve 872 (Line)
Info    : [100%] Meshing curve 873 (Line)
Info    : [100%] Meshing curve 887 (Circle)
Info    : [100%] Meshing curve 886 (Line)
Info    : [100%] Meshing curve 880 (Line)
Info    : Done meshing 1D (Wall 0.020415s, CPU 0.130847s)
Info    : Meshing 2D...
Info    : [  0%] Meshing surface 264 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 242 (Cylinder, Frontal-Delaunay)
Info    : [  0%] Meshing surface 175 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 220 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 330 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 198 (Cylinder, Frontal-Delaunay)
Info    : [  0%] Meshing surface 308 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 286 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 309 (Cylinder, Frontal-Delaunay)
Info    : [  0%] Meshing surface 221 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 265 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 331 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 287 (Cylinder, Frontal-Delaunay)
Info    : [  0%] Meshing surface 266 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 222 (Plane, Frontal-Delaunay)
Info    : [  0%] Meshing surface 267 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 176 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 268 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 223 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 224 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 269 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 225 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 270 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 226 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 227 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 228 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 271 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 272 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 273 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 243 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 244 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 288 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 289 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 229 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 230 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 310 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 245 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 311 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 199 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 290 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 200 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 246 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 231 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 291 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 232 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 274 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 275 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 292 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 247 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 293 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 248 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 201 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 312 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 202 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 313 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 276 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 277 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 249 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 294 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 250 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 278 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 295 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 279 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 203 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 233 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 204 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 314 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 251 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 315 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 252 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 234 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 280 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 281 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 296 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 297 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 282 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 283 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 298 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 205 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 299 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 253 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 206 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 254 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 235 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 236 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 316 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 207 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 208 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 255 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 256 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 257 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 317 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 258 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 259 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 260 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 261 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 262 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 300 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 263 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 301 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 285 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 209 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 302 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 303 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 210 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 237 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 284 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 307 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 211 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 212 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 318 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 319 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 306 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 305 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 304 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 328 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 213 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 329 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 326 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 238 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 327 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 214 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 325 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 239 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 240 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 320 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 324 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 321 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 323 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 241 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 322 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 215 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 347 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 216 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 351 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 348 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 344 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 345 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 341 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 346 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 339 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 217 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 338 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 218 (Cylinder, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 337 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 336 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 219 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 343 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 335 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 334 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 350 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 333 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 349 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 332 (Plane, Frontal-Delaunay)
Info    : [ 10%] Meshing surface 340 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 177 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 342 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 193 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 194 (Cylinder, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 195 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 196 (Cylinder, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 197 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 190 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 191 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 192 (Cylinder, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 187 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 188 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 189 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 185 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 186 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 184 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 183 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 182 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 181 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 180 (Plane, Frontal-Delaunay)
Info    : [ 90%] Meshing surface 179 (Plane, Frontal-Delaunay)
Info    : [100%] Meshing surface 178 (Plane, Frontal-Delaunay)
Info    : Done meshing 2D (Wall 0.724142s, CPU 3.55285s)
Info    : Meshing 3D...
Info    : 3D Meshing 8 volumes with 1 connected component
Info    : Input mesh hash 4205136dba206126
Info    : Creating an empty mesh with 24262 vertices
Info    : Initialization of tet. mesh
Info    : Delaunay of      24258 points on   8 threads - mesh.nvert: 4
Info    : Recovering 6490 missing facet(s)
Info    : Recover Delaunay
Info    : All volumes of the BRep were found and colorized accordingly
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of      53535 points on   8 threads - mesh.nvert: 24262
Info    :           -      49032 points filtered
Info    :           =       4503 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of      56243 points on   8 threads - mesh.nvert: 28765
Info    :           -      45518 points filtered
Info    :           =      10725 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of      40297 points on   8 threads - mesh.nvert: 39490
Info    :           -      29772 points filtered
Info    :           =      10525 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of       9572 points on   4 threads - mesh.nvert: 50015
Info    :           -       5779 points filtered
Info    :           =       3793 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of       1150 points on   1 threads - mesh.nvert: 53808
Info    :           -        532 points filtered
Info    :           =        618 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of        101 points on   1 threads - mesh.nvert: 54426
Info    :           -         33 points filtered
Info    :           =         68 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of          9 points on   1 threads - mesh.nvert: 54494
Info    :           -          4 points filtered
Info    :           =          5 points added
Info    : Computing interpolated mesh sizes...
Info    : Done computing interpolated mesh sizes
Info    : Delaunay of          1 points on   1 threads - mesh.nvert: 54499
Info    :           -          1 points filtered
Info    :           =          0 points added
Info    : Improving      43067 tet. on   8 thrd (S & ER)
Info    : Improving      31661 tet. on   8 thrd (S & ER)
Info    : Improving      30924 tet. on   8 thrd (S & ER)
Info    : Improving      30680 tet. on   8 thrd (S & ER)
Info    : Improving      30521 tet. on   8 thrd (S & ER)
Info    : Improving      30475 tet. on   8 thrd (GSC)
Info    : Improving      30236 tet. on   8 thrd (S & ER)
Info    : Improving      30159 tet. on   8 thrd (S & ER)
Info    : Improving      30133 tet. on   8 thrd (S & ER)
Info    : Improving      30131 tet. on   8 thrd (S & ER)
Info    : Improving      30130 tet. on   8 thrd (GSC)
Info    : Improving      30118 tet. on   8 thrd (S & ER)
Info    : Improving      30117 tet. on   8 thrd (S & ER)
Info    : Improving      30118 tet. on   8 thrd (S & ER)
Info    : Improving      30117 tet. on   8 thrd (GSC)
Info    : Improving      30108 tet. on   8 thrd (S & ER)
Info    : Improving      30111 tet. on   8 thrd (S & ER)
Info    : Improving      30113 tet. on   8 thrd (S & ER)
Info    : Improving      30111 tet. on   8 thrd (GSC)
Info    : Improving      30108 tet. on   8 thrd (S & ER)
Info    : Improving      30111 tet. on   8 thrd (S & ER)
Info    : Improving      30111 tet. on   8 thrd (GSC)
Info    : Improving      30111 tet. on   8 thrd (S & ER)
Info    : Improving      30113 tet. on   8 thrd (S & ER)
Info    : Improving      30111 tet. on   8 thrd (GSC)
Info    : Improving      30111 tet. on   8 thrd (S & ER)
Info    : Improving      30113 tet. on   8 thrd (S & ER)
Info    : Improving      30113 tet. on   8 thrd (GSC)
Info    : Improving      30112 tet. on   8 thrd (S & ER)
Info    : Improving      30114 tet. on   8 thrd (S & ER)
Info    : Improving      30114 tet. on   8 thrd (GSC)
Info    : Improving      30114 tet. on   8 thrd (S & ER)
Info    :       Final tet. mesh contains 325592 tetrahedra
Info    :       Final tet. mesh contains 54499 vertices
Info    : tEmptyMesh     =          0.070
Info    : tVerifyBnd     =          0.005
Info    : tBndRecovery   =          0.170
Info    : tConvertMesh   =          0.009
Info    : tRefine        =          0.179
Info    : tOptimize      =         11.490
Info    : Done meshing 3D (Wall 12.8704s, CPU 64.6329s)
Info    : 54527 nodes 366631 elements
-------------------------------------------------------
Version       : 4.15.0
License       : GNU General Public License
Build OS      : MacOSARM-sdk
Build date    : 20251026
Build host    : gmsh.info
Build options : 64Bit ALGLIB[contrib] ANN[contrib] Bamg Blas[petsc] Blossom Cgns DIntegration Dlopen DomHex Eigen[contrib] Fltk GMP Gmm[contrib] Hxt Jpeg Kbipack Lapack[petsc] MathEx[contrib] Med Mesh Metis[contrib] Mpeg Netgen Nii2mesh ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom PETSc Parser Plugins Png Post QuadMeshingTools QuadTri Solver TetGen/BR TinyXML2[contrib] TouchBar Untangle Voro++[contrib] WinslowUntangler Zlib tinyobjloader
FLTK version  : 1.4.0
PETSc version : 3.17.4 (real arithmtic)
OCC version   : 7.8.1
MED version   : 4.1.0
Packaged by   : geuzaine
Web site      : https://gmsh.info
Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues
-------------------------------------------------------

With only the 2D surface mesh image-3907f428

Customising the mesh using initial mesh size parameters

Setting a global max_size forces Gmsh to use at most that edge length everywhere. Smaller values produce more accurate results but cost more memory and time:

max_size

Typical use

Memory (this design)

70 µm

Quick geometry check

< 100 MB

20 µm

Moderate accuracy

~500 MB–1 GB

5 µm

High accuracy / tapeout

> 4 GB

⚠️ Setting max_size below 10 µm on a full chip can exhaust RAM on most laptops. Use the Intelli-mesh feature in the next section to get fine resolution only near metal edges without meshing the entire chip finely.

[ ]:
# Setting initial mesh size constraints (might take a while to run!!)
# DISCLAIMER: this might also crash if your system has less than 8GB of memory
gmsh_renderer.options.mesh.max_size = "20um"
gmsh_renderer.options.mesh.min_size = "5um"
gmsh_renderer.render_design(mesh_geoms=False)
gmsh_renderer.add_mesh(intelli_mesh=False)
gmsh_renderer.launch_gui()

Using the Intelli-mesh feature

As we observe from the previous cell, just setting the intial mesh size constraints to a small value is very computationally intensive and requires a lot of memory. Hence, in a practical scenario we try to increase the mesh density in the regions which are of critical importance and decrease the mesh density where it does not matter much.

In QGmshRenderer, we have a semi-automatic way of meshing the design taking the assumption that the electric and magnetic fields would always be concentrated at the edges of metals and at the metal-dielectric interfaces. This whole thing is wrapped up neatly in a feature that we call Intelli-mesh!

[ ]:
# Intelli-mesh is ON by default and will work
# automatically when calling the render_design() method
gmsh_renderer.options.mesh.max_size = "70um"
gmsh_renderer.options.mesh.min_size = "5um"
gmsh_renderer.render_design()
gmsh_renderer.launch_gui()

Advanced: defining your own custom meshing function

This is only for advanced users who are aware of how Gmsh works and how to specify the mesh size fields for Gmsh.

[ ]:
# Define a function to specify custom mesh density field across your design
def my_custom_meshing_function():

    # Selectively increase mesh density for the following QGeometries
    q1_top_pad = gmsh_renderer.polys_dict[1]["Q1_pad_top"][0]
    q1_readout_wire = gmsh_renderer.paths_dict[1]["Q1_readout_wire"][0]

    # Extract surfaces from Gmsh volume tags
    volumes_list = [q1_top_pad, q1_readout_wire]
    surfaces = []
    for vol in volumes_list:
        surfaces += [
            tag for tag in gmsh_renderer.modeler.occ.getSurfaceLoops(vol)[1][0]
        ]

    # Extract min and max mehs size constraints from the renderer
    min_size = gmsh_renderer.parse_units_gmsh(gmsh_renderer.options.mesh.min_size)
    max_size = gmsh_renderer.parse_units_gmsh(gmsh_renderer.options.mesh.max_size)

    # Define Gmsh fields
    # Field: Distance
    df = gmsh_renderer.modeler.mesh.field.add("Distance")
    gmsh_renderer.modeler.mesh.field.setNumbers(df, "SurfacesList", surfaces)
    gmsh_renderer.modeler.mesh.field.setNumber(df, "NumPointsPerCurve", 100)

    # Field: Threshold
    tf = gmsh_renderer.modeler.mesh.field.add("Threshold")
    gmsh_renderer.modeler.mesh.field.setNumber(tf, "DistMin", 0.01)
    gmsh_renderer.modeler.mesh.field.setNumber(tf, "DistMax", 0.07)
    gmsh_renderer.modeler.mesh.field.setNumber(tf, "Sigmoid", 1)
    gmsh_renderer.modeler.mesh.field.setNumber(tf, "InField", df)
    gmsh_renderer.modeler.mesh.field.setNumber(tf, "SizeMin", min_size)
    gmsh_renderer.modeler.mesh.field.setNumber(tf, "SizeMax", max_size)

    # Set as background mesh to generate the mesh
    gmsh_renderer.modeler.mesh.field.setAsBackgroundMesh(tf)
[ ]:
# define initial mesh sizes
gmsh_renderer.options.mesh.max_size = "70um"
gmsh_renderer.options.mesh.min_size = "5um"

# render design wireframe
gmsh_renderer.render_design(selection=["Q1"], mesh_geoms=False)

# Pass your custom mehsing function to add_mesh()
gmsh_renderer.add_mesh(intelli_mesh=True, custom_mesh_fn=my_custom_meshing_function)
gmsh_renderer.launch_gui()
[ ]:
%metal_heading 4. Exporting your mesh to a file

Use QGmshRenderer to export the generated mesh to a file

[ ]:
# Export the mesh to a file.
# Supported extensions: .msh, .msh2, .mesh
gmsh_renderer.export_mesh("test.msh")

import pathlib

msh = pathlib.Path("test.msh")
print(
    f"Exported: {msh.name}  ({msh.stat().st_size / 1024:.1f} kB)"
    if msh.exists()
    else "Export failed — check Gmsh log above"
)
[ ]:
# Close and destroy the renderer object
gmsh_renderer.close()
[ ]:
# Uncomment to close the Metal GUI window:
# gui.main_window.close()


For more information, review the Introduction to Quantum Computing and Quantum Hardware lectures below

  • Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions Part 1
Lecture Video Lecture Notes Lab
  • Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions Part 2
Lecture Video Lecture Notes Lab
  • Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions Part 3
Lecture Video Lecture Notes Lab
  • Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods Part 1
Lecture Video Lecture Notes Lab
  • Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods Part 2
Lecture Video Lecture Notes Lab
  • Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods Part 3
Lecture Video Lecture Notes Lab