I have written a program for the finite element method for an elliptic one dimensional problem.Initially I assumed a mesh that had only 10 points , but since the error was far above my tolerance level, I changed my mesh size to 30 points.But while applying the FEM for the mesh with 30 points , I had to run my program all over again with N=30. My question is -: Even though I have found the exact values of the solution at 10 points( for FEM for 1d case ,the fem solution can be proved to be exactly the actual solution at the nodal points), why should I start the process all over again and find values at 30 nodal points.Why can't I do it for just the newly added 20 nodal points.Is there a way to do so?


When you apply the FEM to a differential equation, you first write the problem in the weak/variational form, for a narrower solution space, for example

$${V} = \{ { \omega :| \omega | + |\omega ' | < \infty } \}.$$

Then, to actually solve the problem, you have to discretize that solution space, i.e., you have consider a finite subspace of the solution space. Most likely, you decide to consider your solution as a linear combination of hat functions and hence

$V_h = \left\{ {{\omega _h} \in V:{\omega _h}{\textrm{ is piecewise linear, continuous on the chosen mesh}}}\right\}$

and the basis of this space consists of $\{\varphi_j\}^{N}_{j=1}$, where

$${\varphi _j}\left( x \right) = \left\{ {\begin{array}{*{20}{c}}{\frac{{x - {x_{j - 1}}}}{h}}&{,x \in [{x_{j - 1}},{x_j}]}\\{\frac{{{x_{j + 1}} - x}}{h}}&{,x \in [{x_j},{x_{j + 1}}]}\\0&{,x \notin [{x_{j - 1}},{x_{j + 1}}]}\end{array}} \right. , j=1,\cdots ,N.$$

At this point, I hope you've already figured out the answer to your question :)

Each time you modify your mesh, you also modify your hat functions, that is, the basis of your discrete solution space. Thus, to find your new solution in the new basis, you have to perform the calculations all over again.


If you're looking for a method that allows you to avoid computing your solution all over again, then you should read about Structure Adaptive Mesh Refinement (SAMR) used within the finite difference method (FDM) framework.

A good way to get a grasp of the concept is by reading the following master thesis:

"A patch-based partitioner for Structured Adaptive Mesh Refinement" by A. Vakili

  • $\begingroup$ That's precisely my question, why should I throw away the previous solution that I have got.Is there a method(surely not FEM !) that calculates the solution for the refined mesh( coefficients for the new leaner basis functions) , using the previous solution. $\endgroup$ – ssk May 24 '14 at 12:51
  • $\begingroup$ I've edited my post to answer your question. $\endgroup$ – etothepitimesi May 24 '14 at 16:19
  • $\begingroup$ That's a good way to do it.Solving the problem locally on each refined element.Yeah, I somewhat get it. $\endgroup$ – ssk May 25 '14 at 11:47

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.