I'm currently using FEFieldFunction to transfer my finite element
solution between different grid levels and it works great if I use the
VectorTools::interpolate function. However, what I really need is the
L^2 projection as the interpolation isn't equal to the numerical method
that I have so is giving bad results when my time steps are small. Now,
using VectorTools::project I get weird results. Firstly, the meshes are
coarsened and refined (potentially) at each time step so I use a large
number of quadrature points (QGauss(20)) to account for this.

Unless you refine/coarsen the mesh by more than one level, you shouldn't need this many quadrature points. If you refine by only one level, it should be sufficient to iterate the QGauss(degree+1) formula once using the QIterated class.


> Now, the
odd thing is, my program can work perfectly one minute (run through all
time steps, all meshes) without any problems whatsoever, but other times
I get "segmentation faults", not only that but they appear completely at
random, sometimes near the first time step, other times near the final
time step, do you think there could be a bug in either FEFieldFunction
of in VectorTools::project? (Since interpolate works fine and perfectly...)

Yes, there was a bug in FEFieldFunction when multiple threads were used. What version of deal.II are you using? I believe that this was fixed for 7.1.0.

Best
 W.

------------------------------------------------------------------------
Wolfgang Bangerth               email:            [email protected]
                                www: http://www.math.tamu.edu/~bangerth/

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to