On Mon, 10 Sep 2007, Yujie wrote:
> I use Firstorder Lagrange shape functions. In this case, the global
> index of nodes in the mesh should be the same with that of the
> variable?
No. The degree of freedom numbering is done elementbyelement, not
nodebynode.
> what is the difference betwenn build_solution_vector()
> and build_discontinous_solution_vector().
build_solution_vector gets results at each node from all the
surrounding elements and averages them at each node; if you're using a
discontinuous function space this has a smoothing effect.
build_discontinuous_solution_vector gives you a solution on a "broken"
mesh, where each node exists multiple times, once on each of the
elements it's connected to. If you're using a continuous function
space this just gives you a bloated output file, but if you're using a
discontinuous function space it gives you discontinuous output.
> I find that the former smoothes the results for preferable display.
> Dose it not affect the results?
I wouldn't think of these functions as giving you "results". First of
all, they don't actually change the solution vectors, they just make
new vectors which are nodal vector interpolants of the solution.
Second, most output formats are basically designed for first order
approximations  if you're using quadratic elements they'll probably
be broken up into linears, and if you're using higher order (or
stranger) elements then they just get undersampled and interpolated.
If you're ever planning to use p>1, you'll want to do the important
postprocessing work with the finite element shape functions, and just
save the nodal data for plotting pictures.

Roy
