Hi Ronan,

Yes I created them as Physical Surfaces...Here attached my .geo file...if you want to see it...

Thanks a lot
Mattia

Ronan Perrussel ha scritto:
Hi Mattia,

I frequently use getfem++ with gmsh mesh files and I do not have this kind of problem.
Do you have declared your surfaces as physical surfaces in gmsh?

Best regards,
Ronan

Mattia Assanelli a écrit :
Hi guys,
first of all thanks to Mirko who sent me a working binary for XP & Matlab2008. I have some problems importing a mesh from GMSH: in my mesh I defined a Physical Volume and 2 Surfaces, but when I import it in GetFEM++ I can only see the volume. If I run the command gf_mesh_get(Mesh,'regions',1) I get 3 as result, in fact only the region with id=3 seems to be populated....

Thanks a lot
Mattia

-------------------------------------------------
Mattia Assanelli
Ph.D. Student
Politecnico di Milano
Dipartimento di Elettronica ed Informazione
Phone:    +39 02 2399 3735
Mail:    [email protected]
Address:Via Golgi, 40 - 20133 Milano - Italy
-------------------------------------------------


_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users




--
-------------------------------------------------
Mattia Assanelli
Ph.D. Student
Politecnico di Milano
Dipartimento di Elettronica ed Informazione
Phone:  +39 02 2399 3735
Mail:   [email protected]
Address:Via Golgi, 40 - 20133 Milano - Italy
-------------------------------------------------

m_l=8;

//ESTERNO
// circonferenza esterna superiore
raggio=91;
z=0;
id_curva=10;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// circonferenza esterna inferiore
raggio=91;
z=-5;
id_curva=20;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// mi faccio i 4 line loop per la superficie laterale li chiami come 100+numero 
progressivo
id_curva_sopra=10;
id_curva_sotto=20;
id_linea=80;
Line(id_linea+2)= {id_curva_sopra+2, id_curva_sotto+2};
Line(id_linea+3)= {id_curva_sopra+3, id_curva_sotto+3};
Line(id_linea+4)= {id_curva_sopra+4, id_curva_sotto+4};
Line(id_linea+5)= {id_curva_sopra+5, id_curva_sotto+5};
base_id_loop = 100;
base_id_sup = 150;

Line Loop(base_id_loop+1) = {id_curva_sopra+6, id_linea+3, -(id_curva_sotto+6), 
-(id_linea+2)};
Line Loop(base_id_loop+2) = {id_curva_sopra+7, id_linea+4, -(id_curva_sotto+7), 
-(id_linea+3)};
Line Loop(base_id_loop+3) = {id_curva_sopra+8, id_linea+5, -(id_curva_sotto+8), 
-(id_linea+4)};
Line Loop(base_id_loop+4) = {id_curva_sopra+9, id_linea+2, -(id_curva_sotto+9), 
-(id_linea+5)};
Ruled Surface(base_id_sup+1) ={base_id_loop+1};
Ruled Surface(base_id_sup+2) ={base_id_loop+2};
Ruled Surface(base_id_sup+3) ={base_id_loop+3};
Ruled Surface(base_id_sup+4) ={base_id_loop+4};

//INTERNO
// circonferenza superiore
raggio=45;
z=0;
id_curva=30;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// circonferenza esterna inferiore
raggio=45;
z=-2.15;
id_curva=40;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};

// mi faccio i 4 line loop per la superficie laterale li chiami come 100+numero 
progressivo
id_curva_sopra=30;
id_curva_sotto=40;
id_linea=90;
Line(id_linea+2)= {id_curva_sopra+2, id_curva_sotto+2};
Line(id_linea+3)= {id_curva_sopra+3, id_curva_sotto+3};
Line(id_linea+4)= {id_curva_sopra+4, id_curva_sotto+4};
Line(id_linea+5)= {id_curva_sopra+5, id_curva_sotto+5};
base_id_loop = 200;
base_id_sup = 250;

Line Loop(base_id_loop+1) = {id_curva_sopra+6, id_linea+3, -(id_curva_sotto+6), 
-(id_linea+2)};
Line Loop(base_id_loop+2) = {id_curva_sopra+7, id_linea+4, -(id_curva_sotto+7), 
-(id_linea+3)};
Line Loop(base_id_loop+3) = {id_curva_sopra+8, id_linea+5, -(id_curva_sotto+8), 
-(id_linea+4)};
Line Loop(base_id_loop+4) = {id_curva_sopra+9, id_linea+2, -(id_curva_sotto+9), 
-(id_linea+5)};
Ruled Surface(base_id_sup+1) ={base_id_loop+1};
Ruled Surface(base_id_sup+2) ={base_id_loop+2};
Ruled Surface(base_id_sup+3) ={base_id_loop+3};
Ruled Surface(base_id_sup+4) ={base_id_loop+4};

// creo le superfici piane
Plane Surface(1020) = {20};
Plane Surface(1010) = {10, 30};
Plane Surface(1040) = {40};

// creo il volume complessivo
Surface Loop(9999) = {1040, 251, 252, 253, 254, 1010,  151, 152, 153, 154, 
1020};
Volume(10000) = {9999};

// creo il contatto di anodo esterno
raggio=69;
z=0;
id_curva=70;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};
raggio=65;
z=0;
id_curva=60;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};
Plane Surface(1070) = {70, 60};

// creo il contatto di anodo interno
raggio=25;
z=-2.15;
id_curva=50;
Point(id_curva+1) = {0, 0, z, m_l};
Point(id_curva+2) = {0, raggio, z, m_l};
Point(id_curva+3) = {raggio, 0, z, m_l};
Point(id_curva+4) = {0, -raggio, z, m_l};
Point(id_curva+5) = {-raggio, 0, z, m_l};
Circle(id_curva+6) = {id_curva+2, id_curva+1, id_curva+3};
Circle(id_curva+7) = {id_curva+3, id_curva+1, id_curva+4};
Circle(id_curva+8) = {id_curva+4, id_curva+1, id_curva+5};
Circle(id_curva+9) = {id_curva+5, id_curva+1, id_curva+2};
Line Loop(id_curva) = {id_curva+6, id_curva+7, id_curva+8, id_curva+9};
Plane Surface(1050) = {50};

// definisco i volumi e le superficii fisiche
Physical Surface('Anodo_int') = {1050};
Physical Surface('Anodo_ext') = {1070};
Physical Volume('Volume') = {10000};


_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh

Reply via email to