# Assembly timings for hexahedral elements slow

**URL:** <https://fenicsproject.discourse.group/t/assembly-timings-for-hexahedral-elements-slow/13783>\
**Category:** dolfinx\
**Created:** [March 2, 2024, 1:57pm UTC](https://fenicsproject.discourse.group/t/assembly-timings-for-hexahedral-elements-slow/13783 "2024-03-02T13:57:19Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [March 19, 2024, 8:14pm UTC](https://fenicsproject.discourse.group/t/assembly-timings-for-hexahedral-elements-slow/13783/2 "2024-03-19T20:14:27Z")

</div>

You are setting the quadrature degree in the wrong place (function space), not in the measure.  
If you fix this:

```python
def pre_hyperelastic_dolfinx(mesh, **kwargs):
    quadrature_degree = 4
    ord = 1
    elemu = element("P", mesh.basix_cell(), ord, shape=(3,))
    V = functionspace(
        mesh, elemu,
    )
    u = Function(V, name="u")
    v = TestFunction(V)
    du = TrialFunction(V)
    F = Identity(len(u)) + grad(u)
    C = F.T * F
    Ic = tr(C)
    J = det(F)
    dx = Measure("dx", domain=mesh, metadata={
        "quadrature_degree": quadrature_degree})
    mu, lmbda = default_scalar_type(1.0), default_scalar_type(2.0)
    psi = 1 / 2 * (mu * (Ic - 3)) - mu * ln(J) + lmbda / 2 * ln(J) ** 2
    stress = derivative(psi, u, v) * dx
    jacobian = derivative(stress, u, du)
    return jacobian

```

See results in next post

---

_[View the full topic](https://fenicsproject.discourse.group/t/assembly-timings-for-hexahedral-elements-slow/13783)._
