> 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
