November 11, 2003  
 

Examples

Un petit exemple (création de mailles "à la main") :

Domain test;
#
Refer domain(test);
Refer geo(domain[GEOMETRY_PO]);
Refer topo(domain[TOPOLOGY_PO]);
#
topo[POINTSET_PO].define(10, 0.0, 0.0, 0.0);
topo[POINTSET_PO].define(20, 1.0, 0.0, 0.0);
topo[POINTSET_PO].define(30, 1.0, 1.0, 0.0);
topo[POINTSET_PO].define(40, 0.0, 1.0, 0.0);
topo[POINTSET_PO].define(50, 2.0, 0.0, 0.0);
topo[POINTSET_PO].define(60, 2.0, 1.0, 0.0);
#
topo.define(1, CELL_QUAD, topo, 10,20,30,40);
topo.define(2, CELL_QUAD, topo, 20,50,60,30);
#
topo[POINTSET_PO].build_hash();
topo[CURVESET_PO].build_hash();
topo.renumberDuplicateNos();

Un autre exemple (2D) où on utilise la création de mailles pour générer de la géométrie utilisateur (à la createCube) et on maille cette géométrie avec les mailleurs modifiés:

Domain test2;
#
Refer domain(test2);
Refer geo(domain[GEOMETRY_PO]);
#
geo[POINTSET_PO].define(1, 0.0, 0.0, 0.0);
geo[POINTSET_PO].define(2, 1.0, 0.0, 0.0);
geo[POINTSET_PO].define(3, 1.0, 1.0, 0.0);
geo[POINTSET_PO].define(4, 0.0, 1.0, 0.0);
geo[POINTSET_PO].define(5, 2.0, 0.0, 0.0);
geo[POINTSET_PO].define(6, 2.0, 1.0, 0.0);
#
# on cree deux quads comme si c'etait des mailles
#
geo.define(1, CELL_QUAD, geo, 1,2,3,4);  # comme createSquare !!
geo.define(2, CELL_QUAD, geo, 2,5,6,3);  # comme addSquare !!
#
# maillage des deux quads
#
geo[CURVESET_PO][1].mesh2(4);
geo[CURVESET_PO][2].mesh2(4);
geo[CURVESET_PO][3].mesh2(4);
geo[CURVESET_PO][4].mesh2(4);
geo[CURVESET_PO][5].mesh2(4);
geo[CURVESET_PO][6].mesh2(4);
geo[CURVESET_PO][7].mesh2(4);
#
geo[SIDESET_PO][1].mit2(1);
geo[SIDESET_PO][2].mit2(1);
#
# Generation des elements choisis sur la geometrie du maillage
#
FieldApplicator app(1);
app.push(1,SIDE_PO);
app.setElementType(Volume2x1Gp2DMetaElement);
domain[INTERACTIONSET_PO].copy(app);
domain[INTERACTIONSET_PO].generateElements();



 

 

Pour mettre à jour, updatez les sources et ajoutez les nouveaux fichiers dans oo_ale oo_geo oo_elements et oo_elements/i_

 

 

Back to Metafor web server
created :November 11, 2003   modified : November 11, 2003
contact : r_boman_AT_yahoo.fr