On Wed, May 22, 2019 at 10:03 AM John Peterson <jwpeter...@gmail.com> wrote:
> > > On Wed, May 22, 2019 at 3:30 AM marco <ing....@gmail.com> wrote: > >> Mass lumping is defined by using trapezoidal quadrature rule. >> In this way, the weights of a trapezoidal rule should be the integral over >> the element of each basis function. >> > I looked into this a bit more carefully over the weekend, and while it may be technically true, I don't think it necessarily results in a "good" quadrature rule for every element, at least not for the "serendipity elements" (Quad8, Hex20). If you compute the element integral of one of the vertex basis functions of the Hex20, you get -1. The edge basis functions integrate to 4/3. Interestingly, such a rule is exact for quadratics, but using negative weights in a nodal quadrature rule seems very problematic to me. For example, it would give you negative diagonal entries for the mass matrix rows associated with the vertex basis functions... I noticed that this is not always true for hexahedral elements. Am I >> missing something or could there be a bug? >> > That being said, I think I have convinced myself that using the tensor product of 1D QSimspson rules on a Hex20 or Quad8 a) does not result in a nodal quadrature for such an element, and b) produces a non-diagonal mass matrix. It's definitely possible to "fix" this issue, but it's not clear to me what the best choice of weights should be. One choice, which is exact for quadratics, is the one with negative vertex weights mentioned above. Another choice of weights would be (vertex=1/7, edge=4/7), but this is chosen somewhat arbitrarily to match the 4:1 ratio of edge:vertex weights in Simpson's rule, and is only exact for linears. It may be possible to optimize the choice so that e.g. the mass matrix diagonals resulting from this quadrature are as close as possible to the "true" mass matrix diagonals (or their lumped equivalents) -- John _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users