← Back to team overview

dolfin team mailing list archive

Re: Evaluating the FEM solution at an arbitrary point

 

On Wed, Feb 13, 2008 at 08:28:03PM +0100, Dag Lindbo wrote:
> > Shilpa Khatri wrote:
> >> I would also like to know how this is done (We are using the c++
> >> interface).
> >> Thanks,
> >> Shilpa
> >>
> >> On Feb 13, 2008 4:09 PM, Kristen Kaasbjerg <cosby@xxxxxxxxx
> >> <mailto:cosby@xxxxxxxxx>> wrote:
> >>
> >>     Hi,
> >>
> >>     I have a rather simple question - having obtained a FEM
> >>     solution "u" of a given PDE, how does one get the
> >>     function value at an arbitrary point "x" (I'm using the
> >>     python interface) ?
> >>
> >>
> > This functionality existed in DOLFIN a while ago, but it needs updating
> > to new interfaces. Take a look at the old implementation:
> >
> > http://www.fenics.org/hg/dolfin?f=50aee5576fed;file=src/kernel/function/DiscreteFunction.cpp
> >
> > The point evaluation function is:
> >
> > real DiscreteFunction::operator()(const Point& p, uint i)
> >
> > The significant change that needs to be done is how to compute basis
> > functions. This functionality now exists for general finite elements in
> > the UFC interface (evaluate_basis()).
> >
> >   Johan
> 
> This is good news. As far as I can tell, the search is handled by a
> IntersectionDetector which is mainly a wrapper for GTS. Has the _idetector
> member been removed from the DiscreteFunction, or does it come from some
> base class?
> 
> Dag

Why do you need to evaluate functions at arbitrary points?

I can understand it's nice to be able to do this, but in many cases
there are other solutions (which are much more efficient).

-- 
Anders


Follow ups

References