<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">It seems that I managed to solve the
problem now. The solution was to divide the large air container
around the AFM probe into a small cylinder just around the probe
and a large cylinder outside it. This way all the tiny geometrical
details are enclosed within the small cylinder. Apparently, a
surface with extremely small geometrical details compared to the
size of the surface is hard to handle. I can now use the default
value of Mesh.RandomFactor and everything works just fine. The
tolerance value of Tetgen must still be decreased from the default
one though.<br>
<br>
Based on my findings, I recommend that an option to change the
tolerance value of Tetgen would be added to Gmsh. Also, a guide to
solve this kind of a problem using the divide and conquer strategy
described above and tuning the tolerance value of Tetgen could be
added to the documentation.<br>
<br>
Juha<br>
<br>
On 2014-02-24 18:14, Juha Ritala wrote:<br>
</div>
<blockquote
cite="mid:25888_1393262282_530B7ECA_25888_2396_1_530B6FFB.10803@aalto.fi"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div class="moz-cite-prefix">Here is some extra information and
clarification:<br>
<br>
- I am using the newest version of Gmsh (2.8.4) on Ubuntu 12.04.
I have also tested 2.8.3 but it does not work any better.<br>
<br>
- I can now confirm that changing the tolerance value of Tetgen
is crucial if I want to set the characteristic length at the tip
to 0.2 nm.<br>
<br>
- The value of Mesh.RandomFactor definitely plays some role too.<br>
<br>
- The meshing process leads to an error depending on the
generated random number sequence. The seed of the random number
generator determines whether the meshing is successful or not.<br>
<br>
Juha<br>
<br>
On 2014-02-20 16:18, Juha Ritala wrote:<br>
</div>
<blockquote
cite="mid:13101_1392918278_53063F06_13101_3598_1_53060E9A.1000503@aalto.fi"
type="cite">Hi, <br>
<br>
I have used the geometry module of Gmsh to model one quarter of
a cylinder symmetric system representing the cantilever and tip
of an atomic force microscope (AFM) on top of a sample (see the
attached .geo file). My goal is to compute the electric field
between the AFM probe and the back plate when a bias voltage is
applied between those. The distance between the tip and the
sample (h) can be as small as 1 nm, whereas the radius and
height of the container (Lc) is 20 mm to justify setting the
electrostatic potential to zero at the boundary. <br>
<br>
If I set the distance between the AFM tip and the sample to 1
nm, the characteristic length of the mesh around the tip
(tip_ls) must obviously be smaller than that. Using a
characteristic length of exactly 1 nm usually results in a
successful mesh generation, but if I set the characteristic
length to be smaller than 1 nm, the 3D meshing process gives me
a self intersecting surface mesh error. I suspect this is caused
by the extremely small ratio of the characteristic length at the
tip to the size of the model. If I set the characteristic length
at the tip to 0.2 nm, this ratio is 10^-8. <br>
<br>
<br>
I have no prior knowledge of mesh generation algorithms, but it
seems to me that this is either a tolerance or a numerical
precision problem. I have made the following attempts to solve
the problem: <br>
<br>
The most notable attempt I made was to change the tolerance of
the Tetgen algorithm, which is the first part of the 3D meshing,
and where the self intersecting surface mesh error arises.
Changing the tolerance from the default value of 10^-8 to 10^-9
seems to have a clear positive impact on the success of meshing.
Without this change, the meshing fails always if the
characteristic length at the tip is set to 0.2 nm. With this
change, I have managed to generate a good 3D mesh, although the
meshing still randomly fails. I have not yet tried to set the
tolerance even smaller, as changing the tolerance of the Tetgen
requires recompilation of the source. <br>
<br>
I have tried to tune the options that are on the first lines of
my .geo file. The option Mesh.RandomFactor seems to have a clear
impact on the meshing process. It seems that a smaller value is
better, but the 2D meshing fails if the value is too small.
According to the documentation, too small value of
Mesh.RandomFactor leads to problems with numerical precision. <br>
<br>
<br>
The questions I have are: <br>
Has someone else had this kind of a problem? Am I on the right
with my solution attempts? Is there something else that can be
done? Where is the value of Mesh.RandomFactor actually used? <br>
<br>
<br>
Best regards, <br>
Juha <br>
<br>
<br>
<br>
</blockquote>
<br>
<pre wrap="">_______________________________________________
gmsh mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gmsh@geuz.org">gmsh@geuz.org</a>
<a class="moz-txt-link-freetext" href="http://www.geuz.org/mailman/listinfo/gmsh">http://www.geuz.org/mailman/listinfo/gmsh</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Juha Ritala
Department of Applied Physics
Aalto University, Finland
<a class="moz-txt-link-abbreviated" href="mailto:juha.ritala@aalto.fi">juha.ritala@aalto.fi</a></pre>
</body>
</html>