Estoy tratando de usar NDSolve
para resolver una ecuaciones de onda para verificar si es más fácil y/o más rápido usarla en lugar de mis antiguas características eq. implementación del métodoInestabilidad mientras NDSolvera una ecuación de onda
Me estoy poniendo muy inestable que no entiendo con el método de las características, y dado que estas son ecuaciones simples, me pregunto qué está mal ... (con suerte, no es el aspecto físico del problema ... .)
ans = [email protected][{
u[t, x]*D[d[t, x], x] + d[t, x]*D[u[t, x], x] + D[d[t, x], t] == 0,
D[d[t, x], x] + u[t, x]/9.8*D[u[t, x], x] +
1/9.8*D[u[t, x], t] + 0.0001 u[t, x]*Abs[u[t, x]] == 0,
u[0, x] == 0,
d[0, x] == 3 + x/1000*1,
u[t, 0] == 0,
u[t, 1000] == 0
},
d, {t, 0, 1000}, {x, 0, 1000}, DependentVariables -> {u, d}
]
Animate[Plot[(d /. ans)[t, x], {x, 0, 1000},
PlotRange -> {{0, 1000}, {0, 6}}], {t, 0, 1000}
]
alguien me puede ayudar?
EDIT:
He colocado la solución NDSolve
(después de la edición de JxB,) con mi solución de características, juntos en la misma animación. Se emparejan lo suficientemente cerca, con la excepción de las oscilaciones rápidas iniciales. Con el tiempo, tienden a comenzar a desincronizarse, pero creo que esto se debe probablemente a una pequeña simplificación que debemos admitir al deducir las características.
Rojo: NDsolve
; Azul: método de las características "manuales";
presione F5 (actualice su navegador), para reiniciar la animación desde t=0
.
(escala xx es el número de puntos que se utiliza con mi método "manual", donde cada punto representa 20 unidades de la escala NDSolve
/físico)
Jugando con NDSolve
muestreo de cuadrícula, hace completamente diferentes efectos de oscilación. ¿Alguien tiene o conoce una técnica para garantizar una integración adecuada?
Creo que obtendrías más respuestas preguntando en el sitio de matemáticas: http://math.stackexchange.com/ –
@dario Gracias por la sugerencia (lo intentaré). Pero ya que estas ecuaciones deberían ser estables, pensé que esto era más un problema de Mathematica, aunque no soy un experto en el tema ... –
Si sospechas que, como nunca utilicé Mathematica, todo lo que puedo sugerir es actualizarlo a la última versión. Eso podría solucionar tu problema si es causado por un error en Mathematica –