I am solving non-linear PDE using iterations. Correspondingly, the coefficients are functions on the (same) mesh that I have created and fixed. Between iterations I need to update these function by doing some arithmetic operations on them. Just doing all in a straightforward way leads to Mathematica being very slow. So, I have to prepare my PDE coefficients in advance by creating new interpolating functions for them. I do this via, for example
ElementMeshInterpolation[oldfunction["ElementMesh"], oldfunction["ValuesOnGrid"]^2]
Is there a smart way to tell Mathematica to create a single interpolating function from arithmetic operations (and derivatives) of several functions on the same grid?
oldfunction'["ValuesOnGrid"]
gives the values of the derivative on the grid, if you didn't know that. The way you show seems to do what you want. If you use multiple functions, each has to be defined on the same element mesh. If not, evaluate the function on the coordinates of the element mesh that is the basis of the new interpolating function. $\endgroup$