Dear Roy, On Thu, 9 Apr 2009, Tim Kroeger wrote:
On Thu, 9 Apr 2009, Roy Stogner wrote:Ugh, definitely. Although as an immediate start: do you have tracefiles turned on?No, I didn't. Actually, up to now, I didn't know this option exists. I have restarted it now with that option enabled, and the application will now also once again write all the refinement flags to a file, so that the bug can hopefully be reproduced more easily.
The tracefile is attached now. I don't think it will help a lot, though.
Also, I attached a test program that reproduces the crash. It's very similar to the one I sent you a couple of weeks ago. Again, you can find the file it reads the refinement flags from at www.mevis.de/~tim/ref-flags.gz (190KB, unzips to 19MB). You need to run the program on 24 CPUs. Unfortunately, it takes quite a while before it crashes since the first 50 refinement/coarsening steps are performed successfully; the crash occurs at the 51st step.
Let me know whether you can reproduce the crash. Best Regards, Tim -- Dr. Tim Kroeger tim.kroe...@mevis.fraunhofer.de Phone +49-421-218-7710 tim.kroe...@cevis.uni-bremen.de Fax +49-421-218-4236 Fraunhofer MEVIS, Institute for Medical Image Computing Universitaetsallee 29, 28359 Bremen, Germany
#include <iostream> #include <math.h> #include "libmesh.h" #include "mesh.h" #include "mesh_generation.h" #include "mesh_refinement.h" #include "elem.h" #include "equation_systems.h" #include "linear_implicit_system.h" #include "transient_system.h" static void refine_according_to_file(Mesh& mesh, std::istream& f) { std::string caption; f >> caption; std::cout << "Read refinement flags for " << caption << std::endl; MeshBase::element_iterator elem_it = mesh.active_elements_begin(); const MeshBase::element_iterator elem_end = mesh.active_elements_end(); for (; elem_it != elem_end; ++elem_it) { unsigned int v = 0; f >> v; (*elem_it)->set_refinement_flag(static_cast<Elem::RefinementState>(v)); } std::cout << "Process refinement for " << caption << std::endl; MeshRefinement meshRefinement(mesh); meshRefinement.refine_and_coarsen_elements(); std::cout << "Finished refinement for " << caption << std::endl; } int main (int argc, char** argv) { LibMeshInit init (argc, argv); Mesh mesh (3); MeshTools::Generation::build_cube(mesh, 7,6,4, -32.0,24.01, -24.0,24.0, -32.0,32.0, HEX8); std::ifstream f("ref-flags"); for(unsigned int i=0; i<12; i++) { refine_according_to_file(mesh,f); } std::cout << "Contract mesh" << std::endl; mesh.contract(); for(unsigned int i=0; i<7; i++) { refine_according_to_file(mesh,f); } EquationSystems es(mesh); es.add_system<TransientLinearImplicitSystem>("s"); es.get_system<TransientLinearImplicitSystem>("s").add_variable("v"); std::cout << "Init EquationSystems" << std::endl; es.init(); for(unsigned int i=0; i<32; i++) { refine_according_to_file(mesh,f); std::cout << "Reinit EquationSystems" << std::endl; es.reinit(); } return 0; }
Stack frames: 10 0: print_trace(std::ostream&) 1: PetscVector<double>::map_global_to_local_index(unsigned int) const 2: PetscVector<double>::operator()(unsigned int) const 3: DofMap::enforce_constraints_exactly(System const&, NumericVector<double>*) const 4: System::project_vector(NumericVector<double> const&, NumericVector<double>&) const 5: System::project_vector(NumericVector<double>&) const 6: System::restrict_vectors() 7: System::prolong_vectors() 8: EquationSystems::reinit() 9: RFASimLibMeshRefinementEstSimple::refineAfter(EquationSystems&)
------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com
_______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel