[Gmsh] Intersected Boundary Layer and Distorted Mesh

Yun Zhi Law yunzhi1234 at gmail.com
Wed Jul 29 06:51:12 CEST 2015


Dear all,

I have created a C-shape geometry, which looks as below

 ---------------------
|                        |
|        --------------
|      |       A
|      | B
|      |       C
|       --------------
|                        |
---------------------

A, B, C is the label I used to indicates corresponding surfaces.

I tried to create a boundary layer around it. However, there are two
problems that I am facing:

1. If I create the boundary layer for whole "C" shape, the boundary layers
at A, B, C will intersect each other at the corner, which throws a lot of
error.

2. If I create the boundary layer until half of A and C, the mesh at the
end of boundary layer will be distorted.

Hence, the question I would like to ask is:
1. Is there any way we can create the boundary around the whole "C" shape
without having the intersection issue and errors?

2. Is it possible to refine the mesh at the end of the boundary, such that
it is not distorted?

Below are my .geo file

Point(1) = {20,-20,0,0.5};
>
> Point(2) = {-20,-20,0,0.5};
>
> Point(3) = {-20,20,0,0.5};
>
> Point(4) = {20,20,0,0.5};
>
>
>> Point(5) = {5,-5,0,0.5};
>
> Point(6) = {-5,-5,0,0.5};
>
> Point(7) = {-5,5,0,0.5};
>
> Point(8) = {5,5,0,0.5};
>
>
>> Point(9) = {5,6,0,0.5};
>
> Point(10) = {-6,6,0,0.5};
>
> Point(11) = {-6,-6,0,0.5};
>
> Point(12) = {5,-6,0,0.5};
>
>
>> Point(13) = {0,5,0,0.5};
>
> Point(14) = {0,-5,0,0.5};
>
>
>> Line(1) = {1, 2};
>
> Line(2) = {2, 3};
>
> Line(3) = {3, 4};
>
> Line(4) = {4, 1};
>
> Line(5) = {5, 14};
>
> Line(6) = {14, 6};
>
> Line(7) = {6, 7};
>
> Line(8) = {7, 13};
>
> Line(9) = {13, 8};
>
> Line(10) = {8, 9};
>
> Line(11) = {9, 10};
>
> Line(12) = {10, 11};
>
> Line(13) = {11, 12};
>
> Line(14) = {12, 5};
>
>
>> Line Loop(15) = {3, 4, 1, 2};
>
> Line Loop(16) = {11, 12, 13, 14, 5, 6, 7, 8, 9, 10};
>
> Plane Surface(17) = {15, 16};
>
>
>> //Recombine Surface{17};
>
>
>> Field[1] = BoundaryLayer;
>
> Field[1].EdgesList = {9, 10, 11, 12, 13, 14, 5}; /* boundary layer stopped
>> at both tails of "C" */
>
> // Field[1].EdgesList = {9, 10, 11, 12, 13, 14, 5, 6, 7, 8 }; /* boundary
>> layer covers whole "C" */
>
>
>> Field[1].FanNodesList = {5, 8, 9, 10, 11, 12};
>
> Field[1].hwall_n = 0.1;
>
> Field[1].ratio = 1.1;
>
> Field[1].thickness = 0.6;
>
> Field[1].Quads = 1;
>
> BoundaryLayer Field = 1;
>
>
Thank you very much for the helps.


Best Regards,
Yun Zhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20150729/b6ef33ba/attachment.html>