Also, here's the backtrace for where step-19 is dying on the *.d2 file
(I'm using version 7.0.1 btw), .... some sort of dimension mismatch
for the fesystem ....
#0 0x000000346870885c in _Unwind_RaiseException () from /lib64/libgcc_s.so.1
#1 0x0000003468baf296 in __cxa_throw () from /usr/lib64/libstdc++.so.6
#2 0x0000002a9990cab4 in
dealii::deal_II_exceptions::internals::issue_error_throw<dealii::DataOutReader<2,
2>::ExcIncompatibleDimensions> (file=0x2a9aadbbc0
"/bevo2/running/deal.ii_7.0.1/deal.II/source/base/data_out_base.cc",
line=5704, function=0x2a9aafa060 "void dealii::DataOutReader<dim,
spacedim>::read(std::basic_istream<char, std::char_traits<char>> &)
[with dim = 2, spacedim = 2]",
cond=0x2a9aaf9e80 "(dimension_info.first == dim) &&
(dimension_info.second == spacedim)", exc_name=0x2a9aaf9e20
"ExcIncompatibleDimensions (dimension_info.first, dim,
dimension_info.second, spacedim)", e=
{<dealii::ExceptionBase> = {<exception> = {_vptr.exception =
0x2a9bcbef60}, file = 0x2a9aadbbc0
"/bevo2/running/deal.ii_7.0.1/deal.II/source/base/data_out_base.cc",
line = 5704, function = 0x2a9aafa060 "void dealii::DataOutReader<dim,
spacedim>::read(std::basic_istream<char, std::char_traits<char>> &)
[with dim = 2, spacedim = 2]", cond = 0x2a9aaf9e80
"(dimension_info.first == dim) && (dimension_info.second ==
spacedim)", exc = 0x2a9aaf9e20 "ExcIncompatibleDimensions
(dimension_info.first, dim, dimension_info.second, spacedim)",
stacktrace = 0x5a5390, n_stacktrace_frames = 8}, arg1 = 4279959, arg2
= 2, arg3 = 0, arg4 = 2})
at
/bevo2/running/deal.ii_7.0.1/deal.II/include/deal.II/base/exceptions.h:303
#3 0x0000002a999cdec2 in dealii::DataOutReader<2, 2>::read
(this=0x7fbfffe5d8, in=@0x7fbfffe108) at
/bevo2/running/deal.ii_7.0.1/deal.II/source/base/data_out_base.cc:5704
#4 0x0000000000417fd7 in Step19::do_convert<2, 2> () at step-19.cc:509
#5 0x00000000004111fd in Step19::convert () at step-19.cc:604
#6 0x00000000004114d7 in main (argc=5, argv=0x7fbfffee28) at step-19.cc:650
On Sat, Apr 14, 2012 at 8:42 PM, pleramorphyllactic
<[email protected]> wrote:
> Hi guys,
>
> Quick question, I hope someone can help with. I'm using fesystem with
> two components: one is a scalar component, the other a vector
> component. In serial I'm having no trouble outputing data doing the
> following type of thing:
>
>
> DataOut<dim,DoFHandler<dim> > data_out;
> data_out0.attach_dof_handler (*(dof_handler[k]));
> data_out0.add_data_vector (subdomain_solution[k],
> hd<dim>::component_names (k),
> DataOut<dim, DoFHandler<dim> >::type_dof_data,
> hd<dim>::component_interpretation ());
>
>
> std::ostringstream filename;
> filename << "solution0-"
> << cycle
> << ".vtk";
>
> std::ofstream output (filename.str().c_str());
> data_out.write_vtk (output);
>
> where the component interpretation works fine, and here's the pseudo flow:
>
> if(k>=0){
> std::vector<std::string> names;
> std::ostringstream parser;
> parser << "alpha_" << (k);
> names.push_back(parser.str());
> for(unsigned int j=0;j<dim;j++){
> std::ostringstream parser;
> parser << "sigma_" << (k) << "_<" << (j) << ">";
> names.push_back(parser.str());
> }
>
> std::vector<DataComponentInterpretation::DataComponentInterpretation>
> data_component_interpretation;
>
> data_component_interpretation.push_back(DataComponentInterpretation::component_is_scalar);
> for(unsigned int j=0;j<dim;j++){
>
> data_component_interpretation.push_back(DataComponentInterpretation::component_is_part_of_vector);
> }
> return data_component_interpretation;
>
> The problem is, when I'm running over many processors using petsc and
> mpi, this output gives processor specific data, and isn't really
> useful. I've tried the style used in step-40 and step-18, but in the
> former case I get an error on the vtu/pvtu files where paraview can't
> load them (, and in the ladder step-19 kicks an exception and can't
> convert. I'm guessing it might have something to do with the fact
> that the fesystem has one scalar component and one vector component?
> My preference would be to have something like used in step-18. Here's
> what I've tried:
>
> for(unsigned int k=0; k<alphadim; k++){
>
>
> if(k==0){
>
>
> FilteredDataOut<dim> data_out0(this_mpi_process);
>
> data_out0.attach_dof_handler (*(dof_handler[k]));
> data_out0.add_data_vector (subdomain_solution[k],
> rmhd<dim>::component_names (k),
> DataOut<dim, DoFHandler<dim> >::type_dof_data,
> rmhd<dim>::component_interpretation ());
>
> std::vector<unsigned int> partition_int (triangulation.n_active_cells());
> GridTools::get_subdomain_association (triangulation, partition_int);
> const Vector<double> partitioning(partition_int.begin(),
> partition_int.end());
> data_out0.add_data_vector (partitioning, "partitioning");
>
> data_out0.build_patches ();
>
> std::ostringstream filename;
> filename << "solution-";
> filename << std::setfill('0');
> filename.setf(std::ios::fixed, std::ios::floatfield);
> filename << std::setw(9) << std::setprecision(4) << cycle;
>
> if (n_mpi_processes != 1)
> {
> AssertThrow (n_mpi_processes < 1000, ExcNotImplemented());
>
> filename << '-';
> filename << std::setfill('0');
> filename << std::setw(3) << this_mpi_process;
> }
>
> filename << data_out0.default_suffix(DataOut<dim>::deal_II_intermediate);
>
> std::ofstream output (filename.str().c_str());
> data_out0.write_deal_II_intermediate (output);
> }
>
> The *.d2 files print out, and look reasonable to me when I open them,
> but ../../../step-19/step-19 solution-000000000.d1 -x gmv test1.gmv
> aborts without converting.
>
> An error occurred in line <580> of file <step-19.cc> in function
> void Step19::convert()
> The violated condition was:
> input
> The name and call sequence of the exception was:
> ExcIO()
> Additional Information:
> (none)
>
> I'm not sure at present how to fix this.
>
> Many thanks,
> Evan
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii