> On 17 May 2018, at 15:07, Anderson Gabriel Santiago 
> <agasantiago....@gmail.com> wrote:
> 
> Thank you for your response. But that is quite unexpected, since the normal 
> vectors define the volume.

No: each surface can be connected to two volumes - the "natural" orientation 
with respect to the first volume will be the opposite one for the other.

> So my question is, how can I make all the normal vectors point outward the 
> volume? I am working with boundary element method and the normal vector 
> orientation is really important to the method.

You can use the "Reverse Surface" to get the mesh oriented the way you want. 
For your example:

SetFactory("OpenCASCADE");
Point(1) = {0, 0, 0, 1.0};
Point(2) = {1, 0, 0, 1.0};
Point(3) = {1, 1, 0, 1.0};
Point(4) = {0, 1, 0, 1.0};
Point(5) = {0, 0, 1, 1.0};
Point(6) = {1, 0, 1, 1.0};
Point(7) = {1, 1, 1, 1.0};
Point(8) = {0, 1, 1, 1.0};
Line(1) = {1, 2};
Line(2) = {2, 6};
Line(3) = {6, 5};
Line(4) = {5, 1};
Line(5) = {5, 8};
Line(6) = {8, 4};
Line(7) = {4, 1};
Line(8) = {8, 7};
Line(9) = {7, 3};
Line(10) = {3, 4};
Line(11) = {6, 7};
Line(12) = {3, 2};
Line Loop(1) = {4, -7, -6, -5};
Plane Surface(1) = {1};
Line Loop(2) = {2, 11, 9, 12};
Plane Surface(2) = {2};
Line Loop(3) = {3, 5, 8, -11};
Plane Surface(3) = {3};
Line Loop(4) = {10, 7, 1, -12};
Plane Surface(4) = {4};
Line Loop(5) = {9, 10, -6, 8};
Plane Surface(5) = {5};
Line Loop(6) = {3, 4, 1, 2};
Plane Surface(6) = {6};
Surface Loop(1) = {4, 5, 2, 6, 3, 1};
Volume(1) = {1};
Reverse Surface{1:4};
Physical Surface(1) = {6};
Physical Surface(2) = {4, 2, 3, 1};
Physical Surface(3) = {5};
Physical Volume(4) = {1};

There is currently no interface to reorient surfaces automatically. We will 
probably add this in the future, as we already use such a feature internally 
for some 3D mesh algorithms.

Christophe


> 
> Thanks in advance,
> 
> On Thu, May 17, 2018 at 3:54 AM, Christophe Geuzaine <geuza...@gmail.com 
> <mailto:geuza...@gmail.com>> wrote:
> 
> 
> > On 16 May 2018, at 00:28, Anderson Gabriel Santiago 
> > <agasantiago....@gmail.com <mailto:agasantiago....@gmail.com>> wrote:
> > 
> > Dear all,
> > 
> > I am using GMSH to create a 3D surface mesh. For some unknown reason, some 
> > normal vectors points inwards, not outwards,
> 
> The mesh is oriented according to the orientation of the geometrical surface 
> - everything is correct in your file. You can check by visualizing both the 
> geometry and the mesh normals (in Tools->Options->Geometry or 
> Mesh->Visibility->Normals)
> 
> Christophe
> 
> 
> > as I would expect, since I defined a solid limited by plane surfaces.
> > 
> > Here is the GEO file I created using the GMSH GUI.
> > 
> > 
> > // Gmsh project created on Tue May 15 19:19:43 2018
> > SetFactory("OpenCASCADE");
> > //+
> > Point(1) = {0, 0, 0, 1.0};
> > //+
> > Point(2) = {1, 0, 0, 1.0};
> > //+
> > Point(3) = {1, 1, 0, 1.0};
> > //+
> > Point(4) = {0, 1, 0, 1.0};
> > //+
> > Point(5) = {0, 0, 1, 1.0};
> > //+
> > Point(6) = {1, 0, 1, 1.0};
> > //+
> > Point(7) = {1, 1, 1, 1.0};
> > //+
> > Point(8) = {0, 1, 1, 1.0};
> > //+
> > Line(1) = {1, 2};
> > //+
> > Line(2) = {2, 6};
> > //+
> > Line(3) = {6, 5};
> > //+
> > Line(4) = {5, 1};
> > //+
> > Line(5) = {5, 8};
> > //+
> > Line(6) = {8, 4};
> > //+
> > Line(7) = {4, 1};
> > //+
> > Line(8) = {8, 7};
> > //+
> > Line(9) = {7, 3};
> > //+
> > Line(10) = {3, 4};
> > //+
> > Line(11) = {6, 7};
> > //+
> > Line(12) = {3, 2};
> > //+
> > Line Loop(1) = {4, -7, -6, -5};
> > //+
> > Plane Surface(1) = {1};
> > //+
> > Line Loop(2) = {2, 11, 9, 12};
> > //+
> > Plane Surface(2) = {2};
> > //+
> > Line Loop(3) = {3, 5, 8, -11};
> > //+
> > Plane Surface(3) = {3};
> > //+
> > Line Loop(4) = {10, 7, 1, -12};
> > //+
> > Plane Surface(4) = {4};
> > //+
> > Line Loop(5) = {9, 10, -6, 8};
> > //+
> > Plane Surface(5) = {5};
> > //+
> > Line Loop(6) = {3, 4, 1, 2};
> > //+
> > Plane Surface(6) = {6};
> > //+
> > Surface Loop(1) = {4, 5, 2, 6, 3, 1};
> > //+
> > Volume(1) = {1};
> > //+
> > Physical Surface(1) = {6};
> > //+
> > Physical Surface(2) = {4, 2, 3, 1};
> > //+
> > Physical Surface(3) = {5};
> > //+
> > Physical Volume(4) = {1};
> > 
> > Any help is appreciated.
> > 
> > -- 
> > Anderson Gabriel Santiago
> > 
> > 
> > ~"If you are depressed,
> >    you are living in the past.
> >    If you are anxious,
> >    you are living in the future.
> >    If you are at peace,
> >    you are living in the present."~   - Lao Tzu
> > _______________________________________________
> > gmsh mailing list
> > gmsh@onelab.info <mailto:gmsh@onelab.info>
> > http://onelab.info/mailman/listinfo/gmsh 
> > <http://onelab.info/mailman/listinfo/gmsh>
> 
> 
> 
> 
> -- 
> Anderson Gabriel Santiago, Ph.D., E.E.
> Adjunct Professor, Biomedical Engineering - UFABC
> agasantiago....@gmail.com <mailto:santiago.eletr...@gmail.com>
> Cel.: +55 11 99801-0881 <tel:%2811%29%2099801-0881>
> 
> ~"If you are depressed,
>    you are living in the past.
>    If you are anxious,
>    you are living in the future.
>    If you are at peace,
>    you are living in the present."~   - Lao Tzu

_______________________________________________
gmsh mailing list
gmsh@onelab.info
http://onelab.info/mailman/listinfo/gmsh

Reply via email to