Hi Everyone,
I am new at using FreeFem and could really use you help to understand the functionalities better
i am working on the sample problem of electrostatics
So border is to make continuous object, so you have to make linear interpolation like this (no tested)
border bb(tt=0,xx.n-1)
{
int i = min(int(tt),xx.n-2);
real t = tt-i;
// i is the the index variable of the multi border loop
int ii = (i+1); real t1 = 1-t;
cout << tt << " " << i << " " <<t << " / " << ii << endl;
x = xx[i]*t1 + xx[ii]*t;
y = yy[i]*t1 + yy[ii]*t;
label = 0;
}
No i understood that , what i was trying to ask was how you are defining the vectors ??
Because for border C0 which in example is defined as border C0(t=0, 2pi){x=5cos(t); y=5*sin(t);}
i am trying to generate the same structure by doing this -:
real[int] vectorX0(7),vectorY0(7);
for(int t = 0;t<2*pi;t++){
cout<< “Value of t”<<t<<endl;
vectorX0[t] = 5cos(t);
vectorY0[t] = 5sin(t);
}
border C0(tt=0,vectorX0.n-1)
{
int i = (int(tt)%(vectorX0.n-1));
real t = tt-i;
// i is the the index variable of the multi border loop
int ii = (i+1);
real t1 = 1-t;
x = vectorX0[i]*t1 + vectorX0[ii]*t;
y = vectorY0[i]*t1 + vectorY0[ii]*t;
label = 0;
}
but it’s not forming the same circle shape as it was doing with the non-vector definition of border
real[int] xx(7),yy(7);
for(int t = 0;t<2*pi;t++){
cout<< "Value of t "<<t<<endl;
xx[t] = 5*cos(t);
yy[t] = 5*sin(t);
}
border bb(tt=0,xx.n-1)
{
int i = min(int(tt),xx.n-2);
real t = tt-i;
// i is the the index variable of the multi border loop
int ii = (i+1); real t1 = 1-t;
cout << tt << " " << i << " " <<t << " / " << ii << endl;
x = xx[i]*t1 + xx[ii]*t;
y = yy[i]*t1 + yy[ii]*t;
label = 0;
}
plot(bb(100));