Hi Daniel,

here is the report of valgrind. Can you maybe help devising potential 
issues? I am afraid to be not sufficiently skilled, yet.
Thank you, I appreciate.

Alberto



albertosalvadori@ubuntu:~/Codes/m4_code/Release$ valgrind --leak-check=yes 
mpirun -np 4 ./m4_code_9.1.1 ../input/viscosity_test -mechanics
==15940== Memcheck, a memory error detector
==15940== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==15940== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==15940== Command: mpirun -np 4 ./m4_code_9.1.1 ../input/viscosity_test 
-mechanics
==15940==
==15940== Warning: noted but unhandled ioctl 0x5441 with no size/direction 
hints.
==15940==    This could cause spurious value errors to appear.
==15940==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
==15944== Warning: invalid file descriptor 1024 in syscall close()
==15944== Warning: invalid file descriptor 1025 in syscall close()
==15944== Warning: invalid file descriptor 1026 in syscall close()
==15944== Warning: invalid file descriptor 1027 in syscall close()
==15944==    Use --log-fd=<number> to select an alternative log fd.
==15944== Warning: invalid file descriptor 1028 in syscall close()
==15944== Warning: invalid file descriptor 1029 in syscall close()
==15945== Warning: invalid file descriptor 1024 in syscall close()
==15945== Warning: invalid file descriptor 1025 in syscall close()
==15945== Warning: invalid file descriptor 1026 in syscall close()
==15945== Warning: invalid file descriptor 1027 in syscall close()
==15945==    Use --log-fd=<number> to select an alternative log fd.
==15945== Warning: invalid file descriptor 1028 in syscall close()
==15945== Warning: invalid file descriptor 1029 in syscall close()
==15945== Warning: invalid file descriptor 1030 in syscall close()
==15946== Warning: invalid file descriptor 1024 in syscall close()
==15946== Warning: invalid file descriptor 1025 in syscall close()
==15946== Warning: invalid file descriptor 1026 in syscall close()
==15946== Warning: invalid file descriptor 1027 in syscall close()
==15946==    Use --log-fd=<number> to select an alternative log fd.
==15946== Warning: invalid file descriptor 1028 in syscall close()
==15946== Warning: invalid file descriptor 1029 in syscall close()
==15947== Warning: invalid file descriptor 1024 in syscall close()
==15947== Warning: invalid file descriptor 1025 in syscall close()
==15947== Warning: invalid file descriptor 1026 in syscall close()
==15947== Warning: invalid file descriptor 1027 in syscall close()
==15947==    Use --log-fd=<number> to select an alternative log fd.
==15947== Warning: invalid file descriptor 1028 in syscall close()
==15947== Warning: invalid file descriptor 1029 in syscall close()


  Welcome to m4_code, a multiphysics solver for several class of problems 
developed at the m4lab @ UNIBS.
  The problem that is going to be solved is: Mechanics for the data set 
../input/viscosity_test

  Problem LargeStrainMechanicalProblem_OneField defined  

   Reading material parameters from file ../input/viscosity_test.materials 
...  done
   Reading time discretization parameters from file 
../input/viscosity_test.time_discretization ...  done

  Time = 0.0000, step =        0
   Initialization
   Reading discretization from file ../input/viscosity_test.msh ...  done
   Number of active cells:       24 (by partition: 6+6+6+6)
   Number of degrees of freedom: 153 (by partition: 63+30+33+27)
   Dirichlet faces: 36, Neumann faces (with non-zero tractions): 0, contact 
faces: 0
    NR it. 0, Assembling..., convergence achieved.
    Writing output...,     0.00 s. Elapsed time     0.00 s.

  Time = 0.0100, step =        1
  Cycle 0:
   Number of active cells:       24 (by partition: 6+6+6+6)
   Number of degrees of freedom: 153 (by partition: 63+30+33+27)
   Dirichlet faces: 36, symmetry faces: 0
   Dirichlet faces: 36, Neumann faces (with non-zero tractions): 0, contact 
faces: 0
    NR it. 0, Assembling...,     0.00 s, norm of residual is 
85544.434331779601052
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 1, Assembling...,     0.00 s, norm of residual is   
 2.878811227221835 residual / initial_residual    0.000033652817389
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 2, Assembling...,     0.00 s, norm of residual is   
 1.251122517879704 residual / initial_residual    0.000014625411082
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 3, Assembling...,     0.00 s, norm of residual is   
 0.589683284238633 residual / initial_residual    0.000006893298072
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 4, Assembling...,     0.00 s, norm of residual is   
 0.286154795390284 residual / initial_residual    0.000003345101264
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 5, Assembling...,     0.00 s, norm of residual is   
 0.140996840962549 residual / initial_residual    0.000001648229275
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 6, Assembling...,     0.00 s, norm of residual is   
 0.070130790642500 residual / initial_residual    0.000000819817107, 
convergence achieved.
    Writing output...,     0.00 s. Elapsed time     0.01 s.

  Time = 0.0200, step =        2
    NR it. 0, Assembling...,     0.00 s, norm of residual is 
85527.166469113071798
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 1, Assembling...,     0.00 s, norm of residual is   
 2.833292747597304 residual / initial_residual    0.000033127401089
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 2, Assembling...,     0.00 s, norm of residual is   
 1.237625339847165 residual / initial_residual    0.000014470552351
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 3, Assembling...,     0.00 s, norm of residual is   
 0.583941014065106 residual / initial_residual    0.000006827550101
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 4, Assembling...,     0.00 s, norm of residual is   
 0.283285692816626 residual / initial_residual    0.000003312230540
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 5, Assembling...,     0.00 s, norm of residual is   
 0.139462610870105 residual / initial_residual    0.000001630623539
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 6, Assembling...,     0.00 s, norm of residual is   
 0.069287951261074 residual / initial_residual    0.000000810127988, 
convergence achieved.
    Writing output...,     0.00 s. Elapsed time     0.01 s.

  Time = 0.0300, step =        3
    NR it. 0, Assembling...,     0.00 s, norm of residual is 
85508.630080626477138
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 1, Assembling...,     0.00 s, norm of residual is   
 2.762016583926737 residual / initial_residual    0.000032301027175
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 2, Assembling...,     0.00 s, norm of residual is   
 1.208785226058421 residual / initial_residual    0.000014136412020
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 3, Assembling...,     0.00 s, norm of residual is   
 0.570076433206978 residual / initial_residual    0.000006666887689
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 4, Assembling...,     0.00 s, norm of residual is   
 0.276241018233497 residual / initial_residual    0.000003230563020
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 5, Assembling...,     0.00 s, norm of residual is   
 0.135804501324608 residual / initial_residual    0.000001588196433
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 6, Assembling...,     0.00 s, norm of residual is   
 0.067369573885574 residual / initial_residual    0.000000787868708, 
convergence achieved.
    Writing output...,     0.00 s. Elapsed time     0.01 s.

  Time = 0.0400, step =        4
    NR it. 0, Assembling...,     0.00 s, norm of residual is 
85488.917497585309320
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 1, Assembling...,     0.00 s, norm of residual is   
 2.695011376135198 residual / initial_residual    0.000031524687118
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 2, Assembling...,     0.00 s, norm of residual is   
 1.181258398115642 residual / initial_residual    0.000013817678744
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 3, Assembling...,     0.00 s, norm of residual is   
 0.556795954922090 residual / initial_residual    0.000006513077615
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 4, Assembling...,     0.00 s, norm of residual is   
 0.269504925293314 residual / initial_residual    0.000003152513018
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 5, Assembling...,     0.00 s, norm of residual is   
 0.132319587221657 residual / initial_residual    0.000001547798137
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 6, Assembling...,     0.00 s, norm of residual is   
 0.065549752241302 residual / initial_residual    0.000000766763157, 
convergence achieved.
    Writing output...,     0.00 s. Elapsed time     0.01 s.

  Time = 0.0500, step =        5
    NR it. 0, Assembling...,     0.00 s, norm of residual is 
85468.116351285294513
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 1, Assembling...,     0.00 s, norm of residual is   
 2.632626127873656 residual / initial_residual    0.000030802435344
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 2, Assembling...,     0.00 s, norm of residual is   
 1.155304911256316 residual / initial_residual    0.000013517378884
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 3, Assembling...,     0.00 s, norm of residual is   
 0.544238373865104 residual / initial_residual    0.000006367735679
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 4, Assembling...,     0.00 s, norm of residual is   
 0.263146637278587 residual / initial_residual    0.000003078886590
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 5, Assembling...,     0.00 s, norm of residual is   
 0.129041233945870 residual / initial_residual    0.000001509817221
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.00 s, updating q. p. data,     0.00 s.
    NR it. 6, Assembling...,     0.00 s, norm of residual is   
 0.063844231873425 residual / initial_residual    0.000000746994723, 
