← Back to team overview

dolfin team mailing list archive

Re: [Question #158285]: grad f evaluation with C++

 

On 20 May 2011 09:11, James Avery <question158285@xxxxxxxxxxxxxxxxxxxxx> wrote:
> Question #158285 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/158285
>
> James Avery posted a new comment:
> Hi Anders,
>
> Thanks a lot! That works. However, a quick follow-up question: It seems
> to me that it should be possible to compute the derivatives of a finite-
> element function f in a more efficient manner, since we have f's
> expansion in terms of basis functions that can be differentiated,
> although I have not been able to find out how these are accessed in
> DOLFIN.

You can get the finite element of the function and call the function
evaluate_basis_derivatives on that.

Kristian

> Is it strictly necessary to assemble and solve a new linear system to
> obtain a gradient? The reason I'm asking is, that the bottleneck in my
> application is due to the matrices describing the linear systems (with
> mesh size of up to a couple million cells). Thus assembling a matrix (or
> storing a precalculated one) and solving a linear system is a fairly
> large operation. Is there perhaps a shortcut for just computing the
> function derivatives with DOLFIN?

This is what the project() function in PyDOLFIN does and you're right, that
it might not be efficient for some applications.

Kristian

> Thank you again for your help!
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp
>


Follow ups

References