Assuming that the crosses in the figure below are unknowns in a vertex-centered finite difference scheme in an Adaptive Mesh, how can I calculate the double derivate (Laplacian) at the Red x ? The Red x has only Eastern, Western and Northern neighbours but not a Southern neighbour. Can I take the average of just 3 points which are its immediate neighbours ?

enter image description here

  • 1
    $\begingroup$ You can interpolate (on-the-fly) the Southern neighbor value from the 4 corresponding coarse mesh vertices. $\endgroup$ – GoHokies Feb 3 '16 at 13:33
  • $\begingroup$ @GoHokies: many thanks. I was thinking if a simpler scheme was possible (actually in my implementation all 4 corresponding mesh vertices belong to different quadrants - hence it would require me to enquire 2 additional coarse mesh points). In general, the method that you described - is it the only way ? $\endgroup$ – Gaurav Saxena Feb 3 '16 at 13:47

You don't typically form a finite difference stencil involving the equation at these "hanging nodes", but set the value of this vertex to the mean value of the two adjacent vertices along the edge.

(See for example lecture 16 here: http://www.math.tamu.edu/~bangerth/videos.html).

| cite | improve this answer | |
  • $\begingroup$ Many thanks Prof. Bangerth. Actually in my scheme I have defined the concept of ownership of vertices. Each quadrant owns the South East vertex (if we look from the centre of the quadrant). So I treat this case as a normal vertex (unknown) case and hence was trying to update using 4 neighbours. But your answer gives me a good idea that although I treat it as a normal unknown - I can still update it like a hanging node (because it should be treated like a hanging node). This should solve my problem. $\endgroup$ – Gaurav Saxena Feb 3 '16 at 15:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.