On Thu, Jun 30, 2016 at 10:36 AM, 张江 <zhangjiang.d...@gmail.com> wrote:

> Hi,
>
> I am trying to use libMesh::System::point_value(unsigned int var, const
> Point &p, const Elem &e) const to get the value of a point.
> Before this function, I used a point locator to locate the element that
> the point is in.
> However, when running the program, I found in this point_value function,
> there is another point locator called before computing the point value. It
> is strange because the code of this point_value() function do not have
> anything about point locator.
> Can anyone tell me how to solve this? Thanks.
>
>
> Point p(1.5, 0.2, 0);
> const Elem *e = (*locator)(p);
>
> float A[3];
> A[0] = asys->point_value(Ax_var, p, e);
> A[1] = asys->point_value(Ay_var, p, e);
> A[2] = asys->point_value(Az_var, p, e);
>

I haven't verified this, but I'd guess you are calling this overloaded
version of the function:

  Number point_value(unsigned int var, const Point & p,
                     const bool insist_on_success = true) const;

where the Elem pointer is converted to "true" for the third argument.

The last argument of the function you're trying to call should be an Elem
reference, not a pointer.

-- 
John
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to