270 likes | 429 Views
Uso de las herramientas de cómputo de software libre Scilab, Octave y Python para el estudio de las cargas verticales y tangenciales en el contacto rueda-riel. Msc . Enrique J. Limongi E. Ing. Alejandro Gómez. Introducción.
E N D
Uso de las herramientas de cómputo de software libre Scilab, Octave y Python para el estudio de las cargas verticales y tangenciales en el contacto rueda-riel Msc. Enrique J. Limongi E. Ing. Alejandro Gómez
Introducción • El uso de las TIC para investigación y desarrollo es un elemento fundamental en la realización y planificación de una actividad pedagógica. • Los modelos analíticos describen fenómenos, que con el paso del tiempo, requieren de velocidades de cálculo no accesibles a las capacidades humanas. • El costo elevado del software propietario y las limitaciones que para ello implica en las instituciones públicas frente a las alternativas de software libre de menor costo.
Objetivos • Determinar la interacción entre Python, Scilab y Octave como herramienta pedagógica frente al fenómeno de deslizamiento en el contacto rueda-riel. • Evaluar la utilidad y la velocidad de cómputo de la herramienta en ambiente Linux 32bit para bajas rutinas de prueba. • Establecer la facilidad del manejo del lenguaje script para la ejecución de pruebas respecto al lenguaje natural. • Identificar la conectividad de las herramientas de cómputo para el uso de scripts en diferentes ámbitos.
Formulación de la superficie de contacto Modelos de Contacto rueda-riel Desarrollo del trabajo
Formulación de las cargas en el punto de contacto El análisis parte de establecer la relación entre las cargas del eje y las cargas en el punto de contacto. Y L X Q α N fy
Modelo de Carter • Es el primer modelo propuesto que relaciona las fugas y el deslizamiento. • Solo se toman en consideración las cargas longitudinales, las cargas laterales no son tomadas en cuenta.
Modelo Lineal de Kalker • Establece un modelo tridimensional, con cargas normales, longitudinales y laterales. • Es un modelo lineal donde la relación fuga vs carga es directamente proporcional hasta el limite de roce de colomb.
Modelo Simplificado de Kalker • Se describe la distribución de presiones tangenciales en la superficie de contacto. • Las cargas se obtienen integrando la distribución de presión tangencial. • Es posible aplicarlo para superficies cuya zona de contacto no sea de geometría hertziana.
Modelo de Shen-Hedrick-Elkins • Consiste en un reajuste del modelo de Kalker con el fin de ajustarse mejor las cargas ante fugas altas. • Se le denomina modelo heurístico pues no introduce un modelo físico asociado al fenómeno.
Modelo de Polanch • Se basa en una solución a la integración de la distribución de presión tangencial del modelo simplificado de Kalker. • Se le denomina modelo de cómputo rápido ya que se propuso como alternativa al modelo simplificado para obtener soluciones aproximadas en menor tiempo.
Descripción de Python, Scilab y Octave Herramientas de cómputo
Python • Es un lenguaje multiparadigma , interpretativo y de alto nivel. • Fue creado con la finalidad de código de síntesis simple y fácilmente legible. • La implementación (interprete) CPython logra operaciones de computo en tiempo competitivo con la posibilidad de copilar las librerías antes de su uso. Ejemplo de programa en python: importmath#Ejemplo de importación de modulo Q=25 #Ejemplo de variable, no hace falta especificar el tipo de memoria pues se asigna automáticamente. foriin[1 3 4 5]: A=math.exp(i) #Elabora una bucle donde el valor de «i» es asignado a cada valor de la cadena. Print«Mi número favorito es » A*Q «.» #Ejemplo de impresión en la pantalla del terminal.
Octave • Es un lenguaje interpretativo y de alto nivel. • Es utilizado para prácticas de cálculo numérico, con sintaxis similar a Matlab. • Su interprete esta escrito en C++, funciones adicionales pueden ser elaboradas en el lenguaje nativo de Octave o en C++. Ejemplo de programa en Octave: #Octave no quiere importar módulos de manera obligatoria si estos están en la misma carpeta. Q=25 #Ejemplo de variable, no hace falta especificar el tipo de memoria pues se asigna automáticamente. fori =[1 3 4 5] A=exp(i) end#Elabora una bucle donde el valor de «i» es asignado a cada valor de la cadena. Disp(A*Q) #Ejemplo de impresión en la pantalla del terminal.
Scilab • Es un lenguaje interpretativo y de alto nivel. • Su lenguaje de programación se asemeja a Matlab no obstante no está pensando para ser compatible con el. • Su interprete está escrito en Java, y permite importan funciones en distintos lenguajes entre ellos, FORTRAN y C++. Ejemplo de programa en Scilab: getd(); #Scilab requiere cargar las librerías antes de ejecutar un programa o script. Q=25 ;#Ejemplo de variable, no hace falta especificar el tipo de memoria pues se asigna automáticamente. fori =[1 3 4 5] A=exp(i) end#Elabora una bucle donde el valor de «i» es asignado a cada valor de la cadena. Disp(A*Q); #Ejemplo de impresión en la pantalla del terminal.
Diferencias principales Python. Scilab y Octave. Son programas de cómputo de cálculo numérico, y la elaboración de programas está limitado a ello. La síntesis de Scilab y Octave está orientada a ser similar a Matlab. Scilab y Octave poseen una serie de funciones de control. Scilab posee adicionalmente una aplicación para funciones de bloque, Xcos. • Es un lenguaje de programación para elaboración de programas, con módulos para generar ventanas, páginas web o gráficos. • La síntesis del programa es propia de Python. • Python no posee módulos de control terminados.
Marco legal involucrado Dos antecedentes legales marcan las necesidad de establecer la utilidad de las programas de cómputo: • Decreto No. 3.390 (2004), ejecutado el 23 de diciembre de 2004 bajo el actual gobierno del presidente de la República Bolivariana de Venezuela, Hugo Chávez Frías, donde se establece la transición del Estado Venezolano al uso de programas de software libre. • Gaceta Oficial N° 39633: Resolución mediante la cual se establece el uso de Canaima GNU/Linux como sistema operativo de Software Libre en las estaciones de trabajo de los Órganos y Entes de la Administración Pública Nacional
Resultados de tiempo de cómputo, formulación de problemas en lenguaje script y aplicaciones Resultados
Aspectos de las pruebas • Se realizaron pruebas de tiempo de cómputo, para analizar la potencia de cálculo que posee cada herramienta de programación interpretativa. • Se consideraron los aspectos más importantes de un lenguaje natural de programación de cada lenguaje y su uso como herramienta para describir elementos físico en ambiente virtual. • Se realizaron en Linux 32 bit, si bien las arquitecturas 64 bit utilizadas para simulaciones y altas iteraciones de cómputo, su uso está orientado a ordenadores con procesadores Intel recientes o procesadores AMD. Estos procesadores no se encuentran ubicados en la totalidad del mercado de aplicaciones y ordenadores.
Resultados bajo el modelo de Carter • Al evaluar el tiempo de cómputo en el modelo de Carter de contacto rueda riel. Se observa la tendencia lineal del tiempo de estimación contra el número de iteración. • Scilab obtuvo un alto grado de dispersión en los resultados motivado a la baja resolución de las librerías para el cálculo de tiempo de trabajo entre operaciones. • Para el modelo Carter, Python obtuvo el mejor tiempo, Octavey Scilab realizaron las operación en más tiempo, con diferencias porcentuales de 3153% y 2036%.
Resultados bajo el modelo de Kalker lineal • Al evaluar el tiempo de cómputo en el modelo de Kalker, al igual que el modelo de Carter. Se observa la tendencia lineal del tiempo de estimación contra el número de iteración. • En el modelo Carter, Python obtuvo el mejor tiempo, Octaveobtuvo el segundo tiempo de cómputo, con una diferencia porcentual respecto a Python de 111%. La diferencia porcentual más importante fue con Scilab de 315%.
Resultados bajo el modelo simplificado de Kalker • Se mantiene el comportamiento lineal entre la relación tiempo de cómputo vs número de iteraciones. • A diferencia de los modelos indicados, Carter y Kalker Lineal, Scilab realizo las operaciones de cómputo en menor tiempo. • Python obtuvo una diferencia porcentual respecto a Scilab de 114%, en cambio Octave en 334%
Resultados bajo el modelo heurístico de Shen-Hedrick-Elkins • Se mantiene el comportamiento lineal entre la relación tiempo de cómputo vs número de iteraciones. • Con respecto al tiempo de estimación, se obtuvieron posiciones similares a los resultados de Kalker Lineal, siendo Python el sistema de cómputo de menor tiempo y Scilab el de mayor tiempo. • Octave obtuvo una diferencia porcentual respecto a Python de 111%, en cambio Octave en 313%
Resultados bajo el modelo de Polanch • Se mantiene el comportamiento lineal entre la relación tiempo de cómputo vs número de iteraciones. • Con respecto al tiempo de estimación, se obtuvieron posiciones similares a los resultados de Kalker Lineal y Shen, siendo Python el sistema de cómputo de menor tiempo y Scilab el de mayor tiempo. • Octave obtuvo una diferencia porcentual respecto a Python de 112%, en cambio Octave en 318%
Resumen de los resultados • Los modelos se pueden agrupar en tres clasificaciones: modelos sin interpolación de constantes, modelos con interpolación de constantes y modelos de integración superficial. • Los modelos sin interpolación, como el modelo de Carter. Python obtuvo resultados 10 veces menores a los tiempos obtenidos con Scilab y Octave. • Modelos con interpolación, como Kalker Lineal, Shen y Polanch. Python destacó con menor tiempo de cómputo, superando al doble en Octave y 4 veces Scilab. • Para modelos de integración, como Kalker Simplificado, Scilab obtuvo un tiempo 2 veces menor al registrado con Python y 4 veces menor que Octave.
Resumen del análisis de sintaxis de programación • En el análisis de la síntesis de los lenguajes de programación. Se tomó en cuenta las diferencias de cada lenguaje respecto al lenguaje natural. • Python, es por tanto el lenguaje con diferencias en sintaxis mas destacadas, por el hecho de no integrar las librerías a las redacción del programa, resultando incomodo a la hora de realizar tareas de fenómenos físicos detallados. • Scilab y Octave comparten características similares en su lenguaje de escritura, siendo la ventaja mas destacada la integración las librerías de computo. • Scilab, de manera similar a Python, no reconoce las librerías adicionales de manera automática y deben ser convocadas al principio de cada aplicación. • Python permite manejar la programación orientada a objeto, pudiendo ser útil en la atribución de fenómenos físico a un objeto y no a una rutina.
Conclusiones • Tanto el alumno como el docente requieren de sistemas de cómputo factibles para su uso en la transición del software privativo al software libre, los programas estudiados en este trabajo cumplieron con la meta de trabajo independientemente de los puntos de evaluación. • Python, destacó en la velocidad de cómputo en operaciones de interpolación y operaciones booleanas simples (modelo de Carter). No obstante no obtuvo los mejores resultados en modelos de integración superficial. • Octave, obtuvo tiempos de cómputo bajos sin superar a Python en modelos de interpolación de constantes. Sin embargo su fuerte radica en la sintaxis que deriva de Matlab, con la opción de ser compatible con el. Siendo una opción para los proceso de transición tecnológica. • Scilab, realizó operaciones de cómputo en mayor tiempo, salvo por los modelos de integración superficial. El fuerte de Scilab está en la gama de librerías que posee, siendo una opción viable para su uso en procesos de transición tecnológica y en operaciones de cómputo con librerías más complejas.