Marketing

91 views

Reporte marco de una bicicleta

Se muestra como en MATLAB se puede hacer el marco de una bicicleta de manera más eficiente y que soporte lo esfuerzos necesarios.
of 8

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Tags
Transcript
    UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN Facultad de Ingeniería Mecánica y Eléctrica Laboratorio de Biomecánica Práctica #1 Descripción y uso del código de optimización topológica de 99 líneas en Matlab Nombre: Alexis Omar Rodríguez Ortega 1598053 Brigada:  507 Horario: Viernes N1 Profesor: M.I. Dante Ferreyra Mendez San Nicolás de los Garza, Nuevo León a 26 de agosto de 2016  Práctica #1   Descripció y uso del código de optiizació topológica de 99 líeas e M TL B   Objetivo: El estudiante conocerá cada una de las secciones que integran el código de optimización topológica, como se debe de crea el archivo (.m) en MATLAB y como se ejecuta el análisis. Marco Teórico: Un problema clásico de la ingeniería consiste en determinar la configuración geométrica óptima de un cuerpo que minimice o maximice una cierta función objetivo, al mismo tiempo que satisface las restricciones o condiciones de contorno del problema. La solución de este problema puede ser planteada utilizando dos estrategias: como un problema de optimización de forma o de optimización de la topología. La optimización de forma consiste en modificar la geometría del dominio preservando su topología, es decir sin crear huecos o cavidades en su interior. Este tipo de análisis es usualmente conocido como análisis de sensibilidad al cambio de forma y sus bases matemáticas se encuentran bien establecidas. El principal inconveniente del análisis de sensibilidad al cambio de forma es que sólo permite cambios en la frontera del dominio, lo que limita su campo de aplicación. Una manera más general de controlar un dominio es mediante modificaciones de su topología, lo que permite obtener la configuración deseada partiendo de una morfología inicial distante de la óptima. Los métodos de homogenización son posiblemente los más utilizados para la optimización topológica. Estos consisten en caracterizar la topología a través de su densidad, es decir, los huecos se identifican con regiones de densidad nula. De esta forma la solución del programa resulta en una distribución ficticia de material. Matlab es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El código de optimización topológica de 99 líneas en Matlab que se utilizara en este laboratorio se divide en 36 líneas para la programación principal, 12 líneas para los criterios de optimización, 16 líneas para el filtro de mallado y 35 líneas para el código de elemento finito. De hecho, excluyendo las líneas de comentarios y líneas asociadas con la producción y el análisis de elementos finitos, el código resultante es de solo 49 líneas. Este código fue desarrollado por O. Sigmund, Department of Solid Mechanics, Building 404, Technical University of Denmark, DK-2800 Lyngby, Denmark. El código puede ser descargado desde la página del autor: http://www.topopt.dtu.dk.  Desarrollo: El código de Matlab (Apéndice #) está compuesto como un código de optimización topológica estándar, el cual está listo para ser interpretado por MATLAB luego de llevar a cabo la siguiente serie de sencillos pasos: 1)   Abrir Matlab y esperar a que éste se inicialice, y muestre su pantalla principal. 2)   Una vez en la pantalla de inicio de MATLAB es necesario seleccionar en la barra de herramientas Home -> New -> Script, tal como muestra la figura 1, con lo que se abre un editor de texto, dentro del cual será necesario escribir el código proporcionado. Figura 1.- Opción a seleccionar para crear un nuevo script en MATLAB 3)   Una vez con el código completamente escrito en el editor de texto, es necesario salvar el archivo, teniendo especial atención en la ubicación donde se va aguardar el script, así como en el nombre que se le va a asignar al archivo. Se recomienda que el archivo se guarde en el directorio raíz de MATLAB que por default muestra es en el que el editor de texto nos ubica al seleccionar File -> Save como muestra la figura 1.2. En caso de no ser así, debemos de navegar a “ Mis Documentos\  MATLAB” y guardar aquí el script recién creado. La figura 1.2 ejemplifica una script que está siendo guardado en el directorio de MATLAB con el nombre “topp”.  Figura 1.2 Ventana para guardar script, dentro de la carpeta raíz de MATLAB 4)   Una vez guardado el script en el directorio correcto, solo hace falta corroborar que el intérprete de MATLAB se encuentre en el mismo directorio. Esto se hace desde la pantalla principal de MATLAB. Para la versión R2010a del software, el directorio actual del  intérprete se encuentra en la barra de herramientas superior, como muestra la figura 1.3. Figura 1.3 Directorio actual del intérprete de MATLAB 5)   Por último, hay que ejecutar el programa desde la ventana de comando de MATLAB. El código que se proporcionó, viene preparado para optimizar un dominio de diseño con cargas y restricciones como el mostrado en la figura 1.4a, este caso en particular, es evaluado y simulado cuando escribimos desde la línea de comando de MATLAB “topp(60,20,0.5,3.0,1.5)”. El re sultado de esta simulación se muestra en la figura 1.4b. Figura 1.4a Dominio e diseño, carga y restricciones propuestas. Figura 1.4b Resultado: Dominio de diseño optimizado.  Reporte: 1.   Describir cada una de las partes principales del código de 99 líneas en Matlab. El código de Matlab se construye como un estándar código de optimización de la topología. El  programa principal es llamado desde la línea de Matlab por “topp(nelx,nely,volfrac,penal,rmin)”, donde nelx y nely son el número de elementos en el direcciones horizontal y vertical, respectivamente, volfrac es la fracción de volumen, penal es el poder penalización y Rmin es el tamaño del filtro (dividido por el tamaño del elemento). Main Program (Línea 1  –  36) Se inicia mediante la distribución de la materia de manera uniforme en el dominio de diseño (línea 4). Después de algunas otras inicializaciones, el bucle principal comienza con una llamada a la subrutina de Elementos Finitos (línea 12), que devuelve el vector de desplazamiento U. Dado que la matriz de rigidez elemental para el material sólido es la misma para todos los elementos, el elemento subrutina matriz de rigidez se llama una sola vez (línea 14). Después de esto, un bucle sobre todos los elementos (líneas 16- 24) determina la función y sensibilidades objetivo (4). Las variables n1 y n2 denotan parte superior izquierda y derecha números de nodo elemento en números de nodo y son globales utilizado para extraer el elemento de vector de desplazamiento de Ue. El vector de desplazamiento global de U. El análisis de sensibilidad es seguido por una llamada al filtro de malla-independencia (Línea 26) y el optimizador de criterios de optimalizad (línea 28). El cumplimiento actual, así como otros parámetros son impreso por las líneas 30-33 y la distribución de densidad resultante se traza (línea 35). El bucle principal se termina si el cambio en las variables de diseño (cambio determinado en línea 30) es menor que 1percent2. De lo contrario pasos anteriores son repetidos. Optimality criteria based optimizer (Línea 37  –   48) Las variables de diseño se encuentran actualizados por el optimizador (líneas 37-48). Sabiendo que el volumen de material (Sum (sum (xNew))) es una función monótonamente decreciente del multiplicador de Lagrange (lag), el valor del multiplicador de LaGrange que satisface la restricción de volumen se pueden encontrar mediante un algoritmo de seccionamiento bi (líneas 40-48). El algoritmo bi-seccionamiento se inicializa adivinando un l1 l2 inferior y un límite superior para la función de Lagrange multiplicador (línea 39). El intervalo que delimita la función de Lagrange multiplicador se reduce a la mitad varias veces hasta que su tamaño es menos de los criterios de convergencia (línea 40). Mesh-independency filtering (Línea 49  –  64) Líneas 49-64 representan la aplicación de Matlab. Tenga en cuenta que no todos los elementos en el dominio de diseño son buscados con el fin de encontrar los elementos que se encuentran dentro Rmin la radio, pero sólo aquellos dentro de un cuadrado de lado longitudes de dos veces la vuelta (Rmin) alrededor del considerado elemento. Al seleccionar Rmin menos de uno de la llamada de la de rutina, las sensibilidades filtrados serán iguales a la srcinal sensibilidades que hacen el filtro inactivo.
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks