Computation domain¶
Create geometry¶
For this tutorial, one can create an idealized geometry of the Gironde (France) using Gmsh.
Create points¶
A point is identified by a tag, and defined by a list of four numbers : three coordinates (X, Y, Z) and the target mesh size (lc
) close to the point. We will first define the points in our domain, and then the target mesh size in the .geo
Gmsh script.
One can create all the geometry points by clicking on Modules > Geometry > Elementary entities > Add > Point
.
Once the Elementary Entities Context window is open, enter the coordinates of the first point : (-112000, -755000, 0.0)
, and click on Add.
Create all the other points by using the same methodology :
- Point 2 :
(-92000.0, -770000, 0)
- Point 3 :
(-82000.0, -810000, 0)
- Point 4 :
(-87000.0, -81200, 0)
- Point 5 :
(-98724.3, -779176, 0)
- Point 6 :
(-120000, -767000, 0)
Quit the dialog and press 'q' when all the points are created.
Once the points are created, we can define the target mesh size in the .geo
script. Here, we will establish that lc = 600
. Defining a global target mesh size enables one to modify it easily.
lc = 600; lc2 = lc/2; lc3 = lc2/2.5;
//+ Points
Point(1) = {-112000, -755000, 0, lc};
Point(2) = {-92000.0, -770000, 0, lc2};
Point(3) = {-82000.0, -810000, 0, lc3};
Point(4) = {-87000.0, -812000, 0, lc3};
Point(5) = {-98724.3, -779176, 0, lc2};
Point(6) = {-120000, -767000, 0, lc};
Create domain edges and surface¶
When all the points are created, one needs to create the edges to define the boundaries of the domain. Here, only splines will be generated. First, one has to click on Modules > Geometry > Elementary entities > Add > Spline
.
A spline is defined by three control points. Select all three of the following point to create the first spline :
When all the points are selected, press 'e'. Repeat the operation for the three other splines defined by the following points :
- Spline 2 :
(3, 4)
- Spline 3 :
(4, 5, 6)
- Spline 4 :
(6, 1)
When the splines are created, one has to generate the domain surface. To create this surface, click on Modules > Geometry > Elementary entities > Add > Plane Surface
and click on the surface if the splines are in right order. If the splines are not ordered, select each spline one after another. When the surface (or all the splines) is (are) selected, press 'e'.
Gmsh has now created a closed loop and a plane surface. Here is the final geometry :
lc = 600; lc2 = lc/2; lc3 = lc2/2.5;
//+ Points
Point(1) = {-112000, -755000, 0, lc};
Point(2) = {-92000.0, -770000, 0, lc2};
Point(3) = {-82000.0, -810000, 0, lc3};
Point(4) = {-87000.0, -812000, 0, lc3};
Point(5) = {-98724.3, -779176, 0, lc2};
Point(6) = {-120000, -767000, 0, lc};
//+ Splines
Spline(1) = {1, 2, 3};
Spline(2) = {3, 4};
Spline(3) = {4, 5, 6};
Spline(4) = {6, 1};
Curve Loop(1) = {1, 2, 3, 4};
Plane Surface(1) = {1};
Warning
Make sure the edges and the curved loop are correctly oriented. The nodes should be ordered. The script provides an orientation example.
Boundary Conditions¶
For Tolosa to be able to recognize boundary conditions, one has to declare the domain's boundary conditions in the .geo
Gmsh file. Boundary conditions are called Physical Groups. To declare them in our case, one has to click on Modules > Geometry > Physical Groups > Add > Curve
. One has to declare the following three boundary conditions (Press 'e' to validate each declaration) :
Info
See Ax.: Boundary Conditions to get the boundary conditions syntax and the different methodologies.
When all the edges boundary conditions, one has to declare a surface physical group. Click on Modules > Geometry > Physical Groups > Add > Surface
:
Press 'e' to validate the surface physical group.
The final geometry should now be :
lc = 600; lc2 = lc/2; lc3 = lc2/2.5;
//+ Points
Point(1) = {-112000, -755000, 0, lc};
Point(2) = {-92000.0, -770000, 0, lc2};
Point(3) = {-82000.0, -810000, 0, lc3};
Point(4) = {-87000.0, -812000, 0, lc3};
Point(5) = {-98724.3, -779176, 0, lc2};
Point(6) = {-120000, -767000, 0, lc};
//+ Splines
Spline(1) = {1, 2, 3};
Spline(2) = {3, 4};
Spline(3) = {4, 5, 6};
Spline(4) = {6, 1};
Curve Loop(1) = {1, 2, 3, 4};
Plane Surface(1) = {1};
//+ Physical groups
Physical Curve("wall", 5) = {1, 3};
Physical Curve("q#1000", 6) = {2};
Physical Curve("tide#15", 7) = {4};
Physical Surface("surf", 8) = {1};
When the geometry is created, save it by naming it basic_gir_stereo.geo
. Then, close Gmsh.
Create mesh¶
To create the mesh associated with the previously created geometry, write the following command line :
gmsh -2 -format msh2 -algo meshadapt basic_gir_stereo.geo
A basic_gir_stereo.msh
mesh file should have been created. The mesh should look like :