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

Reply via email to