Dear Praveen,

> I finally got around to finishing adding MeshWorker into step-33. I
> changed right_hand_side to a TrilinosWrappers::Vector type.
> 
> 
> But now I get following error
> 
> 
> $ make
> ============================ Remaking Makefile.dep
> ==============debug========= claw.cc  ->  claw.g.o
> claw.cc: In member function ‘std::pair<unsigned int, double>
> ConservationLaw<dim>::solve(dealii::Vector<double>&)’:
> claw.cc:263: error: ‘class dealii::TrilinosWrappers::Vector’ has no
> member named ‘begin’
> make: *** [claw.g.o] Error 1
> 
>          Epetra_Vector b(View, system_matrix.range_partitioner(),
> 
>                          right_hand_side.begin());

The problem is that you are already using a Trilinos vector, whereas the
code expects you to have a vector with a begin() method (like
dealii::Vector<double>). But then it is already easier: All you need to
do is to replace the two lines
solver.SetRHS(&b);
solver.SetLHS(&x);
by
solver.SetRHS(&right_hand_side.trilinos_vector());
solver.SetLHS(&newton_update.trilinos_vector());

Note how you can access the underlying Epetra_Vector from
TrilinosWrappers::Vector. Does this help?

Best,
Martin


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

Reply via email to