You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To me, it seems like this should work for both affine and non-affine cells. I tested this locally with DOLFINx (by commenting out the if clause, with the following code:
That lowering is a one point quadrature for computing the cell volume. If your cell is a way from affine, this is a bad approximation I think.
How can you see that the lowering is to a single point quadrature? (I know the expression interpolation in DOLFINx is equivalent to a one point quadrature, but that is not the main point here).
I cannot spot that assumption in the referenced ufl code, as I would expect JacobianDeterminant to be what we use in general for integral scaling of non-affine and affine geometries, but maybe I've missed something.
That lowering is a one point quadrature for computing the cell volume. If your cell is a way from affine, this is a bad approximation I think.
Oh, right. It is because this doesn't give the form compiler any instructions on summing the jacobians for each quadrature point before multiplying by anything else.
Is there any specific reason for the following code:
ufl/ufl/algorithms/apply_geometry_lowering.py
Lines 184 to 198 in 4fd9a80
To me, it seems like this should work for both affine and non-affine cells. I tested this locally with DOLFINx (by commenting out the if clause, with the following code:
Yielding
The text was updated successfully, but these errors were encountered: