' Bloque de definiciones ' Propiedades físicas input "¿Conductividad térmica? "; KT input "¿Densidad? "; DEN input "¿Cp? "; CP ' Del experimento input "¿Espesor de la pared? "; ANCHO input "¿Temperatura inicial de la pared? "; TI input "¿A qué temperatura se cambia la superficie? "; TNUEVA ' De la simulación input "¿Incrementos de tiempo? "; DT input "¿A qué tiempo se detendrá la simulación? "; TIEMPOMAX input "¿Número de nodos internos? "; N input "¿Cada cuantos ciclos de tiempo desea imprimir los resultados? "; TL input "¿Cuál es el factor de tolerancia? "; eps Dim T(50), D(50) LMAX=INT(TIEMPOMAX/DT)+1 N1=N+1 DX=ANCHO/N print "El incremento espacial es ", DX ' Inicialización ' La pared está a la temperatura T inicial a tiempo = 0 T(0) = TNUEVA TIEMPO = 0.0 for i=0 to N T(i)=TI next i CONT = 0 Temp = 0 A = (KT*DT)/(DEN* CP * DX^2) B = 1 + 2*A PRINT "TIEMPO TEMPERATURA" PRINT TIEMPO, FOR J=0 TO N PRINT T(J), NEXT J PRINT T(0)=TNUEVA ' Se calculan las nuevas temperaturas iterativamente con el tiempo for i=1 to LMAX T(N1) = T(N) TIEMPO=TIEMPO + DT ' Para determinar si se imprime o no CONT=CONT+1 ' Se calcula el valor previo de Di FOR J=0 TO N D(J) = T(J)/B NEXT J ' Se calcula la suma de los errores para este ciclo do seps = 0.0 for k=1 to N Temp = T(k) T(k) = D(k)+ A/B*( T(k-1) + T(k+1) ) seps = seps + abs( T(k) - Temp ) next k loop until seps <= eps if CONT=TL then print TIEMPO, for x=0 to N print T(x), next x print CONT = 0 end if next i