← 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

I use dolfin to calculate the electrostatic potential in a molecular
electronic device where I need to know the potential at the positions
of the atoms in order to solve the electronic eigen value problem.
For me it seems to be very natural thing to have access to, but that
of course depends on what you use dolfin for.
For now I'll try to implement the suggested solution. Has anyone got
a script that illustrates this, i.e. extracting the coefficients and
evaluating the basis function in the arbitrary point ?

Kristen


> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>