GESTIKULATOR Generator of a tetrahedral mesh on a sphere

Similar documents
Computational Geometry Lab: FEM BASIS FUNCTIONS FOR A TETRAHEDRON

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

CSU Fresno Problem Solving Session. Geometry, 17 March 2012

Lecture 7 - Meshing. Applied Computational Fluid Dynamics

A New Approach to Cutting Tetrahedral Meshes

4. How many integers between 2004 and 4002 are perfect squares?

DEFINITIONS. Perpendicular Two lines are called perpendicular if they form a right angle.

Largest Fixed-Aspect, Axis-Aligned Rectangle

Tetrahedral Mesh Generation

SOLIDS, NETS, AND CROSS SECTIONS

Reflection and Refraction

MENSURATION. Definition

2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION

IMO Geomety Problems. (IMO 1999/1) Determine all finite sets S of at least three points in the plane which satisfy the following condition:

CIRCLE COORDINATE GEOMETRY

Volumetric Meshes for Real Time Medical Simulations

Advanced GMAT Math Questions

Angles that are between parallel lines, but on opposite sides of a transversal.

Exam 1 Practice Problems Solutions

Computational Geometry. Lecture 1: Introduction and Convex Hulls

5.1 Midsegment Theorem and Coordinate Proof

Copyright 2011 Casa Software Ltd. Centre of Mass

Shape Dictionary YR to Y6

Solutions to Homework 10

1. Find the length of BC in the following triangles. It will help to first find the length of the segment marked X.

1 Solution of Homework

Triangulation by Ear Clipping

Physics 210 Q ( PHYSICS210BRIDGE ) My Courses Course Settings

Visualization of 2D Domains

Chapter 3 RANDOM VARIATE GENERATION

Topological Treatment of Platonic, Archimedean, and Related Polyhedra

Star and convex regular polyhedra by Origami.

Baltic Way Västerås (Sweden), November 12, Problems and solutions

INCIDENCE-BETWEENNESS GEOMETRY

H.Calculating Normal Vectors

CHAPTER 26 ELECTROSTATIC ENERGY AND CAPACITORS

Random Map Generator v1.0 User s Guide

Integration. Topic: Trapezoidal Rule. Major: General Engineering. Author: Autar Kaw, Charlie Barker.

Tetrahedron Meshes. Linh Ha

Geometry EOC Practice Test #2

Actually Doing It! 6. Prove that the regular unit cube (say 1cm=unit) of sufficiently high dimension can fit inside it the whole city of New York.

ME 111: Engineering Drawing

CHAPTER 8, GEOMETRY. 4. A circular cylinder has a circumference of 33 in. Use 22 as the approximate value of π and find the radius of this cylinder.

Section The given line has equations. x = 3 + t(13 3) = t, y = 2 + t(3 + 2) = 2 + 5t, z = 7 + t( 8 7) = 7 15t.


Solutions to Practice Problems

Tilings of the sphere with right triangles III: the asymptotically obtuse families

Introduction to the Finite Element Method

Intersection of a Line and a Convex. Hull of Points Cloud

Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials.

Pythagorean Theorem: Proof and Applications

Part 2: Community Detection

Online EFFECTIVE AS OF JANUARY 2013

MATHEMATICS FOR ENGINEERING INTEGRATION TUTORIAL 3 - NUMERICAL INTEGRATION METHODS

2004 Solutions Ga lois Contest (Grade 10)

The common ratio in (ii) is called the scaled-factor. An example of two similar triangles is shown in Figure Figure 47.1

Math 531, Exam 1 Information.

Why? A central concept in Computer Science. Algorithms are ubiquitous.

CIRCUMFERENCE AND AREA OF A CIRCLE

THREE DIMENSIONAL GEOMETRY

Lesson 18: Looking More Carefully at Parallel Lines

Exercise Q.1. A square and a rectangular field with measurements as given in the figure have the same perimeter. Which field has a larger area?

12. Parallels. Then there exists a line through P parallel to l.

1. Abstract 2. Introduction 3. Algorithms and Techniques

