(message sent again without attachment due to size restrictions) Hi Wolfgang
I think I misunderstood your comment "N pieces of data". Yes, of course these could be the components of tensors or any other variable you choose. I like the idea that you keep the data in the form that it is in at the quadrature point. That is, if it's a tensor it gets projected to the nodes as a tensor rather than a vector of components. But both approaches will clearly work. I have attached an example code as described in my previous mail. Let me know what you think. Thanks for the help and comments. Andrew On 02 Jul 2010, at 2:27 PM, Wolfgang Bangerth wrote: > > 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
