¿Puedo usar la iteración de Jacobi en una dimensión lineal convection_implicit (boundary = constant)?

En realidad, confundí la última vez con la temperatura de Jacobi. En el Jacobi, deberíamos ver [math] u_n [/ math] como [math] b [/ math]. Y crea otra variable temporal.

Mi error es solo poner la última vez temp y Jacobi temp en una variable.
El código lo edito de la siguiente manera. Lo siento

subrutina one_d_linear_convt_impl (c, dt, t, dx, x, u0, u, epsilon)

implícito ninguno
real (kind = 8), intent (in) :: c, dt, dx, t, x, epsilon
real (tipo = 8) :: suma
entero :: itime, ispace
real (tipo = 8), dimensión (:), intento (in) :: u0
real (tipo = 8), dimensión (tamaño (u0)), intención (fuera) :: u
real (tipo = 8), dimensión (tamaño (u0)) :: ut_last, utemp_J
! real (tipo = 8), externo :: norm2
u = u0
print *, nint (t / dt)
print *, nint (x / dx), c * dt / dx
Do itime = 1, nint (t / dt) +1

! ============ Jacobi iteration ============
ut_last = u

hacer
suma = 0
utemp_J = u

do ispace = 2, nint (x / dx)! obtenga Xn + 1 por Xn

u (ispace) = ut_last (ispace) -c * dt / 2.d0 / dx * (utemp_J (ispace + 1) -utemp_J (ispace-1))
sum = (u (ispace) -utemp_J (ispace)) ** 2 + sum
! print *, “used”, u (ispace), utemp_J (ispace)
enddo
u (1) = ut_last (1) -c * dt / 2.d0 / dx * (utemp_J (2) -utemp_J (nint (x / dx)))
u (nint (x / dx) +1) = u (1)
sum = (u (1) -utemp_J (1)) ** 2+ (u (nint (x / dx) +1) -utemp_J (nint (x / dx) +1)) ** 2 + sum
! print *, sum
sum = (sum / (ispace + 1)) ** (1.d0 / 2)! obtenga la norma 2
! if (norm2 (utemp_J-u) <epsilon) sale
! print *, sum, epsilon
if (sum <epsilon) sale

enddo
! u (1) = ut_last (1) -c * dt / dx * (ut_last (1) -ut_last (nint (x / dx)))
print *, itime
enddo
finalizar subrutina one_d_linear_convt_impl

Si desea una respuesta sobre algún código, ¿qué tal si los principiantes hacen que su código sea un poco legible?

De todos modos, la iteración de Jacobi generalmente supone un dominio diagonal, por lo que es poco probable que funcione con problemas de convección.

More Interesting

¿Qué implicaciones de seguridad tendría una computadora cuántica en la seguridad de los mecanismos de autenticación en DNSSEC?

¿La mecánica cuántica es realmente aleatoria? ¿Es posible que existan leyes más altas que gobiernen la mecánica cuántica?

¿Cómo afecta la física cuántica a la cinética química?

¿Qué opinas de la esencia de la mecánica cuántica?

¿Podría la mecánica cuántica desarrollar una forma de manipular las estructuras moleculares?

¿Cuáles son buenos temas sobre computación cuántica?

¿Deberán reconstruirse los lenguajes de programación frente a la computación cuántica? ¿Valdría la pena que?

En computación cuántica, ¿qué significa que tres qubits pueden realizar ocho cálculos?

¿Podemos estudiar física cuántica después de obtener el grado de ece?

¿Existe algún tipo de mecanismo al que se puedan reducir todos los eventos en el universo?

¿La computación cuántica es solo un concepto o tiene aplicaciones prácticas que se pueden aplicar en la tecnología ahora?

En la teoría cuántica, ¿cómo puede una partícula estar en todas partes a la vez? ¿Es posible crear tecnología que permita a los humanos estar en todas partes a la vez?

¿Crees que las computadoras cuánticas pueden violar la tesis extendida de Church-Turing?

¿Cuál sería la (s) siguiente (s) invención (es) más significativa debido a la mecánica cuántica?

¿Cuáles son las ramificaciones de la computación cuántica para la criptografía, cuáles serán?