Dear Denis,

> Say if I have mass matrix and Laplace matrix, i would then use
>
> update_values| update_gradients| update_JxW_values;
>
> in AdditionalData. But I wonder would that be any slower than two
> separate MatrixFree data’s, one with
No, that won't be any slower - at least not to any measurable extent, I
think there is one 'if' less per 'reinit()' call where the pointer is set.

> However, i would still need to evaluate (once!) some functions at
> quadrature points, so I need a 
> MatrixFree data with 
>
> update_quadrature_points
> <https://www.dealii.org/developer/doxygen/deal.II/group__feaccess.html#ggaa94b67d2fdcc390690c523f28019e52fad5c9ff886b9615349a5d04a6c782df4a>
>
> set in AdditionalData. This certainly looks like a waste to keep this
> flag assigned to linear operators as I would be applying them
> hundreds of times and would never use location of quadrature points in
> real space.
Again, this won't really hurt because the data of quadrature points is
stored and not re-computed in the reinit() call. It's again one 'if'
more and an indirect addressing to get the pointer, which is negligible.
There is a little index computation going on when you access
FEEvaluation::quadrature_point(q) but again you only pay as you access
it (and in the initialization, but that you do only once and won't hurt).

Does this clarify things?

Best,
Martin

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to