Jau-Uei,
our apologies for letting this sit for so long. I think nobody had anything
useful to offer, given that this is not a particularly common operation.
> Essentially, what I want is to compute a one-dimensional derivative w.r.t to
> reference domain (i.e. D_{i,j}=\frac{d l_j}{d\xi}(\hat{\xi}_i) where
> \hat{\xi}_i is i-th Gauss-Lobatto point defined in [0,1]) and compute
> contravariant basis vectors (i.e \vec{a}^{1}=\frac{d\xi}{d\vec{x}} and
> \vec{a}^{2}=\frac{d\eta}{d\vec{x}}).
Finite element classes have functions shape_grad() that return the gradient of
the shape functions *with regard to reference coordinates*, so that will give
you the first piece of information you seek (the D_ij objects).
The \vec a vectors are rows or columns of the Jacobian matrix or its inverse
that you can get from the FEValues object. I believe you already found out how
to deal with this.
> However, I am not quite sure how to construct D_{i,j} under the framework of
> step-12. A brutal way is to create dummy objects of 1-d triangulation (i.e.
> [0,1]), FEValue object, and DoFHandler to construct it within the cell_worker.
> However, it is resource-consuming. In addition, it is not clear to me how to
> convert 1-D indices into the actual indices. For example for degree=1, we have:
> (0,1) - - - (1,1)
> | |
> | |
> (0,0) - - - (0,1)
> for Lagrange polynomial \phi_{i,j}=l_i(\xi)l_j(\eta). Does the pair (i,j)
> enumerate in the following way?
> (2) - - - (3)
> | |
> | |
> (0) - - - (1)
> On top of that, are quadrature points enumerated in a similar fashion?
The order of shape functions is generally documented for each of the finite
elements. It is basically (first all vertex functions) (then all edge
functions) (then all face functions) (then all cell-internal functions).
The quadrature formulas have their own ordering of points. These points are
defined on the reference cell (and in reference coordinates) and are then
mapped onto actual cells, but the mapping does not affect the ordering.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@colostate.edu
www:
http://www.math.colostate.edu/~bangerth/