/usr/share/doc/freefem++/examples/examples++-load/LaplaceP4.edp is in freefem++-doc 3.19.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | load "Element_P4"
load "Element_P3"
load "qf11to25"
mesh Th=square(10,10);
verbosity=4;
for (int i=1;i<=26;i++)
{
cout <<" int1d order= "<< i ;
int1d(Th,qforder=i)(1.);
}
for (int i=1;i<=26;i++)
{
cout <<" int2d order= "<< i ;
int2d(Th,qforder=i)(1.);
}
verbosity=1;
fespace Vh(Th,P4); // P1 FE space
Vh uh,vh; // unkown and test function.
func f=1; // right hand side function
func g=0; // boundary condition function
problem laplace(uh,vh) = // Definion of the problem
int2d(Th,qft=qf11pT)( dx(uh)*dx(vh) + dy(uh)*dy(vh) ) // bilinear form
- int2d(Th,qft=qf25pT)( f*vh ) // linear form
+ on(1,2,3,4,uh=g) ; // boundary condition form
laplace; // solve the problem plot(uh); // to see the result
plot(uh,ps="LaplaceP4.eps",value=true);
real[int,int] qq1=[ [0.5,0],
[0.5,1]];
real[int,int] qq2=[[1./3,0,0],[1./3.,1,0],[1./3.,0,1]];
real[int,int] qq3=[[1./4,0,0,0],[1./4.,1,0,0],[1./4.,0,1,0],[1./4.,0,0,1]];
QF1 qf1(1,qq1);
QF2 qf2(1,qq2);
QF3 qf3(1,qq3);
real I1 = int1d(Th,qfe=qf1)(x^2) ;
real I1l = int1d(Th,qfe=qf1pElump)(x^2) ;
real I2 = int2d(Th,qft=qf2)(x^2) ;
real I2l = int2d(Th,qft=qf1pTlump)(x^2) ;
cout << I1 << " == " << I1l << endl;
cout << I2 << " == " << I2l << endl;
assert( abs(I1-I1l) < 1e-10);
assert( abs(I2-I2l) < 1e-10);
|