Hi,

Regarding the documentation it seems not possible to generate a mesh from a geometry model, as the geo gmsh file, directly in freefem ?

PS : A geometry model is composed with :

- a list of vertices
- list of edges
- list of domains
- a domain is defined by a list of boundaries
- a boundary is defined by a list of oriented edges

In 2d you can do:

```
{
// build from bamg geometrie
{ // build the geom file
ofstream ff("g.mesh");
int n = 8;
real h = 0.1;
ff <<"MeshVersionFormatted 0\n";
ff <<"AngleOfCornerBound 46\n";
ff <<"Dimension 2 \n";
ff << "Vertices "<< n << endl;
for (int i=0;i<n;i++)
ff << cos(i*pi*2./n) << " " << sin(i*pi*2./n) << " 1\n";
ff << "Edges "<< n<< endl;
for (int i=0;i<n;i++)
ff << i+1 << " " << (i+1)%n +1 << " 1\n";
ff << "hVertices"<< endl;
for (int i=0;i<n;i++)
ff << h << endl;
}
mesh Th=buildmesh("g.mesh",nbvx=100000);
plot(Th,wait=1);
}
```

Thanks,

It seems that medit mesh file can’t handle geometries with holes cause that file format was firstly designed as a mesh file format.

For instance how to define a geometry composed of two concentric circles :

{

// build from bamg geometrie

{ // build the geom file

ofstream ff(“g.mesh”);

int n = 8;

real h = 0.1;

ff <<“MeshVersionFormatted 0\n”;

ff <<“AngleOfCornerBound 46\n”;

ff <<“Dimension 2 \n”;

```
ff << "Vertices "<< 2*n << endl;
for (int i=0;i<n;i++)
ff << cos(i*pi*2./n) << " " << sin(i*pi*2./n) << " 1\n";
for (int i=0;i<n;i++)
ff << 0.5*cos(i*pi*2./n) << " " << 0.5*sin(i*pi*2./n) << " 1\n";
ff << "Edges "<< 2*n<< endl;
for (int i=0;i<n;i++)
ff << i+1 << " " << (i+1)%(n) +1 << " "<<i+1 <<" \n";
for (int i=0;i<n;i++)
ff << (i+1)%+n +1+n << " " << (i+1+n) <<" "<< i+1+n<<" \n";
ff << "hVertices"<< endl;
for (int i=0;i<2*n;i++)
ff << h << endl;
```

}

mesh Th=buildmesh(“g.mesh”,nbvx=100000);

plot(Th,wait=1);

}