To keep thing simple, I updated to 4247 and then updated only
mesh_base.h to 4248:
======================================================================
boyce-griffiths-mac-pro:libmesh-petsc-3.1 griffith$ svn diff -r4247
Index: include/mesh/mesh_base.h
===================================================================
--- include/mesh/mesh_base.h (revision 4247)
+++ include/mesh/mesh_base.h (working copy)
@@ -543,8 +543,17 @@
*/
void clear_point_locator ();
+#ifdef DEBUG
+ /**
+ * Verify id and processor_id consistency of our elements and
+ * nodes containers.
+ * Calls libmesh_assert() on each possible failure.
+ * Currently only implemented on ParallelMesh; a serial data
+ * structure is much harder to get out of sync.
+ */
+ virtual void libmesh_assert_valid_parallel_ids() const {}
+#endif
-
public:
======================================================================
The code still dies a horrible death.
On 3/14/11 1:46 PM, John Peterson wrote:
> Boyce,
>
> I've attached the diffs between 4247 and 4248 below.
>
> In the sources, could you try commenting out all the new calls to
> libmesh_assert_valid_parallel_ids();
>
> This should still crash, at least it does for me. If it does for you,
> that means that adding an empty function body to mesh_base.h in DEBUG
> mode is causing the code to crash and that really shouldn't happen...
>
> Also, you are using GCC 4.4.4, is that correct?
>
> --
> John
>
>
>
> svn diff -r4247:4248
> Index: include/mesh/parallel_mesh.h
> ===================================================================
> --- include/mesh/parallel_mesh.h (revision 4247)
> +++ include/mesh/parallel_mesh.h (revision 4248)
> @@ -122,7 +122,7 @@
> * elements containers.
> * Calls libmesh_assert() on each possible failure.
> */
> - void libmesh_assert_valid_parallel_flags() const;
> + virtual void libmesh_assert_valid_parallel_flags() const;
> #endif
>
> /**
> Index: include/mesh/mesh_base.h
> ===================================================================
> --- include/mesh/mesh_base.h (revision 4247)
> +++ include/mesh/mesh_base.h (revision 4248)
> @@ -543,8 +543,17 @@
> */
> void clear_point_locator ();
>
> +#ifdef DEBUG
> + /**
> + * Verify id and processor_id consistency of our elements and
> + * nodes containers.
> + * Calls libmesh_assert() on each possible failure.
> + * Currently only implemented on ParallelMesh; a serial data
> + * structure is much harder to get out of sync.
> + */
> + virtual void libmesh_assert_valid_parallel_ids() const {}
> +#endif
> -
> public:
>
>
> Index: src/mesh/mesh_refinement.C
> ===================================================================
> --- src/mesh/mesh_refinement.C (revision 4247)
> +++ src/mesh/mesh_refinement.C (revision 4248)
> @@ -519,9 +519,7 @@
> if (coarsening_changed_mesh || refining_changed_mesh)
> {
> #ifdef DEBUG
> - ParallelMesh *pmesh = dynamic_cast<ParallelMesh *>(&_mesh);
> - if (pmesh)
> - pmesh->libmesh_assert_valid_parallel_ids();
> + _mesh.libmesh_assert_valid_parallel_ids();
> #endif
>
> _mesh.prepare_for_use (/*skip_renumber =*/false);
> @@ -1602,9 +1600,7 @@
> MeshCommunication().make_nodes_parallel_consistent
> (_mesh, _new_nodes_map);
> #ifdef DEBUG
> - ParallelMesh *pmesh = dynamic_cast<ParallelMesh *>(&_mesh);
> - if (pmesh)
> - pmesh->libmesh_assert_valid_parallel_ids();
> + _mesh.libmesh_assert_valid_parallel_ids();
> #endif
> }
>
> Index: src/mesh/inf_elem_builder.C
> ===================================================================
> --- src/mesh/inf_elem_builder.C (revision 4247)
> +++ src/mesh/inf_elem_builder.C (revision 4248)
> @@ -638,9 +638,7 @@
>
>
> #ifdef DEBUG
> - ParallelMesh *pmesh = dynamic_cast<ParallelMesh *>(&this->_mesh);
> - if (pmesh)
> - pmesh->libmesh_assert_valid_parallel_ids();
> + _mesh.libmesh_assert_valid_parallel_ids();
>
> if (be_verbose)
> libMesh::out<< " added"
>
>
>
>
> #ifdef DEBUG
> /**
> * Verify id and processor_id consistency of our elements and
> * nodes containers.
> * Calls libmesh_assert() on each possible failure.
> * Currently only implemented on ParallelMesh; a serial data
> * structure is much harder to get out of sync.
> */
> virtual void libmesh_assert_valid_parallel_ids() const {}
> #endif
>
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel