Hi Martin,

yes it does... as I wrote in the case dim=2 and spacedim=1 its working...

Best Uwe




Sent from Samsung MobileMartin Steigemann <[email protected]> wrote:Hi Uwe,
 
does your vector x contains all locally_relevant components and not only the 
locally_owned ones? DataOut needs also the ghost values, so first you should 
check this.
 
Maybe this helps,
 
Best,
Martin
 
 
Von: Uwe Köcher <[email protected]>
An: [email protected] 
Gesendet: 21:55 Donnerstag, 26.Juli 2012
Betreff: [deal.II] Problem with vtu output on multiple processes (MPI/Trilinos)

Hi,

I want to write a distributed vector (TrilionsWrappers::MPI::Vector)
of a FESystem(fe, 3).
So my dim=3 and the spacedim=3.

When I'm (essentially) doing:
DataOut<dim> data_out;
data_out.attach_dof_handler(dof);
data_out.add_data_vector(x, name);
data_out.build_patches();

I get an exception, thrown in the deep library, that one 
Function wants to access a non-locally owned element of
the vector:

**********************************************************************
An error occurred in line <205> of file
</home/koecheru/toolbox/deal.II/svn/source/lac/trilinos_vector_base.cc>
in function
    double dealii::TrilinosWrappers::VectorBase::operator()(unsigned
int) const
The violated condition was: 
    false
The name and call sequence of the exception was:
    ExcAccessToNonlocalElement(index, local_range().first,
local_range().second-1)
Additional Information: 
You tried to access element 111 of a distributed vector, but only
entries 648 through 1088 are stored locally and can be accessed.
**********************************************************************

If I'm running on only one process everything is fine
(due to the process owns all elements of the vector).

Please note, my output-function is running fine on multiple processes
with dim=2 and spacedim=1 in another application.

And a second note: Without file-output the application is running
fine on multiple processes.

Any help would be nice.

Best Uwe.

