Está en la página 1de 9

EXAMEN PARCIAL UNIDAD II

FISICA COMPUTACIONAL 2
ALUMNO : HEYSER CORONEL CHINCHAY
UNPRG – CICLO 2020 I

1. Considere la ecuación de Poisson

de la electrostática para una geometría rectangular con x ∈ [0, Lx] e y ∈[0,


Ly]. Escribe un programa que resuelva esta ecuación usando el método
relajación. Pruebe el programa con: (a) ρ (x, y) = 0, φ (0, y) = φ (Lx, y) = φ
(x, 0) = 0, φ (x, Ly) = 1V, Lx = 1m y Ly = 1,5m
(b) ρ (x, y) / 0 = 1 V / m2, φ (0, y) = φ (Lx, y) = φ (x, 0) = φ (x, Ly) = 0, y
Lx = Ly = 1 m.
EL PROGRAMA :
PROGRAM Poisen
parameter(IT=50,ER=0.01,OM=1.15,NM=8, IC=4)
real T(0:NM,0:NM)

rm=2.*ER
dx = (1.0*IC)/NM
T=0.
do i=0, NM
T(i,NM) = (dx*i)**3
T(NM,i) = 16.*dx*i
end do
n1=NM-1; l=0
do while (rm > ER.and.l<=IT)
rm=0.
l=l+1
do i=1, n1
do j=1, n1
call Schema(r,i,j,T)
T(i,j) = T(i,j) + 0.25*OM*r
if (abs(r) > rm) rm=abs(r)
end do
end do
end do
if (l<IT) then
print *,' Niter Max. residual W'
write(*,110) l,rm,OM
print *,' Potencial'
do j=NM, 0, -1
write(*,120) (T(i,j),i=0,NM)
end do
else
print *,' Convergence, RMAXI=', rm
end if
stop

110 format(' ',I4,' ',F8.4,' ',F8.2)


120 format(9F8.3)

end

subroutine Schema(r,i,j,T)
parameter(NM=8)
real T(0:NM,0:NM)
r = T(i+1,j)+T(i-1,j)+T(i,j+1)+T(i,j-1)-4*T(i,j)
return
end
2. Resuelva la ecuación de Schrodinger dependiente del tiempo utilizando el
método Crank-Nicolson. Considere el caso unidimensional y pruebe aplicando
para el problema de un pozo cuadrado con un estado inicial gaussiano viniendo
de la izquierda.
3. Escriba un programa que resuelva la ecuación de onda de una cuerda finita con
ambos extremos fijos. Suponga que se dan el desplazamiento y la velocidad
iniciales. Pruebe el programa con alguna elección específica de la condición
inicial.

Considere el movimiento de las ondas estacionarias en una cuerda ligera y uniforme que
tiene ambos extremos fijos (x = 0 y x = 1). La ecuación de onda

Con condiciones iniciales:

EL PROGRAMA:

PROGRAM HYPERBOLIC
PARAMETER (IDM=100)
DIMENSION X(IDM),T(IDM),U(IDM,IDM)
REAL GAM,HT,HX,NT,NX,PI
OPEN(UNIT=11,FILE='HIPERBÓLICA.TXT',STATUS='UNKNOWN',ACTION='WRITE')
PRINT*,''
PRINT*,
'====================================================================='
PRINT*,' HYPERBOLIC PARTIAL DIFFERENTIAL EQUATION'
PRINT*,'================================================================
== ===='
PRINT*,''
PRINT*, 'INGRESAR EL RANGO INFERIOR DE LA VARIABLE X (X=0):'
READ(5,*) AX
PRINT*, 'INGRESAR EL RANGO SUPERIOR DE LA VARIABLE X (X=1):'
READ*, BX
PRINT*, 'INGRESAR EL NUMBER DE SUBINTERVALOS DE X (N=10):'
READ*, NX
PRINT*,'INGRESAR EL RANGO INFERIOR DE LA VARIABLE T (T=0):'
READ*,AT
PRINT*, 'INGRESAR EL RANGO SUPERIOR DE LA VARIABLE T (T=1):'
READ*, BT
PRINT*, 'INGRESAR EL NUMBER DE SUBINTERVALOS DE T (N= 20):'
READ*, NT
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS COMPUTACIONALES")'
PRINT*,('*',I=1,79)
PRINT*,''
PI = 4.0*ATAN(1.0)
HX=(BX-AX)/NX
HT=(BT-AT)/NT
DO I=1,NX+1
X(I)=(I-1)*HX
ENDDO
DO J=1,NT+1
T(J)=(J-1)*HT
ENDDO
DO I=2,NX
X(I)=(I-1)*HX
U(I,1)=F(X(I))
U(I,2)=U(I,1)+HT*G1(X(I))
ENDDO
DO J=1,NT+1
U(1,J)=0
U(NX+1,J)=0
ENDDO
A=1
GAM=(A**2)*(HT**2)/(HX**2)
WRITE(11,7)AT,(AT+(L1-1)*HT,L1=1,NT+1)
!PRINT'(2X,F5.2,21F5.2)',AT,(AT+(L1-1)*HT,L1=1,NT+1)
DO J=2,NT
DO I=2,NX
U(I,J+1)=-U(I,J-1)+GAM*U(I-1,J)+(2-2*GAM)*U(I,J)+GAM*U(I+1,J)
ENDDO
ENDDO
7 FORMAT (2X,F5.2,21(3X,F5.2))
DO I=1,NX+1
WRITE(11,9)AX,(U(I,J),J=1,NT+1)
PRINT '(2X,F5.2,21F8.4)',AX,(U(I,J),J=1,NT+1)
AX=AX+HX
ENDDO
9 FORMAT(2X,F5.2,21F8.4)
PRINT*,''
STOP
CONTAINS
FUNCTION F(X)
REAL X,F
F=SIN(PI*X)+0.5*SIN(3*PI*X)
RETURN
END FUNCTION
FUNCTION G1(Y)
REAL Y,G1
G1=0+0*Y
RETURN
END FUNCTION
END

También podría gustarte