Resolviendo numéricamente la ecuación de Poisson 2D por FFT, unidades propias

La ecuación de Poisson 2D es:

(1)

d 2 φ ( X , y ) d X 2 + d 2 φ ( X , y ) d y 2 = ϱ ( X , y ) ϵ 0 ϵ

Y en k -espacio es en forma de:

(2)

( k X 2 + k y 2 ) ϕ ( k X , k y ) = ρ ( k X , k y ) ϵ 0 ϵ .

Para resolver numéricamente utilizo FFT compleja (biblioteca FFTW en C). Para un área de tamaño físico L y una cuadrícula de tamaño N (const. de cuadrícula h=L/N), coordenadas discretas y límites periódicos, tengo:

(3)

ρ [ k X , k y ] = 1 norte 2 X = 0 norte 1 y = 0 norte 1 ϱ [ X , y ] mi j 2 π ( X k X + y k y ) / norte

Puedo multiplicar ambos lados por 1 ϵ ϵ 0 , luego dividiendo ρ [ k X , k y ] por ( k X 2 + k y 2 ) en cada punto (teniendo en cuenta que la salida FFT es simétrica sobre k X = N/2 y k y = N/2) obtengo ϕ [ k X , k y ] . Por FFT inversa:

(4)

φ [ X , y ] = k X = 0 norte 1 k y = 0 norte 1 ϕ [ k X , k y ] mi j 2 π ( X k X + y k y ) / norte
Obtengo potencial 2D proveniente de la densidad de carga. ϱ . Pero me falta algún factor de escala en las definiciones anteriores y no puedo resolverlo. En resumen, qué hacer para hacer coincidir las unidades SI en las definiciones anteriores para que encajen, tanto en términos de transformada de Fourier como resultado real de φ . Mi principal preocupación es que si ingreso la carga de prueba de densidad ϱ ( X , y ) = mi h 2 d [ X , y ] en unidades de C / metro 2 en medio de la zona con L = 10 6 metro Espero una salida similar al potencial de Coulomb 1 r mi 4 π ϵ ϵ 0 , pero la solución difiere en muchos órdenes. ¿Por qué?

Así que creo que puede ser un problema dividir por k. ¿Cuál debería ser k para esta definición de transformada discreta? Por ejemplo k = 2 π h / L o k = 2 π X / norte

¿Cómo obtuviste la ecuación del espacio k? A menos que me equivoque terriblemente, cuando transformas la primera ecuación con Fourier, la ϵ No se supone que s caigan, y se supone que el lado izquierdo tiene un signo menos.
Mi error, lo he cambiado y agregado algunos comentarios adicionales.
Sigo pensando que el signo de la ec. (2) podría estar equivocado. Además, tenga en cuenta que FFTW no normaliza la transformada inversa (la mayoría de FFT lo hacen, pero FFTW está realmente optimizado para el rendimiento, por lo que esto es algo que debe hacerse manualmente).
Sí, normalizo manualmente en (3), sobre el signo, probablemente tenga razón, pero ¿cambiará esto el orden de la solución? Creo que sólo la señal. El signo debe ser una cuestión de polaridad para la carga e positiva y negativa que asumí al comienzo del cálculo.
Una vez descubrí cosas de FFTW, y maldita sea, fue tedioso. Tenga en cuenta que aquí se utilizan r2c y c2r. gitlab.com/askhl/libvdwxc/blob/master/src/vdw_include.c#L85 ^Las líneas 85-101 determinan qué es k en un punto FFT particular. La celda recíproca se calcula aquí: gitlab.com/askhl/libvdwxc/blob/master/src/vdw_core.c#L182

Respuestas (2)

Ok, creo que resolví el problema. Así que para dividir la densidad FFT por k 2 Necesito valores reales de k en k -espacio para mi sistema. FFTW ordena el resultado de la transformación en la llamada salida "en orden", lo que significa que en el primer cuadrante de FFT, el primer píxel corresponde a la frecuencia de CC y al lado k / L frecuencia ( k es desde 0 a norte 1 ) dónde L es la longitud de todo el sistema. La longitud de onda más pequeña del sistema es h = L / norte , entonces 1 / h es la frecuencia más alta. Entonces k X en las ecuaciones anteriores debe cambiarse a 2 π k / L . la coordenada k también debería depender de en qué cuadrante de salida fft estemos, para el cuadrante simétrico deberíamos usar norte k en lugar de k . Probablemente sea eso.

Sustituto

φ ( X , y ) = d X d y ϕ ( k X , k y ) mi i k X X + i k y y ,     ϱ ( X , y ) = d X d y ρ ( k X , k y ) mi i k X X + i k y y
en la primera ecuación y esto debería dar inmediatamente la ecuación que desea. Además, solo para posibles propósitos futuros, tenga en cuenta
d X mi i k X = 2 π d ( k )
(Ver aquí para la discusión.)

Pensé que esto me lleva a mis ecuaciones, ¿no es así?
Entendí que v1 de tu pregunta significa cómo obtienes la segunda ecuación y si hubieras obtenido todos los factores de 2 π y lo que no es correcto. Si eso no era lo que querías, ignora esta respuesta.
Tal vez no fui lo suficientemente preciso en la primera versión de la pregunta, agregaré el factor 4pi ^ 2 a la ecuación. Pero mi problema no se resuelve con esto. Gracias por responder de todos modos.