# Shape Derivatives in UFL

**URL:** <https://fenicsproject.discourse.group/t/shape-derivatives-in-ufl/3470>\
**Category:** dolfin-adjoint\
**Created:** [June 8, 2020, 1:02pm UTC](https://fenicsproject.discourse.group/t/shape-derivatives-in-ufl/3470 "2020-06-08T13:02:18Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [June 9, 2020, 5:32am UTC](https://fenicsproject.discourse.group/t/shape-derivatives-in-ufl/3470/10 "2020-06-09T05:32:09Z")

</div>

There is an alternative package for shape derivative called [FEmorph](https://bitbucket.org/Epoxid/femorph/pull-requests/3/update-femorph-master-to-201810/diff), which is the predecessor to the ufl derivative and the dolfin-adjoint implementation.

I worked on cleaning up that software a couple of years back. I do not recall if it does the pull back or not, I guess have a look at the [implementation paper](https://epubs.siam.org/doi/abs/10.1137/16M1099972).

The code, as i linked to above, is not actively maintained, so it is not optimal to use.

Anyhow, concluding, i would say that what you are asking for might not be implemented. I am still curious as to what the content of your function/expression is going to be (as in many cases, you could frame it as a projection of a mixture of ufl expressions/constants)

---

_[View the full topic](https://fenicsproject.discourse.group/t/shape-derivatives-in-ufl/3470)._
