On 08/09/2017 03:46 PM, ky...@math.uh.edu wrote:
Hello all,
I am working on implementing some stabilization methods for the Navier-Stokes
equations, these techniques often require the use of the laplacian of the
shape functions. I know I get the hessian of the k'th shape function at
quadratue point q via the following
|
Tensor<3,dim>hessian_phi =fe_values[velocity_extractor].hessian(k,q);
|
My question is understanding what does this return, and how to extract the
laplacian from it. Does hessian_phi[ i ][ j ][ k ] = \frac{ \partial
\varphi_{ i } } { \partial x_{ j } \partial x_{ k } }?
I don't recall, but it should be documented somewhere with
FEValuesViews::Vector IIRC.
If this is the case, is there a way to contract over the last two components
to result in a rank 1 tensor that is the laplacian?
Not as you are trying, but you can easily write the summation over the last
two indices by hand, of course.
I've also seen that I can use shape_hessian_component since I am using
standard Q2-Q1 elements,
|
intcomponent_i =fe.system_to_component(k ).first;
Tensor<2,dim>hessian_phi =fe_values.shape_hessian_component(k,q,component_i );
|
In this case I can get the laplacian of the i'th component of the k'th shape
function at quadrature point q by trace( hessian_phi ). But this will result
in a rank 0 tensor.
Yes, it is the trace of the i'th component. You can then construct a
Tensor<1,dim> traces;
for (i=0...dim)
{
traces_phi = fe_values.shape_hessian_component (...);
traces[i] = trace(hessian_phi)
}
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
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.