Skip to content

Instantly share code, notes, and snippets.

@louity
louity / poisson_fft.py
Created October 13, 2022 08:55
Solve poisson eq. on double periodic domain
import matplotlib.pyplot as plt
import torch
def laplacian_per(f, dx, dy):
f_per = torch.cat([f[...,[-1]], f, f[...,[0]]], dim=-1)
f_per = torch.cat([f_per[...,[-1],:], f_per, f_per[...,[0],:]], dim=-2)
return ((f_per[...,2:,1:-1] + f_per[...,:-2,1:-1] - 2*f_per[...,1:-1,1:-1]) / dx**2 \
+ (f_per[...,1:-1,2:] + f_per[...,1:-1,:-2]- 2*f_per[...,1:-1,1:-1]) / dy**2)
xmin = 0.0