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

Reply via email to