STL GENERATION INTRODUCTION TO STL. Written by Greta D Angelo

Vector storage and access; algorithms in GIS. This is lecture 6

3D shapes. Level A. 1. Which of the following is a 3-D shape? A) Cylinder B) Octagon C) Kite. 2. What is another name for 3-D shapes?

Module 2. DC Circuit. Version 2 EE IIT, Kharagpur

alternate interior angles

Introduction to ANSYS

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

Practical Attacks on Digital Signatures Using MD5 Message Digest

NURBS Drawing Week 5, Lecture 10

2008 AP Calculus AB Multiple Choice Exam

Topology. Shapefile versus Coverage Views

Mining Social Network Graphs

Section 9-1. Basic Terms: Tangents, Arcs and Chords Homework Pages : 1-18

ON TORI TRIANGULATIONS ASSOCIATED WITH TWO-DIMENSIONAL CONTINUED FRACTIONS OF CUBIC IRRATIONALITIES.

Arc Length and Areas of Sectors

Name Date Class. Lines and Segments That Intersect Circles. AB and CD are chords. Tangent Circles. Theorem Hypothesis Conclusion

A HYBRID APPROACH FOR AUTOMATED AREA AGGREGATION

San Jose Math Circle April 25 - May 2, 2009 ANGLE BISECTORS

THE CFD SIMULATION OF THE FLOW AROUND THE AIRCRAFT USING OPENFOAM AND ANSA

The University of the State of New York REGENTS HIGH SCHOOL EXAMINATION GEOMETRY. Thursday, August 16, :30 to 11:30 a.m.

CHAPTER 29 VOLUMES AND SURFACE AREAS OF COMMON SOLIDS

Lecture 24: Saccheri Quadrilaterals

1 Symmetries of regular polyhedra

An Overview of the Finite Element Analysis

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes

NURBS Drawing Week 5, Lecture 10

Shortest Inspection-Path. Queries in Simple Polygons

Begin creating the geometry by defining two Circles for the spherical endcap, and Subtract Areas to create the vessel wall.

Efficient Storage, Compression and Transmission

L 2 : x = s + 1, y = s, z = 4s Suppose that C has coordinates (x, y, z). Then from the vector equality AC = BD, one has

The University of the State of New York REGENTS HIGH SCHOOL EXAMINATION GEOMETRY. Student Name:

QUANTITATIVE METHODS IN BUSINESS PROBLEM #2: INTRODUCTION TO SIMULATION

Transcription:

GESTIKULATOR Generator of a tetrahedral mesh on a sphere Jakub Velímský Department of Geophysics Faculty of Mathematics and Physics Charles University in Prague V Holešovičkách 2 180 00 Prague Czech Republic jakub.velimsky@mff.cuni.cz April 1, 2010

Introduction This package generates high-quality tetrahedral finite-element meshes on a unit sphere or spherical shell. It is based on recursive refinement of an initial regular icosahedron (Figure 1). Figure 1: Regular icosahedron. (http://en.wikipedia.org/wiki/ File:Icosahedron-golden-rectangles.svg, public domain). The package consists of three programs: gestikulator, locref, and addbottom. Parameters for each program are set in an eponymous ini file which must reside in the current directory. Description 1. gestikulator This program generates tetrahedral mesh on a unit sphere. The regular icosahedron is first split into 20 tetrahedra with 12 surface nodes and one node in the centre of the sphere. This mesh is the result of setting the level of refinement l=0. For l>0 each tetrahedron of the mesh is split into eight 2

sub-tetrahedra (Figure 2). New nodes E, F, G, H, I, J are introduced in the centres of edges AB, AC, AD, BC, BD, CD, respectively. Each facet is triangulated into four triangles, corner tetrahedra AEF G, BEHI, CF HJ, DGIJ are created. Finally, the internal octahedron EF GHIJ is split into four sub-tetrahedra by introducing one internal edge either EJ, F I, or GH. This procedure is repeated recursively for each tetrahedron in l levels. Hence, the l-level mesh consists of 20 8 l tetrahedra. D G J I A F E C H B Figure 2: Splitting of tetrahedron ABCD into eight sub-tetrahedra. As the supposed use of this mesh generator lies in the field of geophysics, where many parameters are dominantly radially dependent, it is useful to create a mesh which can approximate concentric spherical boundaries. This behaviour is governed by a logical projection parameter p. If set to.true., each node, newly created in the course of recursive refinement, is immediately projected along its radius vector to a distance from the centre, which is an arithmetic average of the radial distances of its parents. Hence, the nodes are present only at discrete spherical surfaces: (0.0, 1.0) for l=0; (0.0, 0.5, 1.0) for l=1; (0.0, 0.25, 0.5, 0.75, 1.0) for l=2; and so on. In addition, the choice of the interior edge be- 3

tween EJ, F I, and GH in Figure 2 is always made in such a way, that the edge does not connect nodes of different radii. Therefore, each spherical surface consists of tetrahedral facets and is completely triangulated there are no tetrahedra that would contain volume below and above the surface simultaneously. If p is set to.false., this projection is not applied, except on the outermost surface we still need to approximate the entire volume of the sphere. This leads to better mesh quality, projections along radial vectors always produce slightly deformed tetrahedra. The syntax of gestikulator.ini file is self-explanatory. Description lines with arbitrary content are interleaved with the actual parameter values. Besides the refinement level l and projection parameter p, relative paths to output files have to be set. These must be enclosed in quotes, to avoid problems with spaces and other special characters. Four files describe the generated mesh in Elmer format, mesh.header, mesh.nodes, mesh.elements, and mesh.boundary. The mesh.amf uses AmiraMesh format (http://www.amira.com/amira/mesh.html). Finally, Q.dat contains the histogram of quality factor Q, defined as Q = 12(3V ) 2 3, L 2 ij i j where V is the volume of tetrahedron, and L ij are the lengths of its edges. Note that 0 < Q 1 and Q = 1 for a regular tetrahedron. 2. locref The second program applies local refinement to the more-less regular mesh generated by gestikulator. Presently, it allows to select a radius interval, where the mesh is refined. It can be used repeatedly, thickening the mesh in different domains, or even using multiple levels of refinement in the same area. For each tetrahedron, we determine how many of its vertices are inside the area of local refinement. If none, the tetrahedron is not refined. If all four vertices are in the refinement area, the tetrahedron is split into eight sub-tetrahedra using the algorithm described above. Near the boundary of the refinement zone, the tetrahedron is split into four or two sub-tetrahedra, if three or two vertices lie inside, respectively, as shown in Figure 3. In the locref.ini file, one has to specify the limits of the radial interval for local refinement, the projection parameter p, three input files with the original mesh in Elmer format (generated by previous calls from 4

D D A F E C G B A E C B Figure 3: Splitting of tetrahedron ABCD into four, and two sub-tetrahedra, respectively. gestikulator or locref), and four output files for the refined mesh, also in Elmer format. AmiraMesh file, and Q-histogram are also generated. 3. addbottom The last program from this package takes a spherical mesh generated by gestikulator or locref, and removes an internal spherical part of the mesh, leaving only a spherical shell. The radius of the inner boundary of the shell has to be specified, the outer radius remains 1.0. Two notes: First, the input mesh has to be prepared with projection parameter p. Second, the radius of the inner boundary should be close to an already existing spherical surface of the mesh. The addbottom program will slightly stretch it to the exact position of required inner boundary, but of course this can degrade the quality of the mesh. Use locref prior addbottom and check the resulting histogram of Q. Compilation 1. Edit makefile, set up the Fortran 90 compiler. 2. Run make 3. Run make doc to create a pdf document (requires pdflatex) 4. Run make examples generate some meshes (requires gnuplot) 5

License This package was developed by Jakub Velímský. It is distributed under the GNU General Public License v3 or later, http://www.gnu.org/licenses/ gpl.html. Modules nrtype.f90 and nrutil.f90 are attributed to W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, and to my best knowledge are in public domain (http://www.nr.com/public-domain.html). 6