Here the complete stacktrace:
**********************************************************************
Stacktrace:
-----------
#0  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
dealii::TrilinosWrappers::VectorBase::operator()(unsigned int) const
#1  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre: void
dealii::internal::DoFCellAccessor::Implementation::get_dof_values<3, 3,
dealii::TrilinosWrappers::MPI::Vector,
double*>(dealii::DoFCellAccessor<dealii::DoFHandler<3, 3> > const&,
dealii::TrilinosWrappers::MPI::Vector const&, double*, double*)
#2  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre: void
dealii::DoFCellAccessor<dealii::DoFHandler<3, 3>
>::get_dof_values<dealii::TrilinosWrappers::MPI::Vector,
double>(dealii::TrilinosWrappers::MPI::Vector const&,
dealii::Vector<double>&) const
#3  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre: void
dealii::DoFCellAccessor<dealii::DoFHandler<3, 3>
>::get_interpolated_dof_values<dealii::TrilinosWrappers::MPI::Vector,
double>(dealii::TrilinosWrappers::MPI::Vector const&,
dealii::Vector<double>&) const
#4  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
dealii::FEValuesBase<3,
3>::CellIterator<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
 3> > > >::get_interpolated_dof_values(dealii::TrilinosWrappers::MPI::Vector 
const&, dealii::Vector<double>&) const
#5  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre: void
dealii::FEValuesBase<3,
3>::get_function_values<dealii::TrilinosWrappers::MPI::Vector,
double>(dealii::TrilinosWrappers::MPI::Vector const&,
std::vector<dealii::Vector<double>,
std::allocator<dealii::Vector<double> > >&) const
#6  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
dealii::internal::DataOut::DataEntry<dealii::DoFHandler<3, 3>,
dealii::TrilinosWrappers::MPI::Vector>::get_function_values(dealii::FEValuesBase<3,
 3> const&, std::vector<dealii::Vector<double>, 
std::allocator<dealii::Vector<double> > >&) const
#7  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
dealii::DataOut<3, dealii::DoFHandler<3, 3>
>::build_one_patch(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)
#8  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
std::_Mem_fn<void (dealii::DataOut<3, dealii::DoFHandler<3, 3>
>::*)(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)>::operator()(dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>&, 
>std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3, 
>3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion) const
#9  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre: void
std::_Bind<std::_Mem_fn<void (dealii::DataOut<3, dealii::DoFHandler<3,
3>
>::*)(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)> (dealii::DataOut<3, dealii::DoFHandler<3, 3> >, 
>std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, 
>dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)>::__call<void, 
>std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3, 
>3> > >, unsigned int>*&, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, 0, 1, 2, 3, 
>4>(std::tuple<std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int>*&, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&>&&, std::_Index_tuple<0, 1, 2, 3, 4>)
#10  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
void std::_Bind<std::_Mem_fn<void (dealii::DataOut<3,
dealii::DoFHandler<3, 3>
>::*)(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)> (dealii::DataOut<3, dealii::DoFHandler<3, 3> >, 
>std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, 
>dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)>::operator()<std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int>*&, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, 
>void>(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int>*&&&, dealii::internal::DataOut::ParallelData<3, 3>&&&, 
>dealii::DataOutBase::Patch<3, 3>&&&)
#11  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
void dealii::WorkStream::run<std::_Bind<std::_Mem_fn<void
(dealii::DataOut<3, dealii::DoFHandler<3, 3>
>::*)(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)> (dealii::DataOut<3, dealii::DoFHandler<3, 3> >, 
>std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, 
>dealii::DataOut<3, dealii::DoFHandler<3, 3> >::CurvedCellRegion)>, 
>std::_Bind<void (*(std::_Placeholder<1>, 
>std::reference_wrapper<std::vector<dealii::DataOutBase::Patch<3, 3>, 
>std::allocator<dealii::DataOutBase::Patch<3, 3> > > 
>>))(dealii::DataOutBase::Patch<3, 3> const&, 
>std::vector<dealii::DataOutBase::Patch<3, 3>, 
>std::allocator<dealii::DataOutBase::Patch<3, 3> > >&)>, 
>std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3, 
>3> > >, unsigned int>*, dealii::internal::DataOut::ParallelData<3, 3>, 
>dealii::DataOutBase::Patch<3, 3> 
>>(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3, 
>3> > >, unsigned int>* const&, 
>dealii::identity<std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int>*>::type const&, std::_Bind<std::_Mem_fn<void 
>(dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::*)(std::pair<dealii::TriaIterator<dealii::DoFCellAccessor<dealii::DoFHandler<3,
> 3> > >, unsigned int> const*, dealii::internal::DataOut::ParallelData<3, 3>&, 
>dealii::DataOutBase::Patch<3, 3>&, dealii::DataOut<3, dealii::DoFHandler<3, 3> 
>>::CurvedCellRegion)> (dealii::DataOut<3, dealii::DoFHandler<3, 3> >, 
>std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, 
>dealii::DataOut<3, dealii::DoFHandler<3, 3> >::CurvedCellRegion)>, 
>std::_Bind<void (*(std::_Placeholder<1>, 
>std::reference_wrapper<std::vector<dealii::DataOutBase::Patch<3, 3>, 
>std::allocator<dealii::DataOutBase::Patch<3, 3> > > 
>>))(dealii::DataOutBase::Patch<3, 3> const&, 
>std::vector<dealii::DataOutBase::Patch<3, 3>, 
>std::allocator<dealii::DataOutBase::Patch<3, 3> > >&)>, 
>dealii::internal::DataOut::ParallelData<3, 3> const&, 
>dealii::DataOutBase::Patch<3, 3> const&, unsigned int, unsigned int)
#12  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
dealii::DataOut<3, dealii::DoFHandler<3, 3>
>::build_patches(dealii::Mapping<3, 3> const&, unsigned int,
dealii::DataOut<3, dealii::DoFHandler<3, 3> >::CurvedCellRegion)
#13  /home/koecheru/toolbox/deal.II/svn/lib/libdeal_II.g.so.7.2.pre:
dealii::DataOut<3, dealii::DoFHandler<3, 3> >::build_patches(unsigned
int)
#14  ./DTM++:
_ZN5DTMpp10DataOutput6WriterILi3ELi3EN6dealii16TrilinosWrappers3MPI6VectorEE15vtu_in_parallelESsSsjRS5_RNS2_10DoFHandlerILi3ELi3EEEji+0x276)
 [0x456a66]
#15  ./DTM++:
_ZN5DTMpp8parallel11distributed2CG18ElasticWaveNewmarkILi3ELi3EE5solveEdd+0x327)
 [0x453d01]
#16  ./DTM++:
_ZN5DTMpp8parallel11distributed2CG18ElasticWaveNewmarkILi3ELi3EE3runEdd
+0x37) [0x4518c1]
#17  ./DTM++: main+0x272) [0x44cb77]
#18  /lib64/libc.so.6: __libc_start_main
#19  ./DTM++: ) [0x448df9]
**********************************************************************


-- 
Dipl.-Ing. Uwe Köcher

Helmut Schmidt Universität
Universität der Bundeswehr

Fakultät für Maschinenbau,
Professur für Numerische Verfahren in den Rechnergestützten
Ingenieurwissenschaften.

Holstenhofweg 85
22043 Hamburg

Tel:  +49 40 6541 - 3241
Raum:  H1 - R.1225
Email: [email protected]
Web:  http://www.hsu-hh.de/mb-mathe

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii


_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to