Home » Articles posted by daniel.duque@upm.es (Page 2)

Author Archives: daniel.duque@upm.es

Ahora aprendiendo … DFT y FFT

Las transformadas de Fourier discretas, versión general (DFT) y rápida (FFT).

Para ver si puedo resolver problemas en el espacio de Fourier.

¡Los prefactores lían mucho!

De momento, en python llevo hecho esto: una transformación 1D directa e inversa:

 

import matplotlib.pyplot as plt
import numpy as np
from math import pi

T=10
N=256
t = np.linspace(0,T,N)
ft= 3 * np.sin(2*pi*3.6*t + 2)+1
fo = np.fft.fft( ft ) / N
fo = np.fft.fftshift(fo)

fo[0]

freq = np.fft.fftfreq( N, float(T)/N )
freq = np.fft.fftshift(freq)

#plt.plot(freq, sp.real, freq, sp.imag)
plt.plot(freq, abs( fo ) )

plt.show()

ft2 = N * np.fft.ifft( fo )
 

 

Cálculo de la segunda derivada a través de la transformada, 1D:

import matplotlib.pyplot as plt
import numpy as np
from math import pi

T=10
N=256
om=0.6

t = np.linspace( 0 , T , N , endpoint=False )
ft= 3 * np.sin( 2*pi* om *t + 2)+1
fo0 = np.fft.fft( ft ) / N
fo  = np.fft.fftshift( fo0 )

fo0[0]

freq0 = np.fft.fftfreq( N, float(T)/N )
q     =  2*pi* freq0

freq  = np.fft.fftshift( freq0 )


ddfo = – q**2 * fo0

#plt.plot(freq, sp.real, freq, sp.imag)
plt.plot(freq, abs( fo ) )

plt.show()

ft2 = N * np.fft.ifft( fo0 )

ddft = N * np.fft.ifft( ddfo )
 

Transformada directa e inversa en 2D:

import matplotlib.pyplot as plt
import numpy as np
from math import pi

L=10
N=64

[x, y] = np.meshgrid( np.linspace(0,L,N),
                      np.linspace(0,L,N))

kx=0.2 #2.2
ky=0.7 #1.7

f = np.sin( 2*pi* ( kx * x + ky * y ) ) + np.random.uniform(0, 1, x.shape)

# plt.pcolor(x,y,f)


fou0 = np.fft.fft2( f ) / (N*N)
fou  = np.fft.fftshift( fou0 )

freq = np.fft.fftfreq( N, float(L)/N )
freq = np.fft.fftshift(freq)

[fx , fy] = np.meshgrid( freq, freq )

plt.pcolor(fx,fy,abs(fou) )

#plt.plot(freq, sp.real, freq, sp.imag)
#plt.plot(freq, abs( fo ) )

plt.show()

f2 = N * N * np.fft.ifft2( fou0 )

plt.pcolor(x,y,f)
plt.pcolor(x+L,y,f2.real)
 

 

 

Share

Ahora aprendiendo … Galerkin projection

Una mezcla bastante explosiva de solución numérica de ecuaciones en derivadas parciales y álgebra lineal.

Ver: The POD method and Galerkin approximations, del Professor Kutz, Applied Mathematics University of Washington in 1990.

Por cierto, en sus vídeos emplea una curiosa técnica, escribiendo mirando al espectador pero al derecho. Como escribe con mano izquierda, yo creo que se trata de una grabación en un espejo

Por cierto, acaba de aparecer de un artículo donde emplean esta técnica, escrito en parte por compañeros de Aeronáuticos.

 

Share

Numerología

 

¡Primera entrega sobre numerología!

Por mucho que me guste xkcd, esta vez creo que el chiste no tiene sentido.

El problema, en mi opinión, es que 2:53 no tiene mucho que ver con el número 253.

Factoring the time

¿Por qué no?

Cada uno es libre de divertirse como quiera, pero una persona tan formada como Randall Munroe debería darse cuenta de lo siguiente:

  • Hay 60 minutos en una hora
  • Las horas comienzan desde un origen arbitrario
  • No tiene sentido "factorizar" una hora (al menos, cuesta encontrarlo)

Hablaré de todo esto en futuras entregas, pero de momento adelanto mi tesis: nada de un número que tenga como origen una elección arbitraria convencional puede considerarse una propiedad interesante de un número.

Adios a las "horas curiosas" como 2:22.

Y, por supuesto, a las fechas como el 22 del 2. Por no hablar de las 2:22 del 22 del 2 del 2222. No significa nada.

Ojo, una de las convenciones arbitrarias es el propio sistema de numeración en base 10.

 

Share

Taylor-Green vortex sheet, reduced units

The Taylor-Green vortex sheet is a solution to the 2D Navier-Stokes equations for an incompressible Newtonian fluid: $latex \frac{d \mathbf{u}}{d t}= \nu \nabla^2 \mathbf{u} – \nabla p/\rho$ where $latex \mathbf{u}$ is the velocity field, $latex p$ is the pressure,  $latex \nu=\mu/\rho$ is the kinematic viscosity, and $latex \rho$ is the fixed density of the fluid. The time derivative is a total derivative: $latex \frac{d \mathbf{u}}{d t} = \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla) \mathbf{u}$.

 

error:  $latex d \mathbf{u} = mathbf{u} $,

 

$latex \frac{d \mathbf{u}}{d t}$

It is common to choose parameters that simplify the equations, but that can obscure the role of the different parameters. In the following, I provide expressions with all relevant parameters included, with their physical dimensions. I later pass to dimensionless, or reduced, units, in terms of the Reynolds and Courant numbers.  

(más…)

Share

Presentación

Probando UPM [Blogs], servicio de blogs UPM.

La idea es que sea una especie de página web personal

Share