I would like to use MMA FEM abilities for example to apply galerkin's method to solve intergal equations or nonstandard numerical applications in a given mesh m.
Is it possible to extract the "node-functions" (one node value ==1, all others==0) from ElementMeshInterpolation[]?
To be more clear here is a very simple attempt( 1dimensional mesh, 3 nodes)
<< "NDSolve`FEM`"
m = ToElementMesh["Coordinates" -> {{0}, {2/3}, {1}},"MeshElements" -> {LineElement[{{1, 2}, {2, 3} }]} ]
id = IdentityMatrix[ Length@m["Coordinates"]];
ff[x_] := Map[ElementMeshInterpolation[{m}, #][x] &, id];
For further use with symbolic(!) node values {ui} I can use
ff[x].{u1,u2,u3}
My question: Is it possible to extract ff[x] more efficient?
ElementMeshInterpolationis very, very slow (has been the topic in several discussions) and there are (at least to my knowledge) currently no other alternatives to assembling by hand (which is not very hard) . I did something the like for the Laplacian of an embedded surface here. Maybe it helps. I also used the same approach for integral operators over curves. Let me know if I should provide code for it. – Henrik Schumacher Jan 02 '18 at 17:44ff[x]. – Henrik Schumacher Jan 02 '18 at 17:54ElementMeshInterpolationis "very, very slow"? I suspect there is some miss understanding here that should be easy to remedy. – user21 Jan 03 '18 at 07:27NIntegrateuses the approach shown there. – user21 Jan 03 '18 at 07:43ElementMeshInterpolationthat's a problem of the compiler not being able to handleElementMeshInterpolationproperly. I understand that for customers that does not matter but I need to be aware of these things and fix them if they are in my yard. Having said that even if the compiler did work properly I still have another idea for a speed up.ElementMeshInterpolationis designed for interpolation. If one needs values at coordinates then there are of course better ways to do that. If you have another one whereEMIis slow let me know. Thx. – user21 Jan 03 '18 at 08:22