Hello Francisco, Thanks for the proposal! This definitively seems a better option. However, I have problems when running the example: " Error: something wrong in edge loop (gmsh version 2.4.2)". Is it correct?
Best regards, JORDI On Wed, Oct 13, 2010 at 9:28 AM, Francisco Gilabert Villegas < [email protected]> wrote: > Hello, > > > > You can insert points or lines in any surface. Please see the example > below. > > I hope this help you. > > > > Regards, > > > > Francisco > > > > > > //**************************************************************** > > > > len=0.1; > > > > Point(1) = {0, 0, 0, len}; > > > > ext1[]=Extrude {1, 0, 0} { > > Point{1}; > > }; > > > > ext2[]=Extrude {0, 1, 0} { > > Line{ext1[1]}; > > }; > > > > my_point = newp; > > > > Point(my_point) = {0.34, 0.45, 0, len}; > > > > // Inserting a point in a surface: > > > > Point{my_point} In Surface{ext2[1]}; > > > > my_p1=newp; Point(my_p1) = {0.2, 0.78, 0, len}; > > my_p2=newp; Point(my_p2) = {0.6, 0.67, 0, len}; > > > > my_line=newl; > > > > Line(my_line)={my_p1,my_p2}; > > > > // Inserting a line in surface > > > > Line{my_line} In Surface{ext2[1]}; > > > > //**************************************************************** > > > > > > > > > > > ------------------------------ > > *De:* [email protected] [mailto: > [email protected]] *En nombre de *jordi poblet > *Enviado el:* lunes, 11 de octubre de 2010 14:10 > *Para:* Bart Vandewoestyne > *CC:* [email protected] > *Asunto:* Re: [Gmsh] pointsources and Nodes and Elements lists > > > > Hello Bart, > > I also need so often points in an specific position of the mesh. What I so > is to construct the mesh by parts in order to be sure that there will be a > node in the desired position (I copy an example for a single rectangle with > a node in X=0.49; Y = 0.48). > I suppose that this is not the answer that you were expecting... sometimes > it is hard to build the meshes. In any case, I would also be interested in a > better procedure to specify a priori the positions of some nodes of the > mesh. But I guess that this is not natural for most of the meshing > algorithms. > > Best regards, > > JORDI > > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > > lc = 0.13 ; > > //Coords > x0 = 0.0 ; > y0 = 0.0 ; > xs = 0.49 ; //X Point source > ys = 0.48 ; //Y Point source > x1 = 2.0 ; > y1 = 3.0 ; > > //Points: > Point(1) = {x0, y0, 0, lc}; > Point(2) = {xs, y0, 0, lc} ; > Point(3) = {x1, y0, 0, lc} ; > Point(4) = {x0, ys, 0, lc} ; > Point(5) = {xs, ys, 0, lc}; > Point(6) = {x1, ys, 0, lc} ; > Point(7) = {x0, y1, 0, lc} ; > Point(8) = {xs, y1, 0, lc} ; > Point(9) = {x1, y1, 0, lc}; > > //Lines: > Line(1) = {1,2} ; > Line(2) = {2,3} ; > > Line(3) = {4,5} ; > Line(4) = {5,6} ; > > Line(5) = {7,8} ; > Line(6) = {8,9} ; > > Line(7) = {1,4} ; > Line(8) = {4,7} ; > > Line(9) = {2,5} ; > Line(10) = {5,8} ; > > Line(11) = {3,6} ; > Line(12) = {6,9} ; > > //Loops: > Line Loop(10) = {1,9,-3,-7} ; > Line Loop(11) = {2,11,-4,-9} ; > Line Loop(12) = {3,10,-5,-8} ; > Line Loop(13) = {4,12,-6,-10} ; > > // Surfaces > Plane Surface(10) = {10} ; > Plane Surface(11) = {11} ; > Plane Surface(12) = {12} ; > Plane Surface(13) = {13} ; > > //Physical properties (final physical surface): > Physical Surface(100) = {10,11,12,13} ; > > > //------------------------------------------------------------------------------------------------------------------------------------- > > > On Mon, Oct 11, 2010 at 10:40 AM, Bart Vandewoestyne < > [email protected]> wrote: > > Hello list, > > For an application I'm working on, we use gmsh as our mesher, we parse the > .msh > file and then run our solver in Matlab. From the .msh file, we extract the > X > and Y coordinates of the nodes (from $Nodes) in the mesh. We also have a > matrix representing the triangular elements in the mesh (extracted from > $Elements). > > We would like our users to be able to specify pointsources in our > computational > domain. The location of the pointsource is an arbitrary point that a user > specifies and has nothing to do with the mesh. In gmsh, we currently > specify > it as follows: > > > ----------------------- small example ------------------ > lc = 0.6; > > // Corner points. > Point(1) = {0, 0, 0, lc}; > Point(2) = {0, 1, 0, lc}; > Point(3) = {1, 1, 0, lc}; > Point(4) = {1, 0, 0, lc}; > > // Point sources. > Point(5) = {0.6, 0.6, 0, lc}; > Point(6) = {0.7, 0.7, 0, lc}; > > Line(1) = {1, 2}; > Line(2) = {2, 3}; > Line(3) = {3, 4}; > Line(4) = {4, 1}; > > Line Loop(5) = {1, 2, 3, 4}; > Plane Surface(6) = {5}; > > Physical Point("Pointsource") = {5, 6}; > Physical Surface("My Surface") = {6}; > ----------------------- end small example ------------------ > > > And now here is the problem: if I mesh this .geo file with > > gmsh -2 pointsource_test.geo > > then this is the result: > > > ------------------ small example mesh --------------------- > > $MeshFormat > 2.1 0 8 > $EndMeshFormat > $PhysicalNames > 2 > 0 1 "Pointsource" > 2 2 "My Surface" > $EndPhysicalNames > $Nodes > 7 > 1 0 0 0 > 2 0 1 0 > 3 1 1 0 > 4 1 0 0 > 5 0.6 0.6 0 > 6 0.7 0.7 0 > 7 0.5 0.5 0 > $EndNodes > $Elements > 6 > 1 15 3 1 5 0 5 > 2 15 3 1 6 0 6 > 3 2 3 2 6 0 1 7 4 > 4 2 3 2 6 0 3 7 2 > 5 2 3 2 6 0 7 3 4 > 6 2 3 2 6 0 7 1 2 > $EndElements > > ----------------------- end small example mesh --------- > > > The 'problem' is that the coordinates of the pointsource appear in the list > of nodal coordinates. This has two consequences: > > 1) Our solver cannot have the pointsource coordinates in its list of x and > y > coordinates. It should only have the x and y coordinates of the *real* > nodes in our mesh. > > 2) Using the tags in the $Elements section, i can of course detect which > nodes are pointsources, and remove them from the $Nodes section in my > Matlab parser, but removing nodes from the $Nodes section also means that > a lot of indices in the $Elements section need to change! For example, > if I remove nodes 5 and 6, then every 7 in the $Elements section has to > be > replaced by a 5 (because node 5 and 6 were removed, and node 7 has become > node 5). > > > Is there a way to circumvent this troublesome bookkeeping? Maybe somehow > prevent gmsh from putting our pointsources in the list of nodes, and > returning > the coordinates of our pointsources in another section somehow? (I'm just > guessing here...) > > Kind regards, > Bart > > -- > "Share what you know. Learn what you don't." > > _______________________________________________ > gmsh mailing list > [email protected] > http://www.geuz.org/mailman/listinfo/gmsh > > > > _______________________________________________ > gmsh mailing list > [email protected] > http://www.geuz.org/mailman/listinfo/gmsh > >
_______________________________________________ gmsh mailing list [email protected] http://www.geuz.org/mailman/listinfo/gmsh