convergence achieved.
    Writing output...,     0.00 s. Elapsed time     0.01 s.

  Done.

==15940==
==15940== HEAP SUMMARY:
==15940==     in use at exit: 702,101 bytes in 9,911 blocks
==15940==   total heap usage: 43,195 allocs, 33,284 frees, 1,150,113,471 
bytes allocated
==15940==
==15940== 136 bytes in 1 blocks are definitely lost in loss record 30 of 47
==15940==    at 0x4C2FB0F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15940==    by 0x4EFA039: orte_rmaps_base_print_mapping (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4E8BD1A: orte_pmix_server_register_nspace (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4ECC251: orte_odls_base_default_construct_child_list (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4ECFA51: orte_odls_default_launch_local_procs (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4E833A7: orte_daemon_recv (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4F09B0A: orte_rml_base_process_msg (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x5218CF8: event_process_active_single_queue (event.c:1370)
==15940==    by 0x5218CF8: event_process_active (event.c:1440)
==15940==    by 0x5218CF8: opal_libevent2022_event_base_loop (event.c:1644)
==15940==    by 0x109679: orterun (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/bin/orterun)
==15940==    by 0x5602B96: (below main) (libc-start.c:310)
==15940==
==15940== 2,036 (672 direct, 1,364 indirect) bytes in 4 blocks are 
definitely lost in loss record 43 of 47
==15940==    at 0x4C2FB0F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15940==    by 0x4EF75E0: orte_rmaps_base_setup_proc (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4EFF1E4: orte_rmaps_rr_byobj (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4EFE172: orte_rmaps_rr_map (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x4EF4F7F: orte_rmaps_base_map_job (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-rte.so.40.10.5)
==15940==    by 0x5218CF8: event_process_active_single_queue (event.c:1370)
==15940==    by 0x5218CF8: event_process_active (event.c:1440)
==15940==    by 0x5218CF8: opal_libevent2022_event_base_loop (event.c:1644)
==15940==    by 0x109679: orterun (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/bin/orterun)
==15940==    by 0x5602B96: (below main) (libc-start.c:310)
==15940==
==15940== LEAK SUMMARY:
==15940==    definitely lost: 808 bytes in 5 blocks
==15940==    indirectly lost: 1,364 bytes in 16 blocks
==15940==      possibly lost: 0 bytes in 0 blocks
==15940==    still reachable: 699,929 bytes in 9,890 blocks
==15940==         suppressed: 0 bytes in 0 blocks
==15940== Reachable blocks (those to which a pointer was found) are not 
shown.
==15940== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==15940==
==15940== For counts of detected and suppressed errors, rerun with: -v
==15940== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)


albertosalvadori@ubuntu:~/Codes/m4_code/Release$  valgrind --leak-check=yes 
./m4_code_9.1.1 ../input/viscosity_test -mechanics
==16016== Memcheck, a memory error detector
==16016== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16016== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==16016== Command: ./m4_code_9.1.1 ../input/viscosity_test -mechanics
==16016==


  Welcome to m4_code, a multiphysics solver for several class of problems 
developed at the m4lab @ UNIBS.
  The problem that is going to be solved is: Mechanics for the data set 
../input/viscosity_test

  Problem LargeStrainMechanicalProblem_OneField defined  

   Reading material parameters from file ../input/viscosity_test.materials 
...  done
   Reading time discretization parameters from file 
../input/viscosity_test.time_discretization ...  done

  Time = 0.0000, step =        0
   Initialization
   Reading discretization from file ../input/viscosity_test.msh ...  done
   Number of active cells:       24 (by partition: 24)
   Number of degrees of freedom: 153 (by partition: 153)
   Dirichlet faces: 36, Neumann faces (with non-zero tractions): 0, contact 
faces: 0
    NR it. 0, Assembling..., convergence achieved.
    Writing output...,     0.13 s. Elapsed time     1.17 s.

  Time = 0.0100, step =        1
  Cycle 0:
   Number of active cells:       24 (by partition: 24)
   Number of degrees of freedom: 153 (by partition: 153)
   Dirichlet faces: 36, symmetry faces: 0
   Dirichlet faces: 36, Neumann faces (with non-zero tractions): 0, contact 
faces: 0
    NR it. 0, Assembling...,     0.49 s, norm of residual is 
91034.225329364344361
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.12 s, updating q. p. data,     0.02 s.
    NR it. 1, Assembling...,     0.66 s, norm of residual is   
 2.878811227221786 residual / initial_residual    0.000031623394573
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 2, Assembling...,     0.69 s, norm of residual is   
 1.251122517853476 residual / initial_residual    0.000013743430159
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 3, Assembling...,     0.85 s, norm of residual is   
 0.589683284214466 residual / initial_residual    0.000006477599849
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 4, Assembling...,     0.72 s, norm of residual is   
 0.286154795364823 residual / initial_residual    0.000003143375959
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 5, Assembling...,     0.74 s, norm of residual is   
 0.140996840961326 residual / initial_residual    0.000001548833315
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 6, Assembling...,     0.73 s, norm of residual is   
 0.070130790656907 residual / initial_residual    0.000000770378288, 
convergence achieved.
    Writing output...,     0.02 s. Elapsed time     5.20 s.

  Time = 0.0200, step =        2
    NR it. 0, Assembling...,     0.76 s, norm of residual is 
91019.816765709023457
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 1, Assembling...,     0.83 s, norm of residual is   
 2.833292747504541 residual / initial_residual    0.000031128306430
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 2, Assembling...,     0.76 s, norm of residual is   
 1.237625339758325 residual / initial_residual    0.000013597317417
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 3, Assembling...,     0.84 s, norm of residual is   
 0.583941014051878 residual / initial_residual    0.000006415537130
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 4, Assembling...,     0.76 s, norm of residual is   
 0.283285692895102 residual / initial_residual    0.000003112351826
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 5, Assembling...,     0.72 s, norm of residual is   
 0.139462610865597 residual / initial_residual    0.000001532222496
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 6, Assembling...,     0.84 s, norm of residual is   
 0.069287951197439 residual / initial_residual    0.000000761240284, 
convergence achieved.
    Writing output...,     0.02 s. Elapsed time     5.67 s.

  Time = 0.0300, step =        3
    NR it. 0, Assembling...,     0.88 s, norm of residual is 
91004.270071844381164
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 1, Assembling...,     0.84 s, norm of residual is   
 2.762016583840568 residual / initial_residual    0.000030350406433
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 2, Assembling...,     0.86 s, norm of residual is   
 1.208785225800891 residual / initial_residual    0.000013282730853
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 3, Assembling...,     0.86 s, norm of residual is   
 0.570076432979952 residual / initial_residual    0.000006264282242
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 4, Assembling...,     0.85 s, norm of residual is   
 0.276241018094444 residual / initial_residual    0.000003035473147
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 5, Assembling...,     0.85 s, norm of residual is   
 0.135804501308918 residual / initial_residual    0.000001492287133
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 6, Assembling...,     0.85 s, norm of residual is   
 0.067369573855780 residual / initial_residual    0.000000740290250, 
convergence achieved.
    Writing output...,     0.03 s. Elapsed time     6.15 s.

  Time = 0.0400, step =        4
    NR it. 0, Assembling...,     0.82 s, norm of residual is 
90987.672485545655945
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 1, Assembling...,     0.77 s, norm of residual is   
11.855541044511227 residual / initial_residual    0.000130298321967
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 2, Assembling...,     0.81 s, norm of residual is   
 5.024194956080943 residual / initial_residual    0.000055218413867
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 3, Assembling...,     0.73 s, norm of residual is   
 2.386446299837078 residual / initial_residual    0.000026228237679
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 4, Assembling...,     0.74 s, norm of residual is   
 1.169642298363859 residual / initial_residual    0.000012854953494
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 5, Assembling...,     0.83 s, norm of residual is   
 0.580900730478848 residual / initial_residual    0.000006384389386
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 6, Assembling...,     0.83 s, norm of residual is   
 0.290601814573314 residual / initial_residual    0.000003193859197
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 7, Assembling...,     0.77 s, norm of residual is   
 0.146033689679270 residual / initial_residual    0.000001604983243
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 8, Assembling...,     0.71 s, norm of residual is   
 0.073608751294460 residual / initial_residual    0.000000808996969, 
convergence achieved.
    Writing output...,     0.02 s. Elapsed time     7.20 s.

  Time = 0.0500, step =        5
    NR it. 0, Assembling...,     0.71 s, norm of residual is 
90970.106811760648270
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 1, Assembling...,     0.77 s, norm of residual is   
11.664731903434573 residual / initial_residual    0.000128225988869
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 2, Assembling...,     0.84 s, norm of residual is   
 4.931906111288249 residual / initial_residual    0.000054214579757
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 3, Assembling...,     0.68 s, norm of residual is   
 2.341475280102340 residual / initial_residual    0.000025738952741
                 Jacobi - Bicgstab , solver converged in 8 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 4, Assembling...,     0.66 s, norm of residual is   
 1.146702999151362 residual / initial_residual    0.000012605272648
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 5, Assembling...,     0.69 s, norm of residual is   
 0.568910548063869 residual / initial_residual    0.000006253818622
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 6, Assembling...,     0.79 s, norm of residual is   
 0.284260458923041 residual / initial_residual    0.000003124767782
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 7, Assembling...,     0.81 s, norm of residual is   
 0.142660328891304 residual / initial_residual    0.000001568211074
                 Jacobi - Bicgstab , solver converged in 7 iterations,     
0.01 s, updating q. p. data,     0.01 s.
    NR it. 8, Assembling...,     0.77 s, norm of residual is   
 0.071808965799463 residual / initial_residual    0.000000789368819, 
convergence achieved.
    Writing output...,     0.02 s. Elapsed time     6.89 s.

  Done.

==16016==
==16016== HEAP SUMMARY:
==16016==     in use at exit: 128,896 bytes in 78 blocks
==16016==   total heap usage: 120,131 allocs, 120,053 frees, 58,222,758 
bytes allocated
==16016==
==16016== 79 (64 direct, 15 indirect) bytes in 1 blocks are definitely lost 
in loss record 35 of 63
==16016==    at 0x4C2FB0F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16016==    by 0x20C6CCC8: mca_mpool_hugepage_open (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-pal.so.40.10.5)
==16016==    by 0x20C176A9: mca_base_framework_components_open (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-pal.so.40.10.5)
==16016==    by 0x20C6B491: mca_mpool_base_open (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-pal.so.40.10.5)
==16016==    by 0x20C23110: mca_base_framework_open (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libopen-pal.so.40.10.5)
==16016==    by 0x11F669F9: ompi_mpi_init (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libmpi.so.40.10.4)
==16016==    by 0x11DF6104: PMPI_Init_thread (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openmpi-3.1.5-i73g2jkrcifjgtsishpfwloiu5syp244/lib/libmpi.so.40.10.4)
==16016==    by 0xCB60C0E: 
dealii::Utilities::MPI::MPI_InitFinalize::MPI_InitFinalize(int&, char**&, 
unsigned int) (in 
/home/dealii/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/dealii-9.1.1-rwy6s7qygaqdwov6gm33spdz5fjaancw/lib/libdeal_II.so.9.1.1)
==16016==    by 0x19DBB8: main (in 
/home/albertosalvadori/Codes/m4_code/Release/m4_code_9.1.1)
==16016==
==16016== LEAK SUMMARY:
==16016==    definitely lost: 64 bytes in 1 blocks
==16016==    indirectly lost: 15 bytes in 1 blocks
==16016==      possibly lost: 0 bytes in 0 blocks
==16016==    still reachable: 128,817 bytes in 76 blocks
==16016==         suppressed: 0 bytes in 0 blocks
==16016== Reachable blocks (those to which a pointer was found) are not 
shown.
==16016== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==16016==
==16016== For counts of detected and suppressed errors, rerun with: -v
==16016== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)


Il giorno venerdì 24 luglio 2020 alle 21:37:02 UTC+2 d.arnd...@gmail.com ha 
scritto:

> Alberto,
>
> Have you tried running valgrind (in parallel) on your code? Admittedly, I 
> expect quite a bit of false-positives from the MPI library but it should 
> still help.
>
> Best,
> Daniel
>
> Am Fr., 24. Juli 2020 um 12:07 Uhr schrieb Alberto Salvadori <
> alberto....@unibs.it>:
>
>> Dear community,
>>
>> if I am not mistaking my analysis, it turned out that the memory loss is 
>> caused by this call:
>>
>> BiCG.solve (this->system_matrix, distributed_incremental_displacement, 
>> this->system_rhs, preconditioner);
>>
>> because if I turn it off the top command shows no change in the RES at 
>> all.
>>
>> Maybe this is of use. Thanks in advance.
>>
>> Alberto
>>
>> Il giorno venerdì 24 luglio 2020 alle 11:32:13 UTC+2 Alberto Salvadori ha 
>> scritto:
>>
>>> Dear community
>>>
>>> I have written the simple code below for solving a system using PETSc,
>>> having defined 
>>>
>>> Vector<double> incremental_displacement;
>>> Vector<double> accumulated_displacement;
>>>
>>> in the class LargeStrainMechanicalProblem_OneField<dim>.
>>>
>>> It turns out that this code produces a memory loss, quite significant 
>>> since I am solving my system thousands of times, eventually inducing the 
>>> run to fail. I am not sure what is causing this issue and how to solve it, 
>>> maybe more experienced users than myself can catch the problem with a snap 
>>> of fingers. 
>>>
>>> I have verified the issue on my mac (Catalina) as well as on linux 
>>> ubuntu (4.15.0), using deal.ii 9.1.1.
>>> Apparently the issue reveals only when mpi is invoked with more than one 
>>> processor, whereas it does not emerge when running in serial or by mpirun 
>>> -np 1.
>>>
>>> Thanks in advance
>>>
>>> Alberto
>>>
>>> =========
>>>
>>>
>>>
>>>
>>> template <int dim> 
>>> unsigned int LargeStrainMechanicalProblem_OneField<dim> 
>>> :: 
>>> solve ( 
>>> const unsigned penaltyAmplification 
>>> ) 
>>>
>>> // 
>>> // this simplified version of solve has been written to find out 
>>> // the source of memory leak in parallel 
>>> // 
>>>
>>> { 
>>>
>>> PETScWrappers::MPI::Vector distributed_incremental_displacement 
>>> (this>locally_owned_dofs,this->mpi_communicator); 
>>>
>>> distributed_incremental_displacement = incremental_displacement; 
>>>
>>> size_t 
>>> bicgstab_max_iterations = 20000 ; 
>>>
>>> double 
>>> tolerance = 1e-10 * this->system_rhs.l2_norm() ; 
>>>
>>> unsigned solver_control_last_step; 
>>>
>>> SolverControl bicgstab_solver_control ( bicgstab_max_iterations , 
>>> tolerance ); 
>>>
>>> PETScWrappers::PreconditionJacobi preconditioner( this->system_matrix ); 
>>>
>>> this->pcout << " Bicgstab " << std::flush ; 
>>>
>>> PETScWrappers::SolverBicgstab BiCG (bicgstab_solver_control, 
>>> this->mpi_communicator); 
>>>
>>> BiCG.solve (this->system_matrix, distributed_incremental_displacement, 
>>> this->system_rhs, preconditioner); 
>>>
>>> solver_control_last_step = bicgstab_solver_control.last_step(); 
>>>
>>> incremental_displacement = distributed_incremental_displacement; 
>>> accumulated_displacement += incremental_displacement; 
>>> this->hanging_node_constraints.distribute (accumulated_displacement); 
>>>
>>> return solver_control_last_step; 
>>>
>>> }
>>>
>>
>>
>> Informativa sulla Privacy: http://www.unibs.it/node/8155
>>
>> -- 
>> 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 dealii+un...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/24389a5b-59ba-4f32-8c4b-06d23d0fe2ban%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/dealii/24389a5b-59ba-4f32-8c4b-06d23d0fe2ban%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
-- 


Informativa sulla Privacy: http://www.unibs.it/node/8155 
<http://www.unibs.it/node/8155>

-- 
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 dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/198cb5c7-7c39-4b4a-bba8-88dfaad20b97n%40googlegroups.com.

Reply via email to