This file is indexed.

/usr/share/doc/freefem++/examples/examples++-mpi/schwarz-c.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
// NBPROC 2
//  a new coding  methode de schwarz 
// with 2 proc. 
//  -------------------------------
// F.Hecht december 2003
// ----------------------------------
//  to test the broadcast instruction 
//  and array of mesh 
//  add add the stop test 
//  ---------------------------------

if ( mpisize != 2 ) {
cout << " sorry, number of processors !=2 " << endl;
exit(1);}
verbosity=3;
int interior = 2;
int exterior = 1;
border a(t=1,2){x=t;y=0;label=exterior;};
border b(t=0,1){x=2;y=t;label=exterior;};
border c(t=2,0){x=t ;y=1;label=exterior;};
border d(t=1,0){x = 1-t; y = t;label=interior;};
border e(t=0, pi/2){ x= cos(t); y = sin(t);label=interior;};
border e1(t=pi/2, 2*pi){ x= cos(t); y = sin(t);label=exterior;}; 
int n=4;
mesh[int]  Th(mpisize);
if (mpirank == 0) 
 Th[0] = buildmesh( a(5*n) + b(5*n) + c(10*n) + d(5*n));
else
 Th[1] = buildmesh ( e(5*n) + e1(25*n) );

broadcast(processor(0),Th[0]);
broadcast(processor(1),Th[1]);

fespace Vh(Th[mpirank],P1);
fespace Vhother(Th[1-mpirank],P1);

Vh u=0,v;
Vhother U=0;
int i=0;

problem pb(u,v,init=i,solver=Cholesky) = 
    int2d(Th[mpirank])( dx(u)*dx(v)+dy(u)*dy(v) )
  + int2d(Th[mpirank])( -v) + on(interior,u = U)  +    on(exterior,u= 0 ) ;

for ( i=0 ;i< 20; i++) 
{ 
  cout << mpirank << " looP " << i << endl;
   pb; 
   //  send u  to the other proc, receive in U
   processor(1-mpirank) << u[];    processor(1-mpirank) >> U[];
   real err0,err1;
   err0 = int1d(Th[mpirank],interior)(square(U-u)) ;
   // send err0  to the other proc, receive in err1
   processor(1-mpirank)<<err0;   processor(1-mpirank)>>err1;
   real err= sqrt(err0+err1);
   cout <<" err = " << err << " err0 = " << err0 << ", err1 = " << err1 << endl;
   if(err<1e-3) break;
};
if (mpirank==0)  
    plot(u,U,ps="uU.eps");