Hi al,
I am a freshman in dealii. I have installed Dealii 9.4.2 on 22.04. The senior wrote code on the old version of dealii, so I made changes to his code to adapt to the new version of dealii, but I encountered some problems. The function(locally_owned_elements()) where the error code is located has been deleted, but this error still occurs. I want to know where this problem comes from and how I can solve it. Thanks in advance!
Regard,
Yi
Error Message
qincai@qincai-OMEN:~/桌面/cracks-master_mod版本更新$ mpirun -n 8 ./cracks parameters_ring.prm
Running on 8 cores
Cells: 442
DoFs: 5440 solid + 2720 phase + 2720 pressure = 10880
===================================================================
Parameters
==========
h (min): 0.0415041
k: 4.15041e-12
eps: 0.166016
G_c: 1.2
gamma penal: 0
Poisson nu: 0.2
E modulus: 10000
Lame mu: 4166.67
Lame lambda: 2777.78
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
--------------------------------------------------------
An error occurred in line <1467> of file </home/qincai/dealii-candi/deal.II-v9.4.2/include/deal.II/lac/trilinos_vector.h> in function
dealii::IndexSet dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
The violated condition was:
owned_elements.size() == size()
Additional information:
The locally owned elements have not been properly initialized! This
happens for example if this object has been initialized with exactly
one overlapping IndexSet.
Stacktrace:
-----------
#0 ./cracks: dealii::TrilinosWrappers::MPI::Vector::locally_owned_elements() const
#1 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2:
#2 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: dealii::internal::DataOutImplementation::DataEntry<2, 2, double>::DataEntry<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*)
#3 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: std::__detail::_MakeUniq<dealii::internal::DataOutImplementation::DataEntry<2, 2, double> >::__single_object std::make_unique<dealii::internal::DataOutImplementation::DataEntry<2, 2, double>, dealii::DoFHandler<2, 2> const*, dealii::TrilinosWrappers::MPI::BlockVector const*, dealii::DataPostprocessor<2> const*>(dealii::DoFHandler<2, 2> const*&&, dealii::TrilinosWrappers::MPI::BlockVector const*&&, dealii::DataPostprocessor<2> const*&&)
#4 /home/qincai/dealii-candi/deal.II-v9.4.2/lib/libdeal_II.g.so.9.4.2: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::DoFHandler<2, 2> const&, dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#5 ./cracks: void dealii::DataOut_DoFData<2, 2, 2, 2>::add_data_vector<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector const&, dealii::DataPostprocessor<2> const&)
#6 ./cracks: FracturePhaseFieldProblem<2>::output_results() const
#7 ./cracks: FracturePhaseFieldProblem<2>::run()
#8 ./cracks: main
--------------------------------------------------------
Calling MPI_Abort now.
To break execution in a GDB session, execute 'break MPI_Abort' before running. You can also put the following into your ~/.gdbinit:
set breakpoint pending on
break MPI_Abort
set breakpoint pending auto
[qincai-OMEN:05846] 7 more processes have sent help message help-mpi-api.txt / mpi-abort
[qincai-OMEN:05846] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages