PDE Toolbox: evaluateGradient for legacy workflow or convert legacy solution to PDE solution
3 Ansichten (letzte 30 Tage)
Maxime Krier am 11 Feb. 2020
I am solving a scalar, time independent PDE in 2d with mesh refinement with the adaptmesh function from the legacy workflow.
Now, I would like to evaluate the gradient of my solution u in an arbitrary point, say .
For the legacy worklflow, I found the function pdegrad, which lets me evaluate the gradient in the triangle centroids of my mesh. However I need a function similar to evaluateGradient. Is there a similar function for the legacy workflow?
If not, is there another easy way to solve my problem? My only idea would be to convert my legacy solution u to a PDE solution of the recommended workflow. Is there an elegant way to achieve this? My idea up to now is to solve a "PDE"
with the recommended workflow, where is an interpolant of my solution u and Ω is my domain. However this seems way to complicated for me.
Thanks for your help
Ravi Kumar am 12 Feb. 2020
You can create a result object of the kind you need using the solution from the legacy solver and the createPDEResults function. Once you have a results object you get the evaluateGradient with it, so you should be good to go.
Note the warning on the createPDEResults is to note that new solvers produce the results object directly and there is no use of this function. However, in your use case this would simplify your work after you get the solution form the legacy solver.