Thanks. It helped with the right_hand_side problem.

I have kept newton_update as a Vector<double> since I dont pass this to
MeshWorker.

But I again get the original error

$ make
============================ Remaking Makefile.dep
==============debug========= claw.cc  ->  claw.g.o
==============debug========= integrator.cc  ->  integrator.g.o
============================ Linking step-33
Undefined symbols:
  "void
dealii::ConstraintMatrix::distribute_local_to_global<dealii::TrilinosWrappers::SparseMatrix>(dealii::FullMatrix<double>
const&, std::vector<unsigned int, std::allocator<unsigned int> > const&,
std::vector<unsigned int, std::allocator<unsigned int> > const&,
dealii::TrilinosWrappers::SparseMatrix&) const", referenced from:

 
dealii::MeshWorker::Assembler::MatrixSimple<dealii::TrilinosWrappers::SparseMatrix>::assemble(dealii::FullMatrix<double>
const&, std::vector<unsigned int, std::allocator<unsigned int> > const&,
std::vector<unsigned int, std::allocator<unsigned int> > const&)in claw.g.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [step-33] Error 1


even though step-33 does not use ConstraintMatrix :-(

praveen

On Mon, Mar 14, 2011 at 8:44 PM, Martin Kronbichler <
[email protected]> wrote:

>
> > 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?
>
> One remark: You need of course to delete the code where x and b are
> created, too.
>
> Best,
> Martin
>
>
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to