This file is indexed.

/usr/share/doc/freefem++/examples/examples++/aaa-adp.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//  -----  
real eps =  0.0001;
real h=1;
real hmin=0.000005;
real val=10; 
real coef=50; // err = 1/100
int nbiter=6,firstplot=3;
func f = y*x*x+y*y*y+h*tanh(val*(sin(5.0*y)-2.0*x));

cout << atanh(1) << endl;
func fx = .0*y*x-0.2E1*h*(1.0-pow(tanh(val*(sin(0.5E1*y)-0.2E1*x)),2.0))*val;
func fy =  x*x+3.0*y*y+0.5E1*h*(1.0-pow(tanh(val*(sin(0.5E1*y)-0.2E1*x)),2.0))*val*cos(0.5E1*y);

func  fxy =   2.0*(x*pow(cosh(val*sin(5.0*y)-2.0*val*x),3.0)+10.0*h*val*val*cos(5.0*y)
		   *sinh(val*sin(5.0*y)-2.0*val*x))/pow(cosh(val*sin(5.0*y)-2.0*val*x),3.0);

func  fxx= 2.0*(y*pow(cosh(val*sin(5.0*y)-2.0*val*x),3.0)-4.0*h*val*val
		*sinh(val*sin(5.0*y)-2.0*val*x))/pow(cosh(val*sin(5.0*y)-2.0*val*x),3.0);

func  d = fx*fy - fxy*fxy;
func  fyy=(6.0*y*pow(cosh(val*sin(5.0*y)-2.0*val*x),3.0)-50.0*h*val*val*
	   pow(cos(5.0*y),2.0)*sinh(val*sin(5.0*y)-2.0*val*x)-25.0*h*val*sin(5.0*y)*cosh(val*
           sin(5.0*y)-2.0*val*x))/pow(cosh(val*sin(5.0*y)-2.0*val*x),3.0);
           
border cercle(t=0,2*pi){ x=cos(t);y=sin(t);}
mesh Th=buildmesh(cercle(20));

fespace Ph(Th,P0);
fespace Vh(Th,P1);
fespace V2h(Th,P2);
Vh fh=f;
plot(fh,wait=0); //

for (int i=0;i<nbiter;i++)
{
  //  Th=adaptmesh(Th,f);
  verbosity=4;
  Vh fxxh=fxx, fxyh=fxy, fyyh = fyy;
  cout << " min max f_xx :  " <<  fxxh[].min << " " << fxxh[].max << endl;
  cout << " min max f_yy :  " <<  fyyh[].min << " " << fyyh[].max << endl;
  cout << " min max f_xy :  " <<  fxyh[].min << " " << fxyh[].max << endl;
  Th=adaptmesh(Th,fxx*coef,fxy*coef,fyy*coef,IsMetric=1,nbvx=10000,hmin=hmin,ratio  = 5, 
	       nbsmooth = 0, omega = 1);
  fh=f;
  Ph e=log10(abs(fh-f));
  Vh dh=(d>0)*2-1;
  plot(Th,fh,dh);
  real[int] vviso(20);
  for (int i=0;i<20;i++)
    vviso[i]=(-20+i)/2.;
  cout << " min max fh " << fh[].min << " " << fh[].max << endl;  
  cout << " min max log(e) " << e[].min << " " << e[].max << endl;  

  if (i>=firstplot) 
    {
      plot(e,fill=1,value=1,wait=0,viso=vviso,cmm="log10(e) err="+1./coef);
      savemesh(Th,"Thh"+i+".mesh");
      savemesh(Th,"Th"+i,[x,y,fh/2]);
      { 
        Vh eh=e;
	ofstream file("Th"+i+".BB");
	file << "2 1 1 "<< fh[].n << " 2 \n";
	int j;
	for (j=0;j<fh[].n ; j++)  {
	  file << eh[][j] << endl; }
      }	
      exec("ffmedit `pwd`/Th"+i);
    }
}