>   I want the simplest way to code a sample PDE:
>      Uxxx(x,y) + g(x,y)*Uxy(x,y) - Uy(x,y) = f(x,y)

You can't solve PDEs with three derivatives using the usual Lagrange finite 
elements: even after integrating by parts you end up with two derivatives 
on shape functions but Lagrange shape function do not have second 
derivatives at the interfaces between cells.


>      phi(i,q) is fe_values.shape_value(i, q_point)  x direction
>      phip(i,q) is fe_values.shape_grad(i, q_point)

Yes.

>      phipp(i,q) is fe_values.shape_grad_grad(i, q_point)  ???

Yes, if by phipp you mean the tensor of second derivatives.


>      phippp(i,q) is fe_values.shape_grad_grad_grad(i, q_point)  ???

deal.II does not provide third derivatives, for the reasons mentioned 
above.

>      phixyp(i, j, q) is ??? derivative of phi wrt x, wrt y = d^2 phi/dx
> dy

fe_values.shape_hessian(i,q_point)[0][1]
(i.e. the off-diagonal entry of the tensor of second derivatives).


>      cell_matrix(i,j) += (phippp(i,q) +
>                           g(x,y)*phixyp(i,j,q) -
>                           phip(j,q)              ) *
>                          fe_values.JxW(q);
>
>      How do I get the x,y for my function 'g' ???

That's one of the many things explained in great detail in the various 
tutorial programs. In short: fe_values.quadrature_points(q_point).

W.

-- 
-------------------------------------------------------------------------
Wolfgang Bangerth                email:            [email protected]
                                 www: http://www.math.tamu.edu/~bangerth/

_______________________________________________
dealii mailing list
[email protected]
http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to