Dear Denis Davydov, I am trying to implement the pack_values() and unpack_values() functions for a FullMatrix<double>, but the function itself in quadrature_point_data.h is defined using a vector of double values only. Nevertheless, my initial approach would be the following:
struct MyQData: public TransferableQuadraturePointData { double psi; FullMatrix<double> B; unsigned int number_of_values () const { return 2; } virtual void pack_values (std::vector<double> &scalars) const { Assert(scalars.size()==1, ExcInternalError()); scalars[0] = psi; } virtual void pack_values (std::vector<FullMatrix<double>> &matrices) const { Assert(scalars.size()==1, ExcInternalError()); matrices[0] = B; } virtual void unpack_values (const std::vector<double> &scalars) { Assert(scalars.size() ==1, ExcInternalError()); psi = scalars[0]; } virtual void unpack_values (const std::vector<FullMatrix<double>> &matrices) { Assert(matrices.size() ==1, ExcInternalError()); B = matrices[0]; } }; Is the above correct? Will it work during refinement? I checked it without refinement and it seems to give me correct values at each Gauss point after data storage. Note that this may not be what you want in the context of crack propagation > because what we do to transfer is assume that the quadrature data is > continuous across the element (thus the name > ContinuousQuadratureDataTransfer). > Yes, but what choice do I have? Is there another computationally efficient approach? This means probably that the PointHistory function data storage based on step-18 has the same drawback for discontinuous problems, am I right? I would be gladly willing to implement the DiscontinuousQuadratureDataTransfer function, if it is somehow possible to accomplish in deal.II. I am pretty sure it will be beneficial for others also in many ways. ;) Kind regards, S. A. Mohseni -- 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.