Mike,
here is the way you should follow with Gmsh:
w3.geo just includes w.geo
No need of an intermediate step with a .stl file. You should avoid to define
twice the same line between two patches.
Cheers,
Dave
--
David Colignon, Ph.D.
Collaborateur Logistique du F.R.S.-FNRS
CÉCI - Consortium des Équipements de Calcul Intensif
ACE - Applied & Computational Electromagnetics
Sart-Tilman B28
Université de Liège
4000 Liège - BELGIQUE
Tél: +32 (0)4 366 37 32
Fax: +32 (0)4 366 29 10
WWW: http://hpc.montefiore.ulg.ac.be/
Agenda: http://www.google.com/calendar/embed?src=david.colignon%40gmail.com
Mike B. wrote:
Hi Dave,
I generate the STL in Gmsh. Please find the script attached.
Cheers and thanks,
Mike.
--- On *Fri, 8/7/09, David Colignon /<[email protected]>/* wrote:
From: David Colignon <[email protected]>
Subject: Re: [Gmsh] Gmsh fails to create a volume mesh around an STL
surface mesh
To: "Mike B." <[email protected]>
Date: Friday, August 7, 2009, 7:19 PM
Mike B. wrote:
> Hi Dave,
>
> Thanks for checking this.
>
> 1. I'm getting : `Tetgen not compiled with this version'. How do
I enable it?.
Download and run the latest version from the website.
>
> 2. I generate the STL as a surface mesh of the wing since this
gives only a single patch and not tens of them (when the wing is
defined by individual ruled surfaces).
But with which software do you generate the .stl file ? If it is
with Gmsh, can you send the file you use ?
Dave
I need a single patch since otherwise the
> CFD solver fails.
>
> Cheers and thanks,
> Mike.
>
> Cheers and thanks,
> Mike.
>
> --- On *Fri, 8/7/09, David Colignon /<[email protected]
</mc/[email protected]>>/* wrote:
>
>
> From: David Colignon <[email protected]
</mc/[email protected]>>
> Subject: Re: [Gmsh] Gmsh fails to create a volume mesh around
an STL
> surface mesh
> To: "Mike B.." <[email protected]
</mc/[email protected]>>
> Date: Friday, August 7, 2009, 7:00 PM
>
> The following works for me: w2.geo
>
> Note that I force the use of the Tetgen 3D Meshing algo. I don't
> understand why Netgen complains and fails.
>
> ...
> ...
> Error : ERROR: Edge 161 - 166 multiple times in surface mesh
> Error : ERROR: Edge 165 - 166 multiple times in surface mesh
> Error : ERROR: Surface mesh not consistent
> Error : ERROR: Stop meshing since surface mesh not consistent
>
>
> Where do your .stl file comes from ?
>
> Cheers,
>
> Dave
>
>
> -- David Colignon, Ph.D..
> Collaborateur Logistique du F.R.S.-FNRS
> CÉCI - Consortium des Équipements de Calcul Intensif
> ACE - Applied & Computational Electromagnetics
> Sart-Tilman B28
> Université de Liège
> 4000 Liège - BELGIQUE
> Tél: +32 (0)4 366 37 32
> Fax: +32 (0)4 366 29 10
> WWW: http://hpc.montefiore.ulg.ac.be/
> Agenda:
>
http://www.google.com/calendar/embed?src=david.colignon%40gmail.com
>
>
>
> Mike B. wrote:
> > Hi Dave,
> >
> > Please find them attached..
> >
> > Cheers and thanks,
> > Mike.
> >
> > --- On *Fri, 8/7/09, David Colignon
/<[email protected] </mc/[email protected]>
> </mc/[email protected]
</mc/[email protected]>>>/* wrote:
> >
> >
> > From: David Colignon <[email protected]
</mc/[email protected]>
> </mc/[email protected]
</mc/[email protected]>>>
> > Subject: Re: [Gmsh] Gmsh fails to create a volume mesh
around
> an STL
> > surface mesh
> > To: "Mike B." <[email protected]
</mc/[email protected]>
> </mc/[email protected]
</mc/[email protected]>>>
> > Cc: "Gmsh mai.. lis." <[email protected]
</mc/[email protected]>
> </mc/[email protected] </mc/[email protected]>>>
> > Date: Friday, August 7, 2009, 5:38 PM
> >
> > Hi Mike,
> >
> > can you send us your files ?
> >
> > Cheers,
> >
> > Dave
> >
> > -- David Colignon, Ph.D.
> > Collaborateur Logistique du F.R.S.-FNRS
> > CÉCI - Consortium des Équipements de Calcul Intensif
> > ACE - Applied & Computational Electromagnetics
> > Sart-Tilman B28
> > Université de Liège
> > 4000 Liège - BELGIQUE
> > Tél: +32 (0)4 366 37 32
> > Fax: +32 (0)4 366 29 10
> > WWW: http://hpc.montefiore.ulg.ac.be/
> > Agenda:
> >
http://www.google.com/calendar/embed?src=david.colignon%40gmail.com
>
<http://www..google.com/calendar/embed?src=david.colignon%40gmail..com
<http://www..google.com/calendar/embed?src=david.colignon%40gmail.com>>
> >
> >
> >
> > Mike B. wrote:
> > > Dear All,
> > >
> > > I have a surface mesh saved as and STL file (similar to
> > `sphere-surf..stl' from `demos/sphere-discrete.geo').
> > >
> > > I merge the STL file, define a cuboid around it and
request a
> > volume mesh (`Mesh 3;'). Gmsh meshes the cuboid faces but
> fails to
> > mesh the volume, giving multiple error lines such as:
> > > Error: ERROR: Edge 190-191 multiple times in
surface mesh
> > >
> > > This problem is also mentioned in:
> > >
> >
http://article.gmane.org/gmane.comp.cad.gmsh.general/380/match=multiple+edges
> > >
> > > This seems to be a problem with mesh algoritm. Any
ideas
> how to
> > solve this?.
> > >
> > > Cheers and thanks,
> > > Mike.
> > >
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam? Yahoo! Mail has the best spam
protection around
> > > http://mail.yahoo.com
> > >
> > >
> > >
> >
------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > gmsh mailing list
> > > [email protected] </mc/[email protected]>
</mc/[email protected] </mc/[email protected]>>
> </mc/[email protected] </mc/[email protected]>
</mc/[email protected] </mc/[email protected]>>>
> > > http://www.geuz..org/mailman/listinfo/gmsh
> <http://www.geuz.org/mailman/listinfo/gmsh>
> >
> >
>
> -----Inline Attachment Follows-----
>
>
> Merge "w.stl";
>
> Surface Loop( 1 ) = { 1 };
>
>
> lc1 = 0.1 ;
>
> Point( 3001 ) = { -00002.750, -00001.500, -00000.699 , lc1 };
> Point( 3002 ) = { +00003.250, -00001.500, -00000.699 , lc1 };
> Point( 3003 ) = { +00003.250, +00002.500, -00000.699 , lc1 };
> Point( 3004 ) = { -00002.750, +00002.500, -00000.699 , lc1 };
> Point( 3005 ) = { -00002.750, -00001.500, +00001.095 , lc1 };
> Point( 3006 ) = { +00003.250, -00001.500, +00001.095 , lc1 };
> Point( 3007 ) = { +00003..250, +00002.500, +00001.095 , lc1 };
> Point( 3008 ) = { -00002.750, +00002.500, +00001.095 , lc1 };
>
> Line( 3001 ) = { 3001, 3002 };
> Line( 3002 ) = { 3002, 3003 };
> Line( 3003 ) = { 3003, 3004 };
> Line( 3004 ) = { 3004, 3001 };
> Line( 3005 ) = { 3001, 3005 };
> Line( 3006 ) = { 3002, 3006 };
> Line( 3007 ) = { 3003, 3007 };
> Line( 3008 ) = { 3004, 3008 };
> Line( 3009 ) = { 3005, 3006 };
> Line( 3010 ) = { 3006, 3007 };
> Line( 3011 ) = { 3007, 3008 };
> Line( 3012 ) = { 3008, 3005 };
>
> Line Loop( 3001 ) = { 3001, 3002, 3003, 3004 };
> Plane Surface( 3011 ) = { 3001 };
> Line Loop( 3002 ) = { 3001, 3006, -3009, -3005 };
> Plane Surface( 3012 ) = { 3002 };
> Line Loop( 3003 ) = { 3006, 3010, -3007, -3002 };
> Plane Surface( 3013 ) = { 3003 };
> Line Loop( 3004 ) = { 3007, 3011, -3008, -3003 };
> Plane Surface( 3014 ) = { 3004 };
> Line Loop( 3005 ) = { 3005, -3012, -3008, 3004 };
> Plane Surface( 3015 ) = { 3005 };
> Line Loop( 3006 ) = { 3009, 3010, 3011, 3012 };
> Plane Surface( 3016 ) = { 3006 };
>
> Surface Loop( 2 ) = { 3011, 3012, 3013, 3014, 3015, 3016 };
>
> Volume( 1 ) = { 1, 2 };
>
> Mesh.Algorithm3D = 1; // 3D mesh algorithm
(1=Tetgen+Delaunay, 4=Netgen)
>
> //Mesh 3;
>
>
Include "w.geo" ;
lc1 = 0.5 ;
Point( 3001 ) = { -00002.750, -00001.500, -00000.699 , lc1 };
Point( 3002 ) = { +00003.250, -00001.500, -00000.699 , lc1 };
Point( 3003 ) = { +00003.250, +00002.500, -00000.699 , lc1 };
Point( 3004 ) = { -00002.750, +00002.500, -00000.699 , lc1 };
Point( 3005 ) = { -00002.750, -00001.500, +00001.095 , lc1 };
Point( 3006 ) = { +00003.250, -00001.500, +00001.095 , lc1 };
Point( 3007 ) = { +00003.250, +00002.500, +00001.095 , lc1 };
Point( 3008 ) = { -00002.750, +00002.500, +00001.095 , lc1 };
Line( 3001 ) = { 3001, 3002 };
Line( 3002 ) = { 3002, 3003 };
Line( 3003 ) = { 3003, 3004 };
Line( 3004 ) = { 3004, 3001 };
Line( 3005 ) = { 3001, 3005 };
Line( 3006 ) = { 3002, 3006 };
Line( 3007 ) = { 3003, 3007 };
Line( 3008 ) = { 3004, 3008 };
Line( 3009 ) = { 3005, 3006 };
Line( 3010 ) = { 3006, 3007 };
Line( 3011 ) = { 3007, 3008 };
Line( 3012 ) = { 3008, 3005 };
Line Loop( 3001 ) = { 3001, 3002, 3003, 3004 };
Plane Surface( 3011 ) = { 3001 };
Line Loop( 3002 ) = { 3001, 3006, -3009, -3005 };
Plane Surface( 3012 ) = { 3002 };
Line Loop( 3003 ) = { 3006, 3010, -3007, -3002 };
Plane Surface( 3013 ) = { 3003 };
Line Loop( 3004 ) = { 3007, 3011, -3008, -3003 };
Plane Surface( 3014 ) = { 3004 };
Line Loop( 3005 ) = { 3005, -3012, -3008, 3004 };
Plane Surface( 3015 ) = { 3005 };
Line Loop( 3006 ) = { 3009, 3010, 3011, 3012 };
Plane Surface( 3016 ) = { 3006 };
Surface Loop( 2 ) = { 3011, 3012, 3013, 3014, 3015, 3016 };
Volume( 1 ) = { 2 , 1 };
//Mesh 3;
lcw = 0.1 ;
Point( 1001 ) = { -00000.250, +00000.000, +00000.000 , lcw };
Point( 1002 ) = { -00000.150, +00000.000, +00000.057 , lcw };
Point( 1003 ) = { -00000.050, +00000.000, +00000.075 , lcw };
Point( 1004 ) = { +00000.050, +00000.000, +00000.077 , lcw };
Point( 1005 ) = { +00000.150, +00000.000, +00000.076 , lcw };
Point( 1006 ) = { +00000.250, +00000.000, +00000.075 , lcw };
Point( 1007 ) = { +00000.350, +00000.000, +00000.074 , lcw };
Point( 1008 ) = { +00000.450, +00000.000, +00000.066 , lcw };
Point( 1009 ) = { +00000.550, +00000.000, +00000.047 , lcw };
Point( 1010 ) = { +00000.650, +00000.000, +00000.018 , lcw };
Point( 1011 ) = { +00000.750, +00000.000, +00000.000 , lcw };
Point( 1012 ) = { +00000.650, +00000.000, -00000.000 , lcw };
Point( 1013 ) = { +00000.550, +00000.000, -00000.004 , lcw };
Point( 1014 ) = { +00000.450, +00000.000, -00000.010 , lcw };
Point( 1015 ) = { +00000.350, +00000.000, -00000.017 , lcw };
Point( 1016 ) = { +00000.250, +00000.000, -00000.022 , lcw };
Point( 1017 ) = { +00000.150, +00000.000, -00000.025 , lcw };
Point( 1018 ) = { +00000.050, +00000.000, -00000.025 , lcw };
Point( 1019 ) = { -00000.050, +00000.000, -00000.025 , lcw };
Point( 1020 ) = { -00000.150, +00000.000, -00000.026 , lcw };
Point( 2001 ) = { -00000.125, +00001.000, +00000.364 , lcw };
Point( 2002 ) = { -00000.075, +00001.000, +00000.400 , lcw };
Point( 2003 ) = { -00000.025, +00001.000, +00000.412 , lcw };
Point( 2004 ) = { +00000.025, +00001.000, +00000.414 , lcw };
Point( 2005 ) = { +00000.075, +00001.000, +00000.415 , lcw };
Point( 2006 ) = { +00000.125, +00001.000, +00000.418 , lcw };
Point( 2007 ) = { +00000.175, +00001.000, +00000.422 , lcw };
Point( 2008 ) = { +00000.225, +00001.000, +00000.420 , lcw };
Point( 2009 ) = { +00000.275, +00001.000, +00000.405 , lcw };
Point( 2010 ) = { +00000.325, +00001.000, +00000.380 , lcw };
Point( 2011 ) = { +00000.375, +00001.000, +00000.364 , lcw };
Point( 2012 ) = { +00000.325, +00001.000, +00000.339 , lcw };
Point( 2013 ) = { +00000.275, +00001.000, +00000.301 , lcw };
Point( 2014 ) = { +00000.225, +00001.000, +00000.275 , lcw };
Point( 2015 ) = { +00000.175, +00001.000, +00000.265 , lcw };
Point( 2016 ) = { +00000.125, +00001.000, +00000.264 , lcw };
Point( 2017 ) = { +00000.075, +00001.000, +00000.263 , lcw };
Point( 2018 ) = { +00000.025, +00001.000, +00000.263 , lcw };
Point( 2019 ) = { -00000.025, +00001.000, +00000.271 , lcw };
Point( 2020 ) = { -00000.075, +00001.000, +00000.303 , lcw };
Line( 1 ) = { 1001, 1002 };
Line( 2 ) = { 1002, 1003 };
Line( 3 ) = { 1003, 1004 };
Line( 4 ) = { 1004, 1005 };
Line( 5 ) = { 1005, 1006 };
Line( 6 ) = { 1006, 1007 };
Line( 7 ) = { 1007, 1008 };
Line( 8 ) = { 1008, 1009 };
Line( 9 ) = { 1009, 1010 };
Line( 10 ) = { 1010, 1011 };
Line( 11 ) = { 1011, 1012 };
Line( 12 ) = { 1012, 1013 };
Line( 13 ) = { 1013, 1014 };
Line( 14 ) = { 1014, 1015 };
Line( 15 ) = { 1015, 1016 };
Line( 16 ) = { 1016, 1017 };
Line( 17 ) = { 1017, 1018 };
Line( 18 ) = { 1018, 1019 };
Line( 19 ) = { 1019, 1020 };
Line( 20 ) = { 1020, 1001 };
Line Loop( 1 ) = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 };
Plane Surface( 1 ) = { -1 };
Line( 2001 ) = { 2001, 2002 };
Line( 2002 ) = { 2002, 2003 };
Line( 2003 ) = { 2003, 2004 };
Line( 2004 ) = { 2004, 2005 };
Line( 2005 ) = { 2005, 2006 };
Line( 2006 ) = { 2006, 2007 };
Line( 2007 ) = { 2007, 2008 };
Line( 2008 ) = { 2008, 2009 };
Line( 2009 ) = { 2009, 2010 };
Line( 2010 ) = { 2010, 2011 };
Line( 2011 ) = { 2011, 2012 };
Line( 2012 ) = { 2012, 2013 };
Line( 2013 ) = { 2013, 2014 };
Line( 2014 ) = { 2014, 2015 };
Line( 2015 ) = { 2015, 2016 };
Line( 2016 ) = { 2016, 2017 };
Line( 2017 ) = { 2017, 2018 };
Line( 2018 ) = { 2018, 2019 };
Line( 2019 ) = { 2019, 2020 };
Line( 2020 ) = { 2020, 2001 };
Line Loop( 2001 ) = {
2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020
};
Plane Surface( 2101 ) = { 2001 };
//Line( 1011 ) = { 1001, 1002 };
Line( 1012 ) = { 1002, 2002 };
//Line( 1013 ) = { 2002, 2001 };
Line( 1014 ) = { 2001, 1001 };
Line Loop( 1001 ) = { 1, 1012, -2001, 1014 };
Ruled Surface( 1101 ) = { 1001 };
//Line( 1021 ) = { 1002, 1003 };
Line( 1022 ) = { 1003, 2003 };
//Line( 1023 ) = { 2003, 2002 };
Line Loop( 1002 ) = { 2, 1022, -2002, -1012 };
Ruled Surface( 1102 ) = { 1002 };
//Line( 1031 ) = { 1003, 1004 };
Line( 1032 ) = { 1004, 2004 };
//Line( 1033 ) = { 2004, 2003 };
Line Loop( 1003 ) = { 3, 1032, -2003, -1022 };
Ruled Surface( 1103 ) = { 1003 };
//Line( 1041 ) = { 1004, 1005 };
Line( 1042 ) = { 1005, 2005 };
//Line( 1043 ) = { 2005, 2004 };
Line Loop( 1004 ) = { 4, 1042, -2004, -1032 };
Ruled Surface( 1104 ) = { 1004 };
//Line( 1051 ) = { 1005, 1006 };
Line( 1052 ) = { 1006, 2006 };
//Line( 1053 ) = { 2006, 2005 };
Line Loop( 1005 ) = { 5, 1052, -2005, -1042 };
Ruled Surface( 1105 ) = { 1005 };
//Line( 1061 ) = { 1006, 1007 };
Line( 1062 ) = { 1007, 2007 };
//Line( 1063 ) = { 2007, 2006 };
Line Loop( 1006 ) = { 6, 1062, -2006, -1052 };
Ruled Surface( 1106 ) = { 1006 };
//Line( 1071 ) = { 1007, 1008 };
Line( 1072 ) = { 1008, 2008 };
//Line( 1073 ) = { 2008, 2007 };
Line Loop( 1007 ) = { 7, 1072, -2007, -1062 };
Ruled Surface( 1107 ) = { 1007 };
//Line( 1081 ) = { 1008, 1009 };
Line( 1082 ) = { 1009, 2009 };
//Line( 1083 ) = { 2009, 2008 };
Line Loop( 1008 ) = { 8, 1082, -2008, -1072 };
Ruled Surface( 1108 ) = { 1008 };
//Line( 1091 ) = { 1009, 1010 };
Line( 1092 ) = { 1010, 2010 };
//Line( 1093 ) = { 2010, 2009 };
Line Loop( 1009 ) = { 9, 1092, -2009, -1082 };
Ruled Surface( 1109 ) = { 1009 };
//Line( 1101 ) = { 1010, 1011 };
Line( 1102 ) = { 1011, 2011 };
//Line( 1103 ) = { 2011, 2010 };
Line Loop( 1010 ) = { 10, 1102, -2010, -1092 };
Ruled Surface( 1110 ) = { 1010 };
//Line( 1111 ) = { 1011, 1012 };
Line( 1112 ) = { 1012, 2012 };
//Line( 1113 ) = { 2012, 2011 };
Line Loop( 1011 ) = { 11, 1112, -2011, -1102 };
Ruled Surface( 1111 ) = { 1011 };
//Line( 1121 ) = { 1012, 1013 };
Line( 1122 ) = { 1013, 2013 };
//Line( 1123 ) = { 2013, 2012 };
Line Loop( 1012 ) = { 12, 1122, -2012, -1112 };
Ruled Surface( 1112 ) = { 1012 };
//Line( 1131 ) = { 1013, 1014 };
Line( 1132 ) = { 1014, 2014 };
//Line( 1133 ) = { 2014, 2013 };
Line Loop( 1013 ) = { 13, 1132, -2013, -1122 };
Ruled Surface( 1113 ) = { 1013 };
//Line( 1141 ) = { 1014, 1015 };
Line( 1142 ) = { 1015, 2015 };
//Line( 1143 ) = { 2015, 2014 };
Line Loop( 1014 ) = { 14, 1142, -2014, -1132 };
Ruled Surface( 1114 ) = { 1014 };
//Line( 1151 ) = { 1015, 1016 };
Line( 1152 ) = { 1016, 2016 };
//Line( 1153 ) = { 2016, 2015 };
Line Loop( 1015 ) = { 15, 1152, -2015, -1142 };
Ruled Surface( 1115 ) = { 1015 };
//Line( 1161 ) = { 1016, 1017 };
Line( 1162 ) = { 1017, 2017 };
//Line( 1163 ) = { 2017, 2016 };
Line Loop( 1016 ) = { 16, 1162, -2016, -1152 };
Ruled Surface( 1116 ) = { 1016 };
//Line( 1171 ) = { 1017, 1018 };
Line( 1172 ) = { 1018, 2018 };
//Line( 1173 ) = { 2018, 2017 };
Line Loop( 1017 ) = { 17, 1172, -2017, -1162 };
Ruled Surface( 1117 ) = { 1017 };
//Line( 1181 ) = { 1018, 1019 };
Line( 1182 ) = { 1019, 2019 };
//Line( 1183 ) = { 2019, 2018 };
Line Loop( 1018 ) = { 18, 1182, -2018, -1172 };
Ruled Surface( 1118 ) = { 1018 };
//Line( 1191 ) = { 1019, 1020 };
Line( 1192 ) = { 1020, 2020 };
//Line( 1193 ) = { 2020, 2019 };
Line Loop( 1019 ) = { 19, 1192, -2019, -1182 };
Ruled Surface( 1119 ) = { 1019 };
//Line( 1201 ) = { 1020, 1001 };
//Line( 1202 ) = { 1001, 2001 };
//Line( 1203 ) = { 2001, 2020 };
Line Loop( 1020 ) = { 20, -1014, -2020, -1192 };
Ruled Surface( 1120 ) = { 1020 };
Surface Loop( 1 ) = { 1, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 2101};
// Mesh 2;
// Mesh.Format = 27;
// Save 'w.stl';
_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh