Wolfgang, I think that the statement of that question in poor, however, I think that I know his desire; the "double-dot product" (: operator commonly used in continuum mechanics) of two tensor fields.
In elasticity problems, elasticity coefficient-field, E, is 4th order tensor field, displacement field u is 1th order tensor field and the elastic stored energy is computed by the following formulae: 0.5 \int \nabla u : E : \nabla u I think that it's pretty easy to implement using the classical utilities available in deal ii, however, if it has some special abstraction in this regard, it may be answer to that question. Cheers RT On Sat, Apr 7, 2012 at 8:58 AM, Wolfgang Bangerth <[email protected]>wrote: > > fe_values[displacement].get_**function_gradients (solution_d, >> solution_grads); >> >> for (q_piont ...) { >> >> strain[q] = symmetrize(solution_grads[q]); >> stress[q] = (2*d_mu*strain[q] + d_landa*trace(strain[q])* >> unit_symmetric_tensor<dim>()); >> grad += stress[q]*strain[q] ; >> } >> gradient(icell) = -0.5*grad ; >> } >> >> but in contrast of theory that says the gradient of each cell is a >> scalar , here in every cell gradient is a vector (i.e. has 2 component >> .one in u direction and one in v as you know ) . >> > > Andrew already asked this in a different way but I still don't know what > you mean by that. If your solution is a displacement vector [u,v] then the > gradient of the solution is a rank-2 tensor (a matrix). > > W. > > ------------------------------**------------------------------** > ------------ > Wolfgang Bangerth email: [email protected] > www: > http://www.math.tamu.edu/~**bangerth/<http://www.math.tamu.edu/~bangerth/> > > ______________________________**_________________ > dealii mailing list > http://poisson.dealii.org/**mailman/listinfo/dealii<http://poisson.dealii.org/mailman/listinfo/dealii> >
_______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
