Trabajo Mantencion
Trabajo Mantencion
Trabajo Mantencion
Alumno:
Hugo Muñoz Valdivia
Correo electrónico:
[email protected]
Profesor:
Cristóbal Castro
Asignatura:
EFP: “MECANICA COMPUTACIONAL”
ARICA-CHILE
2019
2
DESARROLLO
Para graficar las curvas con la trayectoria del proyectil, se necesitó utilizar la
librería “matplotlib.pylab” y definir las ecuaciones del lanzamiento parabólico.
Las líneas involucradas para el desarrollo de una curva corresponden a las
líneas de código 8 hasta la línea 24 (Figura 1), donde se puede observar que
para el desarrollo de este, se definieron las variables gravedad (g), ángulo de
inclinación (teta), punto de partida (x0, y0) y velocidad inicial (v0).
Figura 1.
3
Una vez definida las funciones del lanzamiento parabólico, es necesario
definir el “suelo” es decir cuándo y(t) = 0, para esto se realizaron la secuencia
de comandos presente en la figura 2.
Figura 2.
Figura 3.
4
Grafico 1.
Figura 5.
5
3. Calcular el tiempo de vuelo
6
El código desarrollado para resolver el problema viene dado por el siguiente
extracto de líneas:
import numpy as np
import matplotlib.pylab as plt
def main():
#datos#
g=9.81 #Valor de la gravedad (m/s^2)
teta=35.0 #Angulo de inclinación del lanzamiento
(x0,y0)=(0.0,0.0) #Valores de partida
v0=100.0 #Velocidad inicial del lanzamiento (m/s)
#ecuaciones#
#ecuaciones2#
v01=((xmax*g/(np.sin(np.deg2rad(2*omega)))))**0.5 #Velocidad necesaria para llegar a xmax
v0a=v01*np.cos(np.deg2rad(omega)) #Velocidad inicial en el eje x (m/s)
v0b=v01*np.sin(np.deg2rad(omega)) #Velocidad inicial en el eje y (m/s)
tiemposuelo1= ((v0b/g)**2.0 + (2.0*b0/g))**(0.5) + v0b/g #tiempo final (s)
t1=np.linspace(0.0,tiemposuelo1,20.0) #Valores de tiempo (s)
a=a0+(v0a*t1) #Distancia en el eje x a cierto tiempo (m)
b=b0+(v0b*t1)-((0.5)*g*(t1**2.0)) #Distancia en el eje y a cierto tiempo (m)
bmax=((v01**2.0)*np.sin(np.deg2rad(omega))*np.sin(np.deg2rad(omega)))/(2.0*g) #Altura
máxima (m)
amax=a0+(v0a*tiemposuelo1) #Distancia máxima suelo (m)
tbmax=(((bmax*2)/g)**0.5) #Tiempo transcurrido a la altura máxima (s)
abmax=x0+(v0a*tbmax) #Distancia recorrida a la altura máxima (m)
7
#ecuacion suelo#
w1=0.0
w0=0.0
q1=4.0
q0=0.0
m=(w1-w0)/(q1-q0)
q=np.linspace(0.0,1000.0,20.0)
n=0
w=(m*q)+n
#grafico#
plt.figure(1)
plt.clf()
plt.plot(x,y,'b-*',label='Lanzamiento 1')
plt.plot(a,b,'r-o',label='Lanzamiento 2')
plt.plot(q,w,'y-', label='suelo')
plt.ylabel('Altura de desplazamiento, y [m]')
plt.xlabel('Longitud de desplazamiento, x [m]')
print ('El tiempo de vuelo es de',tiemposuelo)
print ('El alcance maximo del objeto es', xmax)
print ('La altura máxima que alcanza el objeto es', ymax)
print ('El tiempo que demora en alcanzar la altura maxima es', tymax)
print ('La distancia que recorre al alcanzar la altura maxima es', xymax)
print ('---------------------------------')
print ('El tiempo que demora en tocar el suelo es',tiemposuelo1)
print ('El alcance máximo del objeto es', amax)
print ('La velocidad que necesita para llegar a xmax es', v01)
print ('La altura máxima que alcanza el objeto es', bmax)
print ('El tiempo que demora en alcanzar la altura maxima es', tbmax)
print ('La distancia que recorre al alcanzar la altura maxima es', abmax)
plt.text(xymax,ymax,'Punto de máxima altura')
plt.text(abmax,bmax,'Punto de máxima altura')
plt.legend()
plt.grid()
plt.title('Curva de lanzamiento parabolico')
return 0
main()