I am relatively new to freefem++. I am just wondering if there’s a way to implement a phase shifted ‘periodic’ bc? say instead of:
int[int] labPeriodic = [1, 3];
macro Pk()[P2, P2, P1], periodic=[[labPeriodic[0],rcoord], [labPeriodic[1],rcoord]]// EOM
Do you want to implement a Bloch wave computation? If you have a solution of the form u(x,y) exp(i (kx**x+ky**y)) where u(x,y) is periodic, it is better to introduce the Bloch wavevector k=(kx,ky) inside the variational form directly by selecting function u(x,y) as the FE function to solve for instead of the full Bloch wave.
Let us know what your exact need is, so we can look for an example. The code you suggest does not make much sense now.
Yes, I want to do some sort of Bloch wave computation. I’m doing a global stability analysis (Fourier decomposition only in time). Right now, im doing effectively bc[1]=bc[3], where phase=0 by using the built-in periodic function in freefem. I already have a working code.
But in general case where phase is not equal to zero (e^(im*theta) where m>0), I want to know if it is possible? let me know if it’s not clear. I might not have explained it clearly.