Andrew, > I'm not sure this is worth considering adding to deal.ii, but i wrote two > functions (attached) that project first-order and symmetric second-order > tensors from quadrature points to the nodes of the cell. They are the > extension that is proposed in step-18 for dealing with problems where > history variables are stored at quadrature points.
I haven't looked at your code yet since you said in a later mail that you weren't happy with it, but in general: I think the extension to vector valued functions would be a useful extension. I envision that one would modify the existing function in the following way, keeping the same interface: - if the finite element has, say, N vector components, then it is assumed that in each quadrature point of rhs_quadrature there are also N pieces of data arranged in the same order as the components of the finite element - when all the pieces of data are arranged in the long vector with which to multiply X, let's introduce the convention that first come all N values in quadrature point 0, then all N values in quadrature point 1, etc. (If you prefer the other ordering that's fine too, it just needs to be stated in the documentation.) The ordering in the output vector is already defined by the natural ordering within the finite element which can be queried by the FiniteElement::system_to_component function, for example. - to extend the existing function, you then just need to rewrite the computation of the matrices M and Q. M is obvious, and if you want you can take a look at the function MatrixTrools::create_mass_matrix, for example. Q will be similar to what it is already except that you have to repeat quadrature points N times each. - computing the matrix X remains unchanged. Let me know if this makes sense and/or if you need help with something. Best W. ------------------------------------------------------------------------- Wolfgang Bangerth email: [email protected] www: http://www.math.tamu.edu/~bangerth/ _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
