-- abc_la.ads User problem definitions for a specific PDE to be solved -- this includes the user choice of degree and discretization -- -- The problem must be well posed and the solution must be -- continuous and continuously differentiable -- -- The general PDE to be solved is: -- a1(x,y)*uxx(x,y) + b1(x,y)*uxy(x,y) + c1(x,y)*uyy(x,y) + -- d1(x,y)*ux(x,y) + e1(x,y)*uy(x,y) + f1(x,y)*u(x,y) = c(x,y) -- with Real_Arrays; -- type Real comes from here use Real_Arrays; package abc_la is -- Define the region for the solution: -- xmin <= x <= xmax, ymin <= y <= ymax using nx by ny points xmin:constant := -1.0; xmax:constant := 1.0; ymin:constant := -1.0; ymax:constant := 1.0; nx:constant := 6; ny:constant := 5; ifcheck:constant := 1; -- set ifcheck = 1 or more, else ifcheck = 0 -- the user must provide all functions, even if only return 0.0; -- the functions are implemented in the file abc.abd -- A specific set of test functions is covered in abc.txt function a1(x:Real; y:Real) return Real; function b1(x:Real; y:Real) return Real; function c1(x:Real; y:Real) return Real; function d1(x:Real; y:Real) return Real; function e1(x:Real; y:Real) return Real; function f1(x:Real; y:Real) return Real; function u (x:Real; y:Real) return Real; -- must compute boundary, if solution, thenset ifcheck>0 function c (x:Real; y:Real) return Real; -- this becomes defined by u and a1 ... f1 end abc_la;