dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #23638
Re: [Question #112556]: Linear solver in C++
Question #112556 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/112556
Johan Hake posted a new comment:
Array is included in the dolfin namespace. Exchange Array with dolfin::Array,
or remove all dolfin:: from your code by including
using namespace dolfin;
Have a look in any of the included C++ demos and you get a hint.
Johan
On Tuesday May 31 2011 10:15:57 Nguyen Van Dang wrote:
> Question #112556 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/112556
>
> Nguyen Van Dang posted a new comment:
> I tried a simple program as following:
> #include <iostream>
> #include <dolfin.h>
> int main()
> {
> //declare and initialise
> int degree = 4;
> Array<double> x(degree + 1);
> Array<double> y(degree + 1);
> dolfin::Vector Y(degree + 1);
> //generate test points
> x[0] = 0;
> y[0] = 0;
> x[1] = 1;
> y[1] = -2;
> x[2] = 2;
> y[2] = -1;
> x[3] = 3;
> y[3] = -2;
> x[4] = 4;
> y[4] = 0;
> //set vector
> Y.set_local(y);
> }
> I got the error: 'Array' was not declared in this scope. Can you help me
> again?
> Thanks a lot.
> Nguyen Van Dang
>
> On Tue, May 31, 2011 at 6:55 PM, Johan Hake <
>
> question112556@xxxxxxxxxxxxxxxxxxxxx> wrote:
> > Question #112556 on DOLFIN changed:
> > https://answers.launchpad.net/dolfin/+question/112556
> >
> > Johan Hake posted a new comment:
> >
> > On Tuesday May 31 2011 09:31:05 Nguyen Van Dang wrote:
> > > Question #112556 on DOLFIN changed:
> > > https://answers.launchpad.net/dolfin/+question/112556
> > >
> > > Nguyen Van Dang posted a new comment:
> > > Hello,
> > > When running this program on Windows, I got the following error:
> > > no matching function for call to 'dolfin:Vector::set_local(double*&)'
> > > candidate is: virtual void dolfin::Vector::set_local(const
> > > dolfin::Array<double>&) Can you help me to solve this problem?
> > > Thanks in advance.
> > > Nguyen Van Dang
> >
> > You need to let x and y to be of type Array<double> instead of C-arrays.
> > Exchange these lines
> >
> > double *x = new double[degree + 1];
> > double *y = new double[degree + 1];
> >
> > with
> >
> > Array<double> x(degree + 1);
> > Array<double> y(degree + 1);
> >
> > and you can remove the cleaning of the arrays as well.
> >
> > Johan
> >
> > --
> > You received this question notification because you are a direct
> > subscriber of the question.
--
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.