Re: [deal.II] Re: Modifying shape function data in MatrixFree

2021-01-01 Thread 'David' via deal.II User Group
> I understand that your description implies that you're comparing the residuals for a timestep where both schemes have taken the same number of Newton iterations. But nevertheless, I'm not quite sure that there's any value in comparing these two quantities. They are both discrete residuals

Re: [deal.II] Re: Modifying shape function data in MatrixFree

2020-12-31 Thread Jean-Paul Pelteret
Hi David, One last point I don't understand right now is the magnitude of the machine precision you talk about: > You'll see that they all exhibit quadratic convergence, with only a slight difference in the convergence history that can probably be attributed to accumulated round-off errors.

Re: [deal.II] Re: Modifying shape function data in MatrixFree

2020-12-31 Thread 'David' via deal.II User Group
Hi Jean-Paul, > The indexing is correct - I've taken that part of the code from some other codes that I've fully verified. But I thought it would still be a useful exercise to re-implement the assembly routine for the other two parameterisations. Maybe this would further convince you of its

Re: [deal.II] Re: Modifying shape function data in MatrixFree

2020-12-30 Thread 'David' via deal.II User Group
Hi Jean-Paul, first of all, thank you very much for your comprehensive answer. It's a little bit unfortunate that there is no way for the deformed test gradient evaluation using matrix-free. However, your code snippets and the explanation are traceable and the required changes for the tangent

Re: [deal.II] Re: Modifying shape function data in MatrixFree

2020-12-29 Thread Jean-Paul Pelteret
Hi David, So as I'm sure that you know, if you want to assemble the linear system for quasi-static non-linear (hyper)elasticity with a referential DoFHandler (using no Eulerian mapping to transform the shape functions to the spatial setting) AND without doing a similar transformation by hand

[deal.II] Re: Modifying shape function data in MatrixFree

2020-12-29 Thread 'David' via deal.II User Group
Maybe as an edit: what I currently do looks the following way: ``` // Get gradient in reference frame const Tensor<2, dim, VectorizedArrayType> grad_u = phi.get_gradient(q_point ); // Compute deformation gradient const Tensor<2, dim, VectorizedArrayType> F = Physics::Elasticity::