From: robert <rob...@un...> - 2011-08-30 15:56:11
|
Hello, I am trying to get to run my libmesh code in parallel. Thanks to the help of you guys most of the code already works. However, I still have some small problems where I still don't have enough understanding of libmesh to solve them alone. One of them is to do mesh refinement in parallel: Mesh new_mesh; TetGenIO TETGEN(new_mesh); { // read TETGEN file OStringStream inmesh; inmesh<<"geometry_wings/export_pov/out/"<<ReadMesh[actual_pulse]<<"_box.1.ele"; TETGEN.read(inmesh.str().c_str()); } set_subdomains(&TETGEN, new_mesh); // works set_boundary_ids(new_mesh); // works MeshRefinement mesh_refinement (new_mesh); // see note below!!! mesh_refinement.uniformly_refine(no_unirefine); // see note below!!! new_mesh.prepare_for_use(); EquationSystems new_equation_systems (new_mesh); The mesh.uniformly_refine(1) takes some minutes when I do it in serial on my PC. However, on the BlueGene/P it doesn't come to an end (I aborted after 15 min). Do I have to prepare my mesh in a special way for use in parallel? One thing I have tried was to call the prepare_for_use() before the refinement. I thought this makes sense because the mesh is partitioned before. But, the problem remains. Mesh Information: Mesh Information: mesh_dimension()=3 spatial_dimension()=3 n_nodes()=447273 n_local_nodes()=447273 n_elem()=2994336 n_local_elem()=2994336 n_active_elem()=2661632 n_subdomains()=2 n_processors()=1 processor_id()=0 Robert |