Sudip:

I've encountered a potential issue while compiling and running the deal.II code gallery example titled /"Quasi-Static Finite-Strain Quasi-Incompressible Viscoelasticity"/ from here <https://dealii.org/developer/doxygen/deal.II/code_gallery_Quasi_static_Finite_strain_Quasi_incompressible_ViscoElasticity.html>. Specifically, the release build runs correctly with MPI, but the debug build crashes when run with MPI. When run in serial (without MPI), both the debug and release builds run as expected, producing identical screen output.

Steps to reproduce :
- Download files attached to this message
- Run "cmake ." in the folder to which files were downloaded
- Run commands "make release" then "make" then "mpirun -np 2 ./viscoelastic_strip_with_hole". Program will run as expected. - Run commands "make debug" then "make" then "mpirun -np 2 ./viscoelastic_strip_with_hole". Program will crash.

Library versions :
- deal.II : 9.6.2
- openmpi : 4.1.0
- Trilinos : 16.0.0
- metis : Version included with petsc 3.22.3
- OS : Ubuntu 24.04 LTS

From the message displayed by deal.II upon crashing : The program crashes in the output_results() function upon encountering the first call to DataOut::add_data_vector because the block vector being added to the DataOut object is has non-contiguous blocks. Why is this a problem for the debug build in MPI but not the release build with MPI ?

It is also a problem in release mode, it's just that there is no *check* to catch the problem, and consequently the program continues without producing the error. In all likelihood, the results are then wrong.

I spent the last hour looking at this program, and I think what happened is that it *used* to be possible to partition a ::Triangulation object by hand and have the DoFHandler do the right thing, but that that is no longer the case (likely for good reasons). I verified that the underlying reason for the crash you see can be fixed by using parallel::shared::Triangulation instead, which is in essence what the program tried to emulate. It would be interesting to know when (=with which deal.II release) this stopped working, if it ever worked. Either way, a patch is here:
  https://github.com/dealii/code-gallery/pull/217

Best
 Wolfgang


--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/


--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dealii/8fac1282-681f-4409-84b3-15997aa27301%40colostate.edu.

Reply via email to