scieee AI-readable full text Open interactive document viewer

Análisis del uso de intercambiadores de calor en la industria láctea

Llorente Camacho, María José

Abstract

El diseño de un intercambiador de calor para la industria láctea no es un problema sencillo. Se han de combinar conocimientos multidisciplinares para alcanzar una solución acorde a los requerimientos. Por un lado, es importante conocer la microbiota de la leche, y los posibles efectos que ésta pueda tener en la salud del consumidor o en el estado del producto. El consumo de productos lácteos, presentes en nuestra alimentación desde hace miles de años, se ha ido incrementando a lo largo de la historia, llegando a ser un pilar fundamental en la economía y en la alimentación a nivel global. Sin embargo, las características del producto lo convierten en un medio proclive para la proliferación de bacterias. La forma de combatir estos microorganismos, en ocasiones patógenos, y provocar su inactivación o destrucción hasta niveles seguros, es la aplicación de tratamientos térmicos. Estos consisten en someter el producto a altas temperaturas durante un determinado tiempo. En la actualidad existen una amplia variedad de tratamientos térmicos, cada uno de ellos, con una combinación determinada de temperatura y tiempo, tendrá asociado un grado de inactivación de microorganismos. Los tratamientos más comunes , ordenados de menor a mayor agresividad, son la termización, la pasteurización, la pasteurización a alta temperatura, y el tratamiento UHT (Ultra High Temperature). Sin embargo, someter los productos lácteos a altas temperaturas también provoca una disminución en su calidad, y puede dar lugar a alteraciones de las propiedades organolépticas. Por este motivo, o por imposibilidad técnica, es común que la leche no alcance la temperatura objetivo. En este caso, para conseguir la destrucción de microorganismos deseada será necesario mantener la temperatura máxima alcanzada durante un periodo de tiempo determinado. La industria láctea actual emplea principalmente intercambiadores de doble tubo e intercambiadores de placas para llevar a cabo estos tratamientos. Diseñar un equipo adecuado para las características del proceso implica optimizar no solo parámetros térmicos, sino también mecánicos. Consiste en dimensionar las áreas de transferencia en base al balance térmico teniendo en cuenta, entre otras, las pérdidas de presión que la geometría del equipo puede causar en los fluidos. Todo ello, además, adoptando los requerimientos higiénicos que impone la industria alimentaria. Este proyecto pretende desarrollar y presentar un Software que, de manera sencilla y preliminar, permita combinar todos estos factores. Por un lado, permitirá evaluar los perfiles de temperatura obtenidos al hacer pasar dos fluidos por un intercambiador. Conociendo la temperatura de salida de la leche, además, se podrá evaluar su grado de inactivación de microorganismos, calculando el tiempo necesario para conseguir el nivel deseado. Por otro lado, el Software permitirá dimensionar el equipo necesario para obtener un balance térmico conocido.

Full text

i Equation Chapter 1 Section 1 Trabajo Fin de Máster Máster en Ingeniería Industrial Análisis del uso de intercambiadores de calor en la industria láctea Autor: María José Llorente Camacho Tutor: Rocío González Falcón Dpto. de Ingeniería Energética Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 iii Trabajo Fin de Máster Máster en Ingeniería Industrial Análisis del uso de intercambiadores de calor en la industria láctea Autor: María José Llorente Camacho Tutor: Rocío González Falcón Profesor Titular Dpto. de Ingeniería Energética Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 v Trabajo Fin de Grado: Análisis del uso de intercambiadores de calor en la industria láctea Autor: María José Llorente Camacho Tutor: Rocío González Falcón El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2023 El Secretario del Tribunal vii Agradecimientos Quiero expresar mi más sincero agradecimiento a todas las personas que contribuyeron de manera significativa en la realización de este trabajo de fin de máster. Sus apoyos, consejos y colaboración fueron fundamentales para llevar a cabo este proyecto con éxito. Me gustaría destacar especialmente la contribución de mis amigos y familiares, quienes me brindaron apoyo emocional y motivación en los momentos más desafiantes de este proceso. Su ánimo constante fue fundamental para mantenerme enfocado en mi objetivo. Agradezco a todos los profesores y compañeros de clase que me han acompañado durante los años de Grado y Máster en la Escuela Técnica Superior de Ingeniería. A todos los que brindaron su ayuda y compañerismo a lo largo de este viaje. Por último, pero no menos importante, agradezco a la Universidad de Sevilla, y a la Escuela Técnica Superior de Ingeniería, por proporcionar siempre los recursos y el entorno propicios para nuestra educación. La formación que hemos recibido aquí ha sido fundamental para nuestro desarrollo académico, profesional y personal. . María J. Llorente Camacho Sevilla, 2023 ix Resumen El diseño de un intercambiador de calor para la industria láctea no es un problema sencillo. Se han de combinar conocimientos multidisciplinares para alcanzar una solución acorde a los requerimientos. Por un lado, es importante conocer la microbiota de la leche, y los posibles efectos que ésta pueda tener en la salud del consumidor o en el estado del producto. El consumo de productos lácteos, presentes en nuestra alimentación desde hace miles de años, se ha ido incrementando a lo largo de la historia, llegando a ser un pilar fundamental en la economía y en la alimentación a nivel global. Sin embargo, las características del producto lo convierten en un medio proclive para la proliferación de bacterias. La forma de combatir estos microorganismos, en ocasiones patógenos, y provocar su inactivación o destrucción hasta niveles seguros, es la aplicación de tratamientos térmicos. Estos consisten en someter el producto a altas temperaturas durante un determinado tiempo. En la actualidad existen una amplia variedad de tratamientos térmicos, cada uno de ellos, con una combinación determinada de temperatura y tiempo, tendrá asociado un grado de inactivación de microorganismos. Los tratamientos más comunes , ordenados de menor a mayor agresividad, son la termización, la pasteurización, la pasteurización a alta temperatura, y el tratamiento UHT (Ultra High Temperature). Sin embargo, someter los productos lácteos a altas temperaturas también provoca una disminución en su calidad, y puede dar lugar a alteraciones de las propiedades organolépticas. Por este motivo, o por imposibilidad técnica, es común que la leche no alcance la temperatura objetivo. En este caso, para conseguir la destrucción de microorganismos deseada será necesario mantener la temperatura máxima alcanzada durante un periodo de tiempo determinado. La industria láctea actual emplea principalmente intercambiadores de doble tubo e intercambiadores de placas para llevar a cabo estos tratamientos. Diseñar un equipo adecuado para las características del proceso implica optimizar no solo parámetros térmicos, sino también mecánicos. Consiste en dimensionar las áreas de transferencia en base al balance térmico teniendo en cuenta, entre otras, las pérdidas de presión que la geometría del equipo puede causar en los fluidos. Todo ello, además, adoptando los requerimientos higiénicos que impone la industria alimentaria. Este proyecto pretende desarrollar y presentar un Software que, de manera sencilla y preliminar, permita combinar todos estos factores. Por un lado, permitirá evaluar los perfiles de temperatura obtenidos al hacer pasar dos fluidos por un intercambiador. Conociendo la temperatura de salida de la leche, además, se podrá evaluar su grado de inactivación de microorganismos, calculando el tiempo necesario para conseguir el nivel deseado. Por otro lado, el Software permitirá dimensionar el equipo necesario para obtener un balance térmico conocido. 17 1. INTRODUCCIÓN a leche es, según la Real Academia Española, el "líquido blanco que segregan las mamas de las hembras de los mamíferos para alimento de sus crías". Sin embargo, el consumo de leche de ciertos animales domésticos se ha extendido más allá de la crianza, siendo una de las bebidas más consumidas a nivel mundial desde las antiguas civilizaciones. Además, es la base para la elaboración de los denominados "productos lácteos", como el queso, la mantequilla, la nata o los yogures, entre otros. Según el Código Alimentario Español, aprobado mediante el Real Decreto 2484/1967, del 21 de septiembre, la denominación genérica de leche hace referencia única y exclusivamente a la leche de vaca. Para hacer referencia a leche de otras hembras de animales será necesario mencionar explícitamente el nombre de la especie correspondiente (leche de oveja, cabra, búfala, camella, burra, etc.) La industria láctea juega un papel fundamental en el sector agroalimentario global, siendo uno de los principales factores estratégicos desde un punto de vista social y económico. A la hora de producir y envasar los productos lácteos existe una amplia gama de tecnología a emplear. Esta tecnología se seleccionará en base a las exigencias alimentarias y sanitarias, a los gustos y costumbres de los consumidores o a la disponibilidad de equipos necesarios en cada caso. El objeto de este proyecto es conocer los microorganismos presentes en la leche y sus posibles efectos en el producto o en la salud del consumidor, con el fin de analizar la necesidad de efectuar determinados tratamientos térmicos sobre ella. Se identificarán además los parámetros de diseño de los intercambiadores de calor involucrados en estos procesos, de tal modo que se pueda presentar un diseño adecuado tanto térmica como mecánicamente. Una vez conocidos los tratamientos térmicos más habituales, su grado de inactivación de microorganismos y la tipología de intercambiadores involucrados en ellos, se presentará un Software desarrollado en base a esto. Dicho Software permitirá al usuario evaluar la eficacia de un intercambiador conocido para la obtención del balance térmico deseado, así como calcular los tiempos y temperaturas necesarios para alcanzar un grado de inactivación bacteriana determinado. Además, el Software permitirá dimensionar geométricamente un intercambiador con el fin de obtener los perfiles de temperatura deseados para un determinado caudal de producto. 1.1 Composición de la leche La composición exacta de la leche depende de diversos factores relacionados tanto con el propio animal como con los procesos de ordeño, transporte y tratamientos posteriores del producto. Estos factores pueden ser, entre otros, los siguientes: • La raza y genética de la vaca. • La edad y fase de lactación del animal. • Factores externos como la alimentación, el tipo de estabulación y la actividad. • La temperatura de almacenamiento tras el ordeño, de transporte y de tratamiento y, en general, los cambios de temperatura a los que se somete el producto. • Reacciones químicas enzimáticas producidas entre los propios componentes de la leche. Nutricionalmente, la leche es un producto complejo formado por más de 100 sustancias. Estas pueden L Introducción 18 encontrarse diluidas, en suspensión o emulsionadas en agua. El Código Alimentario establece unos valores mínimos que debe tener la leche para considerarse apta para su venta. En la Tabla 1 se muestran dichos criterios junto con los valores promedios de la composición de la leche. La grasa de la leche se encuentra principalmente formando glóbulos grasos suspendidos en el agua. Únicamente entre el 0,8% y el 3,35% de dicha grasa se encuentra en disuelta en el suero. Además, menos del 2,18% del contenido graso se encarga, junto con ciertas proteínas, de formar la membrana del glóbulo, evitando que éstos se aglutinen entre sí. Al contrario de lo que ocurre en la mayoría de grasas animales, los lípidos de la leche están formados principalmente por cadenas cortas de ácidos grasos (de 4 a 8 átomos de carbono). Existe una relación directa entre el contenido de grasas y de proteínas en la leche. Estas proteínas se pueden dividir en caseínas (en torno al 80%), que se encuentran principalmente formando micelas, y seroproteínas (en torno al 20%), con estructura globular. Una diferencia fundamental entre ambas es que las caseínas precipitan al alcanzar un pH inferior a 4,6, mientras que las proteínas del suero permanecen. Además, estas últimas son térmicamente inestables. El carbohidrato predominante en la leche es la lactosa, que se encuentra disuelta en el suero de la leche, con una concentración de entre 45 y 50 g/l. La lactosa es un azúcar que se sintetiza en las ubres de las vacas a partir de una molécula de galactosa y otra de glucosa. Ambas moléculas también se encuentran presentes en la leche de forma independiente, aunque en una concentración mucho menor. Por último, los principales minerales incluidos en la composición de la leche son: potasio (1,38 g/l), calcio (1,25 g/l), cloro (1,03 g/l), fósforo (0,96 g/l) y otros minoritarios como el sodio, azufre, magnesio, hierro, zinc, etc. Tabla 1 Composición de la leche Compuesto Cód. Alimentario Valor medio Agua - 87% - 88% Grasas ≥ 3% 2% - 8% Proteínas ≥ 3,2% 3,2% - 3,5% Carbohidratos ≥ 4,2% 4,2% - 4,9% Minerales - 0,7% Cenizas ≥ 0,65% - Extracto seco magro ≥ 8,2% - Ácido láctico ≤ 0,002 g/l - 1.2 Propiedades termofísicas De la composición específica de la leche dependerán, en gran medida, sus propiedades termofísicas. Para una aplicación real es recomendable analizar una muestra del producto para determinar los valores de densidad, calor específico, conductividad térmica y viscosidad en función de la temperatura. Sin embargo, existen modelos matemáticos basados en la experimentación que predicen estos valores. Un modelo ampliamente utilizado para el cálculo de estas propiedades en alimentos es el modelo matemático de Choi y Okos. Con solo saber la composición proximal y la temperatura del alimento, podemos determinar: densidad, calor específico, conductividad térmica, difusividad térmica (Martínez Saldaña, Dr. Siche Jara 2011). Según este método, las propiedades termofísicas de la leche se pueden evaluar como se muestra a continuación. El subíndice i representa a cada componente de la leche, siendo xi la fracción másica que representa dicho componente en el producto final. El valor T representa la temperatura a la que se obtendrán las propiedades. Densidad (kg/m3) 1 𝜌=∑𝑥𝑖 𝜌𝑖 (𝑘𝑔 𝑚3) (1) 19 Donde: 𝜌𝑎𝑔𝑢𝑎 = 997,18+(0,0031429)𝑇+(0,0054731)𝑇2 𝜌𝑔𝑟𝑎𝑠𝑎 = 925,59−(0,41757)𝑇 𝜌𝑝𝑟𝑜𝑡𝑒𝑖𝑛𝑎 = 1329,9 − (0,5185)𝑇 𝜌𝑐𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠 = 1599,1−(0,31046)𝑇 𝜌𝑐𝑒𝑛𝑖𝑧𝑎 = 2423,8 − (0,28063)𝑇 (Choi, Okos 1986) Conductividad térmica (W/mK) 𝑘=∑𝑘𝑖∗𝑥𝑖 (𝑊/𝑚º𝐶) (2) Donde: 𝑘𝑎𝑔𝑢𝑎 =0,57109+(0,0017625)𝑇−(0,0000067036)𝑇2 𝑘𝑔𝑟𝑎𝑠𝑎 =0,18071−(0,0027604)𝑇−(0,00000017749)𝑇2 𝑘𝑝𝑟𝑜𝑡𝑒𝑖𝑛𝑎 =0,17881+(0,0011958)𝑇−(0,0000027178)𝑇2 𝑘𝑐𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠 =0,20141+(0,0013874)𝑇−(0,0000043312)𝑇2 𝑘𝑐𝑒𝑛𝑖𝑧𝑎 =0,32962+(0,0014011)𝑇−(0,0000029069)𝑇2 (Choi, Okos 1986) Calor específico (J/kgºC) 𝐶𝑝=∑𝐶𝑝𝑖 ∗𝑥𝑖 (𝐽/𝑘𝑔º𝐶) (3) Donde: 𝐶𝑝,𝑎𝑔𝑢𝑎 =4176,2−(0,090864)𝑇−(0,0054731)𝑇2 𝐶𝑝,𝑔𝑟𝑎𝑠𝑎 =1984,2+(1,4733)𝑇−(0,0048008)𝑇2 Cp,proteina =2008,2+(1,2089)T−(0,0013129)T2 𝐶𝑝,𝑐𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡𝑜𝑠 =1548,8+(1,9625)𝑇−(0,0059399)𝑇2 𝐶𝑝,𝑐𝑒𝑛𝑖𝑧𝑎 =1092,6+(1,8896)𝑇−(0,0036817)𝑇2 (Choi, Okos 1986) Viscosidad (Pa.s) Por lo general, la ecuación de Arrhenius describe bien la relación que hay entre la viscosidad (η) y la temperatura (T) (Talens Oliag, Cortés López, Fuentes López sin fecha). En el desarrollo de este proyecto se utilizarán los parámetros estimados por estos autores para la ecuación de Arrhenius que gobierna la viscosidad en función de la temperatura (en Kelvin), que establecen de la siguiente forma: Introducción 20 𝜇=1,792∗10−6∗𝑒17222 8,314∗𝑇 (𝑃𝑎∗𝑠) (Talens Oliag, Cortés López, Fuentes López sin fecha) (4) 1.3 Calidad y seguridad alimentaria La riqueza nutricional previamente mencionada convierte a la leche en un medio proclive a la proliferación de microorganismos, que pueden estropear el producto y suponen un riesgo para la salud del consumidor. Estos pueden ser endógenos o exógenos. Los microorganismos endógenos provienen del propio animal, ya sea por causas genéticas, alteraciones metabólicas o infección. Por otro lado, en el momento de la extracción la leche se puede encontrar libre de microorganismos, pero se puede contaminar desde el momento del ordeño. En este caso se habla de microorganismos exógenos. Algunos de los principales focos de contaminación exógena son los siguientes: • Durante el ordeño: el propio animal (las glándulas mamarias, heces, piel), el equipo utilizado y el ambiente que los rodea (aire, agua, moscas, paja, suelo) o el ser humano. • Durante el transporte y almacenamiento: los tanques, cisternas y líneas de trasiego pueden suponer un foco importante para la proliferación de microorganismos. Por tanto, es indispensable mantener las condiciones de higiene y temperatura necesarias. • Durante el tratamiento y envasado: incluso manteniendo las condiciones de higiene y temperatura adecuadas, la leche cruda tiene una caducidad muy corta. Hoy en día, todo producto lácteo debe ser sometido a un tratamiento para limitar el crecimiento de microorganismos no deseados. A pesar de esto, ciertos microorganismos pueden proliferar debido a condiciones externas o a fallos de asepsia durante los procesos a los que se somete la leche. • Contaminación post-procesamiento: La aplicación adecuada de tratamientos térmicos, sin embargo, no exime al producto de poder sufrir una contaminación posterior. La refrigeración previene y limita la posibilidad del crecimiento de microorganismos capaces de sobrevivir a los tratamientos térmicos y la germinación de esporas bacterianas. Por tanto, la trazabilidad del producto es fundamental para garantizar su calidad y seguridad alimentaria. Los microorganismos presentes en el producto final son factores claves a la hora de determinar la calidad y seguridad alimentaria de la leche. Además, de causar numerosas enfermedades, estos microorganismos pueden provocar un daño irreversible en los productos lácteos, causando acidificación o cuajado, o provocando que estos se corten. Los principales microorganismos presentes en la leche, así como su clasificación y los riesgos que estos llevan asociados, se detallarán en el Capítulo 2. 1.4 Evolución histórica El primer registro que se tiene del consumo de leche animal en la historia se sitúa entre el 4000 a.C. y el 3000 a.C., cuando los sumerios y los babilonios desarrollaron el sistema agrario y ganadero. El primer animal que se domesticó fue la vaca, seguido de la cabra y la oveja. Su leche se usaba con fines medicinales. En las ruinas del templo de Ur, uno de los primeros núcleos urbanos de Mesopotamia, fue encontrado un panel de piedra en el que se pueden ver hombres ordeñando vacas junto a sus becerros y jarras en las que vierten la leche. En la Antigua Grecia la leche tenía una connotación divina, adquiriendo un papel fundamental en su mitología. Así, por ejemplo, se dice que Zeus fue amamantado por Amaltea. Esta nodriza se representa en ocasiones como una cabra y, otras veces, como una náyade que alimentó al dios con leche de cabra. Además, Hipócrates ya observó los efectos de la lactosa, y recomendó el consumo de leche como antídoto contra ciertos venenos. Se sabe también que el prestigioso médico solía recomendar leche fermentada para malestares estomacales e intestinales ya que, al ser un alimento probiótico, posee microorganismos que regulan el sistema gastrointestinal. Como narra la leyenda, una loba fue la encargada de alimentar a Rómulo y Remo, fundadores de Roma. Su leche fue utilizada por los emperadores romanos como medio de pago a sus soldados y, gracias al Imperio 21 Romano, el consumo de leche se extendió por el resto de Europa. También extendieron el consumo de leche de cabra y oveja, un alimento muy común en la gastronomía romana. No es hasta el siglo XV cuando la industria láctea, fundamentalmente quesera en el momento, se empieza a desarrollar en Europa. En Suiza, los monjes eran los encargados de elaborar quesos y venderlos en los mercados, propiciando su expansión. Sin embargo, la leche cruda es un producto difícil de conservar, por lo que su consumo era bastante limitado durante la Antigüedad y la Edad Media. Habrá que esperar al siglo XVIII para que, gracias a la aparición de los tratamientos térmicos, el consumo de leche empezará a cobrar la importancia que tiene en nuestros días. En 1975, Nicholas Appert, precursor de la conservación de los alimentos, comenzó a envasar ciertos productos en recipientes de vidrio que posteriormente cocía. De esta manera observó que aumentaba la vida útil de los alimentos. A este método se le conoce como "appertización", el primer método de preservación hermética. Gracias a este cocinero francés comenzó el verdadero desarrollo de la industria alimentaria. Entre 1864 y 1866 el científico, también francés, Louis Pasteur descubrió que calentar la cerveza o el vino durante unos minutos a 60ºC aumentaba la calidad y la estabilidad de dichos productos. Poco después se descubrió que este tratamiento reducía también los riesgos asociados al consumo de leche cruda. Gracias a esto, durante los primeros años del siglo XX se pudo observar un notable descenso de la transmisión de tuberculosis desde animales infectados a humanos a través del consumo de su leche. Como reconocimiento a este importante avance en la seguridad alimentaria gracias del científico francés, el proceso de someter a cierta temperatura durante un periodo de tiempo determinado a los alimentos se le conoce con el nombre de "pasteurización". Durante el siglo XX se empezaron a comercializar y expandir los primeros pasteurizadores industriales, en los que la leche se sometía a temperaturas de entre 62ºC y 65ºC durante al menos 30 minutos. Este proceso, que se conoce como LTLT (low temperature, long time), fue dando paso gradualmente a otro en el que la leche se somete a una temperatura mayor, de entre 72ºC y 74ºC, por un periodo de tiempo de entre 15 y 30 segundos, conocido como HTST (high temperature, short time). De esta manera, se consigue una reducción en el cambio de sabor y daños producidos por el calor en la leche mientras que se aumenta el rendimiento de la producción. Con el paso de los años la tecnología ha ido avanzando y desarrollando diferentes tratamientos térmicos con los que, variando la temperatura y el tiempo de aplicación, se pretenden obtener unos resultados determinados en cuanto a vida útil, sabor y microorganismos presentes en la leche. Estos tratamientos se desarrollarán más adelante en el Capítulo 3. 1.5 Consumo actual de leche A raíz del desarrollo tecnológico, actualmente disfrutamos de diferentes tipos de leche según el tratamiento empleado. Todos ellos dan lugar a un producto de mayor vida útil y con unas características mínimas de seguridad alimentaria. Esto ha propiciado el consumo de leche a nivel mundial, especialmente en países desarrollados, donde los avances tecnológicos y logísticos los hacen más accesibles. Se estima que los países desarrollados consumen un promedio de 240 litros equivalentes anuales por persona, mientras que los países en desarrollo únicamente 80 litros por persona. Además, en Europa hay países cuyo consumo medio supera los 300 litros por persona, mientras que otros no llegan a los 50 litros anuales. En España, la industria láctea supone uno de los ejes principales en el sector agroalimentario, representando un 2% de la producción industrial total. Es el segundo subsector más importante, únicamente por debajo del porcino. Con un volumen de negocio de más de 9.500 millones de euros, se estima que esta industria factura en torno a 13.000 millones de euros anuales. Además, la producción, transformación y distribución de leche genera más de 60.000 empleos de forma directa en nuestro país, lo que supone un 8,5% del total del empleo del sector agroalimentario (FENIL 2023a). La mayoría de la leche producida en nuestro país de origen vacuno, aunque también destacan la producción de leche de cabra y de oveja. Estas dos están principalmente destinadas a la fabricación de quesos. Introducción 22 Ilustración 1 Origen de la leche en España (2022)(FENIL 2023b) La producción de leche de vaca en España supone el 5% del total producido en la Unión Europea, frente al 15% y 20% respectivamente que suponen la producción de leche de oveja y cabra. De media, la industria láctea española produce en torno a 7,4 millones de toneladas de productos (FENIL 2023b), desglosados como se muestra en la Tabla 2 a lo largo de los últimos años. Tabla 2 Producción de lácteos en miles de toneladas (FENIL 2023b) Producto 2011 2012 2013 2014 2015 Leche líquida 3.612 3.492 3.669 3.521 3.690 Yogur 788 820 897 802 788 Queso 341 347 409 436 467 Nata 112 153 128 101 127 Mantequilla 42 37 36 40 41 Otros 2.132 2.093 2.422 2.513 2.627 Producto 2016 2017 2018 2019 2020 2021 Leche líquida 3.406 3.538 3.292 3.184 3.505 3.404 Yogur 823 1.022 1.022 957 903 982 Queso 461 481 475 442 472 609 Nata 107 120 149 125 171 116 Mantequilla 42 50 49 46 47 49 Otros 2.584 2.663 2.815 2.266 2.437 3.046 23 2. MICROORGANISMOS ara evaluar la inactivación o destrucción de microorganismos mediante la utilización de tratamientos térmicos, será necesario en primer lugar, conocer los microorganismos presentes en la leche, y los efectos que estos pueden tener en el producto o en el consumidor. Además, será necesario entender el comportamiento de estos microorganismos frente a la temperatura y el tiempo. Para ello, se definirán los valores D y Z, partiendo del término de “Punto de Destrucción Térmica” (Thermal Death Point o Thermal Death Time). Este concepto, empleado para medir la sensibilidad térmica de las bacterias, se define como el tiempo necesario para inactivar un microorganismo a una determinada temperatura constante. Sin embargo, su uso ha ido perdiendo valor, ya que se entiende como una “inactivación instantánea” de los microorganismos al alcanzar el tiempo establecido. En su lugar, se definen los valores D y Z, que relacionan la destrucción de microorganismos con la temperatura y el tiempo. 2.1 Microorganismos presentes en la leche Como se ha visto previamente, la leche es un medio ideal para la proliferación de microorganismos, tanto inocuos, como patógenos o alterantes. Más de 200 enfermedades conocidas se transmiten a través de los alimentos por bacterias, hongos, virus y parásitos. Cada año millones de enfermedades en todo el mundo se pueden atribuir a patógenos de origen alimentario (Britz, Robinson 2008). Considerando la extensión del consumo habitual de productos lácteos, es importante destacar los esfuerzos llevados a cabo mundial y multidisciplinarmente para hacer de estos productos uno de los más seguros del mercado alimentario. Los microorganismos presentes en la leche pueden ser patógenos o alterantes (modifican las propiedades del producto), pero también beneficiosos. Algunos, como las bacterias ácido-lácticas, son ampliamente utilizados en la industria láctea para la elaboración de productos fermentados, y presentan propiedades probióticas beneficiosas para los consumidores. Estos microorganismos también serán inactivados o destruidos por los tratamientos térmicos. Por tanto, la industria láctea debe alcanzar un equilibrio en la microbiota del producto final que maximice las propiedades beneficiosas de los microorganismos minimizando el riesgo de contaminación. Los contaminantes de la leche pueden ser bacterias, virus, levaduras u hongos. Sin embargo, los patógenos más comunes en la leche son las bacterias. Los principales microorganismos asociados a epidemias alimentarias debidas a la ingestión de leche y productos lácteos son Campylobacter jejuni., Salmonella Typhimurium, E. coli, Staphylococcus aureus, Coxiella burnetii, Mycobacterium tuberculosis, Listeria monocytogenes, Brucella abortus, B. cereus, and Yersinia enterocolitica (Sloboda Cortez, Kasnowski Holanda Duarte, Barboza de Melo 2022). Estas bacterias se clasifican de la siguiente forma: • Bacterias psicrótrofas: son aquellas capaces de crecer a temperaturas por debajo de 7ºC, sea cual sea su temperatura óptima de crecimiento. Las más comunes son las pseudomonas, pero este grupo también incluye el grupo de las Enterobacter (Salmonella spp, Yersinia enterocolitica o Listeria monocytogenes pertenecen a este grupo). • Bacterias mesófilas: proliferan a temperaturas entre 20ºC y 45ºC, siendo su temperatura óptima de crecimiento entorno a los 35ºC. Las más destacadas son las Staphylococcus aureus, Coxiella burnetii o Brucella abortus. • Bacterias termodúricas: este grupo presenta cierta resistencia a los tratamientos térmicos, siendo capaces P a Microorganismos 24 de sobrevivir a procesos a temperaturas de alrededor de 70ºC. Dentro de este grupo se encuentran bacterias no formadoras de esporas (Mycobacterium tuberculosis, Campylobacter jejuni) y bacterias formadoras de esporas (como la B. cereus). Los tratamientos térmicos a muy altas temperaturas pueden inactivar las células vegetativas de estas especies. Sin embargo, sus esporas son resistentes a ellos. • Coliformes: este grupo se caracteriza por su capacidad para fermentar la lactosa, produciendo ácido y gases. A su vez, se clasifican según la temperatura a la que son capaces de producir dichas reacciones en coliformes totales (a 35ºC) y coliformes termotolerantes (entre 44,5ºC y 45ºC). La bacteria más representativa de este grupo es la E. coli. La Tabla 3 resume los efectos que estos microorganismos pueden tener en la salud de los consumidores, así como las alteraciones que causan al producto. Como se puede observar, gran parte de estas bacterias son imperceptibles a simple vista, por lo que es primordial asegurar la inactivación deseada en cada producto. Tabla 3 Microorganismos. Enfermedades y alteraciones Microorganismo Enfermedad Alteración en la leche Salmonella spp Gastroenteritis, salmonelosis o fiebre tifoidea - Yersinia enterocolitica Gastroenteritis - Listeria monocytogenes Listeriosis - Staphylococcus aureus Intoxicación emética - Coxiella burnetii Fiebre Q - Brucella abortus Brucelosis - Mycobacterium tuberculosis Tuberculosis - Campylobacter jejuni Gastroenteritis - B. cereus Intoxicación emética Cuajo, acidificación de la nata E. coli Gastroenteritis Deterioro de la leche En el Capítulo 3 se presentarán los diferentes tratamientos térmicos existentes hoy en día en la industria láctea, y se analizará la eficiencia de cada uno de ellos en la inactivación de los patógenos mencionados anteriormente. 2.2 Inactivación de microorganismos 2.2.1 Valor D Se ha demostrado que, cuando una suspensión homogénea de microorganismos es sometida a una determinada temperatura constante, la destrucción de los microorganismos sigue, de manera habitual, un orden logarítmico. Esto tiene dos implicaciones reseñables: • Independientemente de la concentración inicial de microorganismos en el medio, la reducción de estos seguirá un orden logarítmico proporcional a lo largo del tiempo, siempre que se supere su temperatura umbral de resistencia. • No es teóricamente posible alcanzar una reducción del 100% de microorganismos, puesto que la curva logarítmica nunca alcanzará el eje de abscisas. En la práctica, esto se relaciona con la probabilidad de supervivencia de un determinado microorganismo en una serie de muestras. Representando gráficamente el número de microorganismos por unidad de volumen (N) frente al tiempo (t) cuando estos se someten a una temperatura constante, se obtiene una gráfica exponencial decreciente conocida como “Curva de Supervivencia”. Con el fin de obtener parámetros representativos, es conveniente convertir el eje de ordenadas (N) a escala logarítmica. De esta forma, se obtiene una representación lineal como se muestra en la Figura 1. El tiempo necesario para una reducción de un logaritmo decimal del número de microorganismos 25 en una sustancia se conoce como “valor D”. En esta figura se representa, a modo de ejemplo el valor D correspondiente a una reducción desde 100.000 a 10.000 microorganismos. Como se puede observar, este tiempo sería igual al necesario para reducir la concentración de microorganismos de 10.000 a 1.000. Figura 1 Valor D (Lewis, Jun 2011) De esta forma, se define el valor D, o “Tiempo de Reducción Decimal”, como el tiempo de calentamiento (en minutos) a temperatura constante necesario para reducir la concentración de microorganismos en un factor de diez. Dicho de otro modo, es el tiempo necesario para reducir un ciclo logarítmico en la Curva de Supervivencia. Como se puede ver en la Ecuación (5), esto es equivalente a especificar el tiempo necesario para una reducción microbiana del 90%. 𝑅𝑒𝑑𝑢𝑐𝑐𝑖ó𝑛 𝑒𝑛 𝑢𝑛 𝑐𝑖𝑐𝑙𝑜=105−104 105𝑥 100=90.000 100.000 𝑥 100= 90% (5) Puesto que la curva obtenida presenta una pendiente constante, la ecuación anterior es válida para cualquier ciclo de reducción logarítmica decimal. En conclusión, y con todo lo mencionado anteriormente, cabe destacar que el Tiempo de Reducción Decimal permanece constante para cualquier reducción logarítmica y que es independiente de la concentración inicial de microorganismos en el medio. 2.2.1.1 Relación con la cinética química De acuerdo con la evidencia empírica, gran parte de los microorganismos sometidos a cargas térmicas siguen una reacción cinética de primer orden en su destrucción. Esto implica que la velocidad de destrucción sigue una ecuación de la forma: 𝑑[𝐴] 𝑑𝑡 = −𝑘[𝐴] (6) Adaptando la expresión anterior al número de microorganismos vivos en el medio sometido a calentamiento, N, la ecuación quedaría: 𝑑𝑁 𝑑𝑡 = −𝑘𝑁 (7) Separando la ecuación por variables, e integrando la expresión, es posible relacionar la velocidad de destrucción Tratamientos térmicos 32 Figura 3 Aplicación de tratamientos térmicos La termización es un proceso conocido como subpasteurización que se aplica sobre la leche cruda que, tras ser recogida, pasará un cierto periodo de tiempo antes de ser tratada nuevamente para producir un nuevo producto, principalmente queso. Este proceso, como se indica en la Tabla 4 no afecta en gran medida al sistema antimicrobiano natural de la leche. La pasteurización es el proceso más extendido en la industria en nuestros días. Pese a que la pequeña industria sigue utilizando métodos LTLT (Low Temperature, Long Time), en general se opta por HTST (High Temperature, Short Time), o por la pasteurización a alta temperatura. La Ilustración 3 representa un diagrama simplificado de este tratamiento, en el que el mismo intercambiador (de placas en este caso) es utilizado para las etapas de precalentamiento, calentamiento y enfriamiento. Ilustración 3 Diagrama de proceso. Pasteurización (Tetra Pak 2015) El proceso UHT (del inglés Ultrahigh Temperature) consiste en el calentamiento de la leche a una temperatura 33 superior a 135ºC durante uno segundos, para después enfriarla rápidamente. De esta forma se consigue un producto estéril en condiciones normales, siempre que se mantengan las condiciones asépticas tras el tratamiento y durante el envasado. A pesar de esto, este tratamiento no afecta de manera considerable al sabor, color, olor, o a las propiedades nutricionales de la leche. Como conclusión, la selección del tratamiento térmico a emplear se deberá hacer en base a las propiedades del producto inicial, las propiedades requeridas para el producto final y la tecnología disponible. Esta elección quedará, por tanto, fuera del alcance del proyecto, que se basará en la evaluación de tratamientos térmicos equivalentes. 3.1.1 Tratamientos térmicos equivalentes Se han detallado los tratamientos térmicos principales, cuyo binomio tiempo-temperatura está definido a nivel global, y cuya destrucción de microorganismos es conocida. Sin embargo, técnicamente puede no ser alcanzable la temperatura característica de un tratamiento. Incluso, siendo técnicamente posible, puede ocurrir que, por razones energéticas o prácticas, no se desee alcanzar dicha temperatura. Como se detalló en el capítulo anterior, haciendo uso de la Ecuación (30), es posible evaluar el grado de inactivación de microorganismos conociendo los valores de tiempo y temperatura a los que se somete la leche. Del mismo modo, conociendo la temperatura final del tratamiento térmico y la inactivación de microorganismos deseada, se podrá calcular el tiempo de residencia necesario para la efectividad del tratamiento. En función de este tiempo se diseñará el tubo de residencia posterior al calentamiento. El Software desarrollado evaluará los tratamientos térmicos obtenidos comparando su inactivación microbiológica con la de uno de los principales tratamientos, definido por el usuario, cuyo tiempo, temperatura e inactivación son ampliamente conocidos. Como resultado, en base a la velocidad del fluido y el tiempo necesario, proporcionará la longitud del tubo de residencia necesario para una inactivación de microorganismos equivalente. 3.2 Modos de calentamiento La industria láctea actual utiliza dos principales métodos de aplicación en los tratamientos térmicos: calentamiento directo y calentamiento indirecto. En el primero, la leche entra en contacto directo con el medio de calentamiento, generalmente vapor. Existen dos formas principales de calentamiento directo: inyección o infusión de vapor. La primera consiste en inyectar vapor sobrecalentado sobre en un flujo de leche. En el segundo, se hace pasar la leche rociada, o en una película delgada o chorros finos, a través de una cámara de vapor sobrecalentado. En ambos procesos, tras el calentamiento de la leche será necesario disminuir su temperatura de forma rápida. Esto se realiza en una cámara de expansión al vacío. El enfriamiento instantáneo por vacío es una técnica ampliamente utilizada en la industria alimentaria para enfriar rápidamente cualquier producto que contenga agua. Emplea los principios del enfriamiento evaporativo. Al reducir rápidamente la presión de un producto con un alto contenido en agua, su punto de ebullición disminuye, haciendo que el agua líquida se evapore rápidamente. Durante el cambio de fase, el agua absorbe el calor latente necesario, provocando una disminución en la temperatura del producto. Además, de esta forma se consigue eliminar parte del agua introducida en la leche en forma de vapor, volviendo a los niveles de concentración adecuados. En los procesos directos, el calentamiento de la leche y su posterior enfriamiento son muy rápidos, debido a la transferencia de calor latente de condensación y evaporación entre el vapor y la leche. Sin embargo, en estos procesos las temperaturas a aplicar deben ser entre 3ºC y 4ºC superiores que en los tratamientos indirectos debido a que, en estos últimos, en el paulatino aumento de temperatura se transfiere una mayor cantidad de calor, favoreciendo así la esterilización del producto. Otra técnica menos frecuente consiste en la aplicación de energía eléctrica a los tubos por los que fluye el producto, provocando el calentamiento de la leche mediante el efecto Joule. Tratamientos térmicos 34 Ilustración 4 Métodos de calentamiento directo. Inyección (a) e infusión (b)(Britz, Robinson 2008) En los tratamientos por calentamiento indirecto se emplean intercambiadores de calor en los que, a través de una pared normalmente de acero inoxidable, el medio de calentamiento transfiere calor al producto sin que estos lleguen a mezclarse. Como se desarrollará más adelante, se emplean principalmente intercambiadores de placas o de doble tubo. La infografía representada en la Figura 4 se establece un criterio para la selección del tipo de intercambiador en base a la viscosidad y al tamaño de partícula máximo del fluido. Para fluidos poco viscosos con particulares menores a 1 mm se preferirá el uso de intercambiadores de placas. Como segunda opción se tendrán los intercambiadores tubulares, recomendados por Tetra Pak para procesos de UHT. Por último, para fluidos cuya viscosidad supera los 10,000 cP se recomienda usar intercambiadores de superficie rascada. Esta tipología queda fuera del alcance del proyecto, pues no es habitual encontrarlos en los procesos de la industria láctea. Se analizarán por tanto los dos tipos de intercambiadores de calor más extendidos actualmente en la industria: intercambiadores de placas e intercambiadores tubulares. Figura 4 Selección del tipo de intercambiador. Infografía (Food heat transfer basic infographic) 35 Una de las características más representativas de ambos equipos de calentamiento es la utilización de agua como fluido primario (fluido caliente). Por lo general, la utilización de vapor en cambio de fase en un intercambiador de calor maximiza la transferencia térmica, debido a los elevados coeficientes de película asociados al cambio de fase. Sin embargo, las características mecánicas de estos intercambiadores, así como de los demás equipos involucrados en el proceso, hacen que los intercambiadores de placas y de doble tubo empleados en la industria láctea maximicen su rendimiento empleando agua como medio de calentamiento. Para mantener esta condición, se deberá trabajar en todo momento a presiones superiores a la presión de saturación de los fluidos. De aquí en adelante se asumirá, tanto en el desarrollo teórico del proyecto como en los cálculos presentados, que el medio de calentamiento es agua líquida. 3.2.1 Intercambiadores de doble tubo Una de las tipologías de intercambiadores de calor más utilizada en la industria láctea son los intercambiadores de doble tubo. Estos consisten en dos tubos concéntricos entre los cuales circulan los fluidos. Por el tubo interior circulará la leche, mientras que por el espacio formado entre ambos circulará el medio de calentamiento (Ilustración 5). En estos intercambiadores, el área de transferencia es la pared del tubo interior. Esto implica que el área de transferencia específica (área de transferencia por unidad de volumen) es menor en esta configuración que en los intercambiadores de calor de placas, como se verá en el apartado 3.2.2. Sin embargo, se caracterizan por presentar un flujo turbulento que da lugar a elevados números de Reynolds. De esta forma se consigue un elevado coeficiente global de transferencia. Este término y sus implicaciones se desarrollará más adelante. Ilustración 5 Detalle de un intercambiador de doble tubo 3.2.1.1 Variantes y configuraciones de los intercambiadores de doble tubo Uno de los parámetros más importantes a tener en cuenta en el diseño de cualquier intercambiador de calor es la diferencia de temperaturas entre ambos fluidos. El calor intercambiado en el equipo será proporcional a esta diferencia de temperaturas. Cuanto mayor es esta diferencia, mayor será la transferencia de calor entre el fluido frío y el fluido caliente y, por tanto, más efectivo será el intercambiador. Sin embargo, esta diferencia de temperaturas no se mantiene constante a lo largo del intercambiador, por lo que en cada punto existirá un coeficiente de película y un coeficiente global de transferencia diferente. Conviene por tanto introducir el término de “Diferencia de Temperaturas Logarítmica Media”, o DTLM. Este parámetro refleja, de manera precisa, la diferencia de temperaturas efectiva a lo largo del intercambiador, teniendo en cuenta la variación de temperaturas a lo largo de este, y no únicamente las temperaturas de entrada y salida. Se define según la siguiente ecuación, donde los subíndices 1 y 2 representan los extremos del intercambiador, haciendo referencia las temperaturas de entrada y salida del mismo. 𝐷𝑇𝐿𝑀=𝛥𝑇1−𝛥𝑇2 𝑙𝑛(𝛥𝑇1 𝛥𝑇2) (31) En función de cómo discurran los fluidos entre los canales del intercambiador, el intercambiador de calor de doble tubo puede tener una configuración equicorriente o contracorriente. Si ambos fluidos circulan en el mismo Tratamientos térmicos 36 sentido se considera flujo equicorriente. En un intercambiador de este tipo la diferencia de temperatura entre ambos fluidos disminuye a medida que estos recorren la longitud del intercambiador. Por el contrario, si circulan en sentido opuesto, la configuración será contracorriente, y permitirá una mayor diferencia de temperaturas en todo momento a lo largo del intercambiador. La evolución que siguen las temperaturas del fluido frío (leche) y el fluido caliente (agua) en los intercambiadores de calor equicorrientes o contracorrientes tendrá un patrón similar al que se muestra en la Figura 5. Figura 5 Evolución de temperaturas en intercambiadores de calor equicorriente y contracorriente Haciendo uso de la Ecuación 1, y fijando las temperaturas de entrada de los dos fluidos, se puede comprobar que la DTLM de un intercambiador con configuración contracorriente es mayor que en uno equicorriente, por lo que su eficiencia es mayor. Según los principios de la transmisión de calor, para que esta se produzca debe existir un gradiente de temperaturas entre los dos fluidos. Por esta razón, en un intercambiador equicorriente la temperatura de salida del fluido frío nunca podrá alcanzar la temperatura del fluido caliente. Esta configuración es útil cuando se requiere que ambos fluidos presenten temperaturas similares a la salida del intercambiador. Sin embargo, la configuración del flujo contracorriente y la forma en la que se produce el intercambio de calor en un equipo con esta configuración hacen posible que la temperatura de salida del fluido frío sea superior a la temperatura de salida del fluido caliente. En conclusión, en la industria láctea, donde priman la eficiencia y la compacidad de los equipos con el fin de maximizar la transferencia de calor, se usarán intercambiadores en configuración contracorriente. Por tanto, quedará dentro del alcance de este documento únicamente el análisis de intercambiadores de calor de doble tubo en configuración contracorriente. 3.2.2 Intercambiadores de placas Los intercambiadores de calor de placas (PHE) son unos de los más empleados en la industria láctea debido a su versatilidad y eficiencia. Consisten en una serie de placas metálicas delgadas, apiladas una a continuación de otra y en contacto mutuo. Estas placas se sellan de modo que se formen canales a través de los cuales, de manera alternativa, fluyen el fluido frío y el fluido caliente, transfiriéndose calor de uno a otro a través de ellas sin llegar a mezclarse. Las placas, por lo general, como se verá más adelante, son rectangulares y corrugadas, y presentan cuatro aberturas en las esquinas que servirán de entrada y salida para sendos fluidos. Ilustración 6 Funcionamiento de un Intercambiador de placas 37 Las placas pueden tener infinidad de formas, y su geometría será determinante para el funcionamiento del intercambiador. Esta afectará tanto a la transferencia de calor (pues de ella depende el área de transferencia), como a la resistencia mecánica del equipo y a la pérdida de carga de los fluidos a su paso por los canales. Uno de los principales focos de la industria de este tipo de intercambiadores será el diseño óptimo de la geometría de la placa. Una de las tipologías más usadas para intercambiadores de flujo vertical y que, por tanto, se tomará de referencia en el desarrollo del proyecto (integrándola en el Software), es la placa Chevron. La corrugación Chevron consiste básicamente en acanaladuras sucesivas situadas simétricamente en forma de “espina de pescado”, respecto de un eje vertical. la generatriz de una superficie Chevron es una curva senoidal de un cierto periodo y una cierta amplitud (Martín Moreno 2018). Sus parámetros característicos se muestran en la Ilustración 7. Entre los más importantes en el diseño destacan el ángulo de corrugación (o ángulo de Chevron), del cual depende la turbulencia del fluido, y la amplitud de corrugación, que determinará el diámetro hidráulico. Ilustración 7 Geometría de una placa Chevron (Martín Moreno 2018) 3.2.2.1 Variantes y configuraciones de los intercambiadores de placas La flexibilidad que ofrecen los intercambiadores de placas radica en la amplia posibilidad de configuraciones en múltiples pasos y con diferentes patrones de flujo, que les permite adaptarse a diferentes procesos de transferencia de calor. Por un lado, los intercambiadores de placas pueden clasificarse en dos tipos: • Intercambiadores de placas y juntas desmontables (GPHE: Gasketed Plate Heat Exchanger). Las placas térmicas se insertan entre dos placas exteriores, generalmente más gruesas, a través barras guía y columnas de soporte, y se mantienen unidas entre sí a través de pernos y juntas desmontables, que delimitan los canales de paso de los diferentes fluidos. • Intercambiadores de placas soldadas. En este caso, las placas se unen entre sí mediante soldadura. Según como se realice esta soldadura, el intercambiador podrá ser BPHE (Brazed Plate Heat Exchanger) o WPHE (Welded Plate Heat Exchanger). En el primer caso, las placas se van apilando encajadas parcialmente y se introducen en un horno al vacío, de manera que quedan unidas por el contorno Tratamientos térmicos 38 rectangular perimetral, las aberturas y los puntos de contacto entra las corrugaciones. En los WPHE la soldadura se realiza mediante laser en el contorno de los conductos, donde estarían las juntas en un GPHE. En la industria láctea, los intercambiadores más extendidos son los de juntas desmontables. Estos presentan una mayor versatilidad, ya que su carácter modular permite modificar tanto el número como la disposición de las placas a emplear en cada caso, adaptándose a los requerimientos de cada proceso. Además, al ser desmontables ofrecen facilidades de limpieza frente a los intercambiadores de placas soldadas, lo que se traduce en una reducción en tiempos y costes de mantenimiento. Sin embargo, los intercambiadores de placas soldadas permiten trabajar a temperaturas y presiones superiores a los GPHEs, al no disponer de juntas desmontables. En este aspecto, destacan los WPHEs, capaces de trabajar a temperaturas entre -160ºC y 150ºC y presiones de hasta 40 bar. Como se ha visto en el apartado 3.2.1.1, los intercambiadores de placas también pueden presentar flujos equicorrientes o contracorrientes. Siguiendo el mismo razonamiento que en el caso anterior, en el desarrollo del proyecto se consideran únicamente los intercambiadores de placas en configuración contracorriente. Otra característica que diferencia entre los intercambiadores de placas es el montaje, que puede ser en “U” o en “Z”, según donde se encuentren las entradas y salidas de los fluidos. Si la entrada y la salida de ambos fluidos se encuentra en el mismo lado se considera montaje en “U”. En cambio, en el montaje en “Z” cada fluido tiene la entrada y la salida en lados opuestos. La diferencia entre ambos tipos de montajes puede observarse en la Ilustración 8. Ilustración 8 a) Montaje en "U". b) Montaje en "Z" Además, es importante introducir el concepto de número de pasos por fluido. Este hace referencia al número de veces que cada partícula del fluido pasa por las placas del intercambiador, es decir, número de veces que cada fluido entra y sale de los canales formados entre las placas. Se puede decir, por tanto, que el número de pasos por fluido será igual al número de veces que el fluido cambie su sentido en el intercambiador más uno. Atendiendo a esta consideración, y teniendo en cuenta que el fluido puede atravesar los diferentes canales en serie o en paralelo, se pueden tener infinidad de patrones de flujo. Desde un paso por flujo (discurriendo cada fluido en un solo sentido y a través de canales alternos en serie), a flujos paralelos (donde cada fluido cambiará el sentido con cada cambio de canal), y configuraciones multipasos con igual o diferente número de pasos por fluido. Ilustración 9 Ejemplos de patrones de flujo 39 La selección del patrón de flujo dependerá de las condiciones de operación y las necesidades específicas en cada caso. El número de pasos puede afectar a la eficiencia del intercambiador. Aumentar el número de pasos de un fluido implica aumentar la superficie de intercambio, aumentando la transferencia efectiva. Sin embargo, los cambios en el sentido del flujo aumentan la pérdida de carga en el sistema. A efectos prácticos, los intercambiadores de placa multipasos se resuelven considerándolos intercambiadores en serie de un único paso por fluido, por lo que no se tendrá en cuenta está diferencia en el desarrollo del análisis. Por último, a pesar de quedar fuera del alcance de este documento, cabe mencionar que en los intercambiadores de placas el desplazamiento de los fluidos a lo largo de los canales puede ser en vertical (encontrándose la entrada y la salida del canal en la misma arista de la placa) o en diagonal (estando la entrada y la salida del canal en esquinas opuestas de la placa). Ambas configuraciones presentan tanto ventajas como inconvenientes, por lo que su utilización habría que estudiarla de manera independiente en cada aplicación. Ilustración 10 GPHE de flujo vertical (a) y GPHE de flujo diagonal (b) 3.2.3 Comparativa de intercambiadores de calor. Ventajas e inconvenientes El uso de las dos tipologías de intercambiadores de calor previamente mencionados está ampliamente extendido en la industria láctea actual. Ambos presentan tanto beneficios como limitaciones, por lo que la elección de una tecnología determinada conllevará un análisis riguroso de la situación. Por un lado, la corrugación de las placas de los intercambiadores de placas, y la forma en la que estas están dispuestas, producen flujos altamente turbulentos a bajas velocidades. Como se verá más adelante, esto conlleva un aumento del número de Reynolds y, por tanto, de la transmisión de calor entre ambos fluidos. Además, esta turbulencia reduce la velocidad con la que se deposita la suciedad en la placa, reduciendo el ensuciamiento. Sin embargo, esta disposición de placas, así como sus corrugaciones, dan lugar a secciones de paso reducidas produciendo caídas de presiones que pueden suponer una limitación a la hora de seleccionar el intercambiador más adecuado. En general, los intercambiadores tubulares permiten trabajar a presiones mucho mayores que los intercambiadores de placas. Por otro lado, los intercambiadores tubulares permiten, además de trabajar con caudales superiores, la posibilidad de trabajar con caudales de diferente orden entre ambos fluidos. Esto no es posible con los intercambiadores de placas, ya que la sección de paso de ambos fluidos debe ser similar para obtener una transferencia de calor eficiente. Además, la superficie lisa de los intercambiadores de tubo limita la acumulación de sustancias depositadas, que puede quedar retenido en las corrugaciones de los intercambiadores de placas. Sin embargo, para una misma velocidad, la turbulencia del flujo será menor en intercambiadores tubulares, favoreciendo la sedimentación de partículas. A pesar de esto, los intercambiadores de doble tubo presentan, en general, mayores tiempos entre limpiezas, ya que las secciones de paso de los fluidos son considerablemente mayores que en los intercambiadores de placas. Asimismo, las juntas de los GPHEs, aun cuando le confieren una amplia variabilidad de operación, suponen una limitación en cuando a presión y temperatura que no presentan los intercambiadores tubulares. Cabe destacar también que, en cuanto a dimensiones, dados unos determinados requerimientos, un Tratamientos térmicos 40 intercambiador tubular ocuparía del orden de 3 a 5 veces más que un intercambiador de placas. Como conclusión, tanto los intercambiadores de placas como los de tubos concéntricos presentan ventajas e inconvenientes. La selección de una tecnología u otra no es banal y dependerá, entre otras, de los parámetros que se prioricen en cada caso, así como de un análisis técnico y económico de las soluciones disponibles en el mercado concreto. 41 4. METODOLOGÍAS DE CÁLCULO imensionar un intercambiador de calor es un proceso complejo que requiere conocimientos tanto de transferencia de calor como de diseño de equipos mecánicos. Implica, además, determinar los requisitos de caudal y temperaturas necesarios para conseguir las características deseadas en el producto final. Se entiende por “diseño” de un intercambiador el proceso por el cual se determinan sus dimensiones, caudales y temperaturas con el fin de alcanzar las propiedades deseadas en uno o ambos fluidos, respetando criterios adicionales como caídas de presión, velocidades de flujo o compacidad. En este capítulo se desarrollarán los dos métodos implementados en el Software para el cálculo de los intercambiadores: el método F-DTLM y el método Ɛ-NTU. La aplicación de uno u otro dependerá de los datos de partida disponibles en cada caso. Además, se particularizarán los cálculos para las dos tipologías de intercambiador objeto del proyecto. Se presentarán también las metodologías de cálculo de pérdidas de carga implementadas en el Software. 4.1 Selección de la tipología de intercambiador Para comenzar a dimensionar un intercambiador de calor para un proceso determinado, el primer paso será seleccionar la tipología a emplear. Como ya se ha visto, la selección de la tecnología más adecuada no es un proceso fácil, y tiene en cuenta, entre otros, los siguientes parámetros: • El programa térmico: se deberán considerar las temperaturas de cada fluido, los tiempos de residencia, el rendimiento deseado, etc. • Las propiedades de los fluidos: factores como la viscosidad, la densidad, o el punto de ebullición de los fluidos pueden ser determinantes a la hora de seleccionar una tipología de intercambiador. Se debe tener en cuenta, además, la influencia de la temperatura sobre la naturaleza de los fluidos. • Las limitaciones físicas y económicas del proceso: en este sentido, se tendrán en cuenta aspectos como limitación de espacio, pérdidas de carga, materiales recomendados en función de la aplicación, y otros factores económicos. Cabe destacar en este sentido la importancia del ensuciamiento a la hora de seleccionar el tipo de intercambiador, pues puede ser determinante en cuanto a tiempos y recursos necesarios para el mantenimiento. Por tanto, la selección de la tipología de intercambiador más adecuada para cada proceso industrial quedará fuera del alcance de este proyecto. Se definirá la metodología de cálculo a emplear en cada caso y se presentarán los resultados obtenidos por el Software, quedando en el alcance del diseñador del proceso seleccionar aquella que se adapte mejor a sus requerimientos. 4.2 Coeficiente global de transferencia de calor Uno de los principales parámetros involucrados en el diseño de un intercambiador es el coeficiente global de transferencia de calor, U. Se emplea para evaluar la eficiencia de la transferencia de calor del fluido caliente al fluido frío. Cuanto mayor sea este coeficiente mayor será la transferencia de calor. El calor intercambiado entre dos medios se define como: D Metodologías de Cálculo 48 4.5.2 Coeficientes convectivos Los coeficientes convectivos, o coeficientes de película, de los fluidos miden su capacidad de transferir calor desde una superficie por medio de la convección. Se calculan a partir del número de Nusselt, haciendo uso de la Ecuación (58). Este número adimensional depende tanto de las propiedades del fluido como de la geometría de la superficie. 𝑁𝑢=ℎ𝐿 𝑘𝑓 (58) En esta ecuación, L hace referencia a la longitud característica de intercambio. Para intercambiadores de doble tubo se utilizará el diámetro interior del tubo interior y el diámetro equivalente del tubo exterior. En intercambiadores de placa se empleará el diámetro hidráulico de paso. 𝐷𝑒𝑞 =𝐷𝑖−𝑑𝑒 (59) 𝐷ℎ=4𝑎 ∅ (60) Para el cálculo de los números de Nusselt es necesario recurrir a la bibliografía. Existen multitud de correlaciones en función de las condiciones del fluido y la forma de la superficie. Todas estas correlaciones están basadas en la experiencia y en diferentes ensayos, y presentarán unos niveles de exactitud más o menos acertados. En primer lugar, para conocer el número de Nusselt es necesario calcular, en la mayoría de los casos, otros dos números adimensionales para el fluido en cuestión: el número de Reynolds y el Prandlt. 𝑅𝑒=𝜌𝑣𝐿 𝜇=𝑣𝐿 𝜗 (61) 𝑃𝑟=𝐶𝑝𝜇 𝑘 (62) Para la convección interna de un intercambiador de doble tubo se emplearán dos correlaciones diferentes, ambas basadas en la convección forzada, flujo interno, por un conducto circular. Si Re < 2300, es decir, el flujo es laminar completamente desarrollado, y Pr ≥ 0,6, se empleará la Ecuación (63). En ella se asume que la temperatura superficial es constante. 𝑁𝑢=3,66 (63) Para fluidos en régimen turbulento completamente desarrollado se empleará la correlación de Sieder y Tate (Martín Moreno 2018): 𝑁𝑢=0,027∗𝑅𝑒4 5∗Pr1 3∗(𝜇 𝜇𝑤)0.14 (64) Esta expresión será válida siempre que se cumpla lo siguiente: • Re > 10000 • 0,6 < Pr < 160 • L/D > 10 En la Ecuación (64) las propiedades de los fluidos se calcularán a sus temperaturas calóricas, a excepción de la viscosidad en pared (µw), que se evaluará a la temperatura superficial. Esta temperatura se calcula como: 𝑇𝑤=𝑇𝑐𝑎𝑙,𝑖ℎ𝑖+𝑇𝑐𝑎𝑙,𝑜ℎ𝑜 ℎ𝑖+ℎ𝑜 (65) 49 Los flujos cuyos números adimensionales se encuentren fuera de los rangos propuestos se considerarán en región de transición, y quedarán fuera del alcance del proyecto. Estas correlaciones son extrapolables al conducto anular formado entre el tubo exterior y el tubo interior. Para calcular el coeficiente convectivo, en este caso, será necesario emplear el diámetro equivalente en lugar del diámetro interior del tubo. Las correlaciones para calcular el número de Nusselt en los intercambiadores de placas suelen estar limitadas a valores específicos de su geometría. Una de las correlaciones que ofrece un rango más amplio es la correlación de Martin, por lo que será la que se emplee para esta tipología de intercambiadores. La expresión para el número de Nusselt comete un error de hasta el ± 30 %, como máximo, pudiendo reducirse hasta un ± 13 % al utilizarla para modelos industriales (Martín Moreno 2018). El Nusselt según esta correlación se calcula como: 𝑁∗𝑃𝑟1 3∗(𝜇 𝜇𝑤)1 6(𝑓∗𝑅𝑒2∗𝑠𝑒𝑛(2𝛽)0,374 (66) 1 √𝑓= cos(𝛽) √0,045∗tan(𝛽)+0,09𝑠𝑒𝑛(𝛽)+𝑓0 cos (𝛽)+1 − cos (𝛽) √3,8∗𝑓1 (67) Los parámetros f0 y f1 se calcularán en función del Reynolds: • Si Re < 2000 𝑓0=16 𝑅𝑒 (68) 𝑓1=149 𝑅𝑒 +0,9625 (69) • Si Re > 2000 𝑓0=(1,56∗ln(𝑅𝑒)−3)−2 (70) 𝑓1=9,75 𝑅𝑒 (71) En el Capítulo 6 se evaluará la validez de las correlaciones aquí presentadas. 4.5.3 Resistencia conductiva Otro parámetro que se calcula en función de la tipología del intercambiador es la resistencia conductiva. Para su cálculo se emplearán las ecuaciones de conducción unidimensional permanente sin generación y con conductividad térmica constante: Resistencia térmica de una capa cilíndrica (intercambiador de doble tubo) 𝑅𝑐𝑑,𝑡 =ln(𝑑𝑒/𝑑𝑖) 2𝜋𝐿𝐾 (72) Resistencia térmica de una placa plana (intercambiador de placas) 𝑅𝑐𝑑,𝑡 =𝑒 𝐾𝐴 (73) Metodologías de Cálculo 50 4.6 Pérdida de carga Desde un punto de vista mecánico los intercambiadores de calor se consideran equipos a presión. Según se ha visto, deberán trabajar a presiones superiores a la presión de saturación de los fluidos, para evitar un posible cambio de fase en ellos. Por tanto, es importante conocer la caída de presión que experimentan los fluidos a su paso por el equipo. Para el cálculo de la pérdida de carga en los intercambiadores tubulares se empleará la ecuación de Darcy- Weisbach, ampliamente conocida para sistemas de tuberías. La Ecuación (74) representa la forma de Darcy- Weisbach con el resultado obtenido en pascales. ∆𝑃=𝑓∗𝐿 𝐷∗𝑣2𝜌 2 (74) Donde f representa el factor de fricción, L y D son la longitud y el diámetro característicos del sistema y v la velocidad del fluido. El factor de fricción se define a través de la ecuación de Colebrook-White como se muestra en la Ecuación (75). En ella, el factor de fricción se encuentra en ambos lados de la ecuación, por lo que sería necesario implementar un método iterativo para su cálculo. 1 √𝑓=−2log10(𝑘 𝑑 3,7 +2,51 𝑅𝑒√𝑓) (75) El factor de fricción de Darcy se representa, de forma gráfica en el ábaco de Moody. Esta figura se emplea para determinar el factor de fricción en función del número de Reynolds y la rugosidad relativa de la superficie. Figura 7 Ábaco de Moody (Coronel Toro 2004) Para flujos laminares (Re < 2000) el factor de fricción se puede representar, como se muestra en el ábaco de Moody, como: 𝑓=64 𝑅𝑒 (76) Para fluidos turbulentos, la complejidad de esta ecuación ha propiciado la aparición de numerosas ecuaciones que aproximan, de manera más o menos certera, la solución. Se propone la correlación de Shacham (1980), 51 válida para superficies con rugosidades relativas pequeñas. 𝑓=(−2𝑙𝑜𝑔(𝜀 3,7𝐷−5,02 𝑅𝑒 log(𝜀 3,7𝐷+14,5 𝑅𝑒 )))−2 (77) Los fluidos en régimen de transición, como ya se ha visto, quedarán fuera del alcance de este documento. Por último, es importante destacar que la pérdida de carga en un tubo se calculará como la suma de la pérdida de carga por rozamiento en la longitud de tubería más la pérdida de carga inducida por los accesorios. En el caso de intercambiadores tubulares se considerarán como únicos accesorios los codos a 180º que forman las horquillas de tubos. La implicación de estos codos se puede cuantificar en términos de longitud equivalente, aumentando la longitud característica del equipo. Se definirá la longitud total equivalente a emplear en el cálculo de la pérdida de carga como: 𝐿𝑒𝑞 =(−2𝑙𝑜𝑔(𝜀 3,7𝐷))−2∗𝐿 𝐷 𝑓∗ 𝐷+ 𝐿 (78) El factor L/D es característico de cada accesorio, y se encuentra recogido en diferentes tablas de la bibliografía. En la Sección 5.1 se detallará cual es el factor a emplear en el caso de intercambiadores tubulares. En cuanto al diámetro, se utilizará el diámetro interior del tubo interior para calcular las pérdidas de carga del fluido frío y el diámetro equivalente del tubo exterior para el fluido caliente. Para la pérdida de carga en intercambiadores de placa se tendrán en cuenta las pérdidas producidas en los puertos de entrada y las pérdidas por rozamiento de los fluidos a su paso por el intercambiador. Se empleará la siguiente ecuación (Martín Moreno 2018), cuyo resultado se encuentra en pascales: ∆𝑃=1,5 𝐺𝑝.𝑒 2 2𝜌𝑒+ 4𝑓 𝐿𝐺𝑝 2 2𝜌𝐷ℎ (79) Los parámetros Gp,e y Gp hacen referencia a la densidad superficial de caudal en los puertos de entrada y en las placas respectivamente, y se calcula como: 𝐺= 𝑚󰇗 2∗𝑁𝑐∗𝑊∗𝑎 (80) Además, 𝜌𝑒 hace referencia a la densidad del fluido evaluada e la temperatura de entrada al intercambiador y f será el factor previamente calculado según la correlación de Martin (Ecuación (67)). El resto de los parámetros que se emplean en las dos ecuaciones anteriores se han definido previamente a lo largo del capítulo. Desarrollo del Software 52 5. DESARROLLO DEL SOFTWARE n capítulos anteriores se ha presentado la industria láctea actual, con sus particularidades y sus objetivos a la hora de aplicar tratamientos térmicos que garanticen la seguridad de los consumidores y favorezcan la conservación de los productos. Con todo esto, se ha desarrollado un Software que, conociendo las propiedades de la leche y los parámetros principales de los tratamientos térmicos, permita dimensionar o evaluar las propiedades de un intercambiador. En concreto, se incluyen los dos tipos de intercambiadores más utilizados en la industria: de doble tubo y de placas. Se emplearán los dos métodos de cálculo presentados anteriormente, en función de los datos de partida y las incógnitas del problema. El Software se ha desarrollado en MATLAB (versión R2023a), haciendo uso de una función principal (“Software_principal.m”), cuyo código se presenta en el Anexo A. 1. Desde ésta se llamará a diferentes funciones que se presentarán a lo largo del capítulo, incluidas dentro del mismo anexo. Para acceder al Software de cálculo, bastará con ejecutar el código desde la función principal. Esta función, en primer lugar, creará la interfaz de usuario de la pantalla principal. Además, contendrá el resto de funciones que se desarrollarán a continuación para el correcto funcionamiento del Software. Una vez inicializado el Software, se abrirá la pantalla principal. Ésta nos permitirá elegir entre las dos formas de uso implementadas: Evaluación y Dimensionamiento (Ilustración 21). La diferencia entre ellas son los datos de partida del problema. Más adelante se desarrollará cada una de ellas al detalle. Dentro de la función principal se encuentra la función “cambiomodo”. Esta permitirá al usuario en cualquier momento regresar a la pantalla de inicio para seleccionar el modo de funcionamiento del Software haciendo uso del botón situado en la esquina superior izquierda de la pantalla. Ilustración 12 Botón cambio de modo 5.1 Hipótesis simplificativas El principal inconveniente a la hora de realizar un cálculo de intercambiadores de calor es la gran cantidad de variables que existen asociadas al problema. Muchas de estas variables, además, modificarán la metodología de cálculo en función del valor que tomen. Es por ello que, para poder desarrollar el Software, se han tomado las hipótesis simplificativas que se detallan a continuación. • Puesto que las propiedades termofísicas de le leche dependen de su composición, se tomarán los siguientes valores de porcentaje en peso de cada componente: − Agua: 87% − Grasa: 5% − Proteínas: 3% − Hidratos de carbono: 4% − Cenizas: 1% E a 53 • El parámetro z, como se ha explicado a lo largo del proyecto, es característico de cada microorganismo. El Software se podrá emplear para calcular el tiempo de residencia necesario, a una determinada temperatura, para conseguir una inactivación de microorganismos equivalente a uno de los principales tratamientos térmicos. Para realizar este cálculo se tomará el valor z más restrictivos de entre los microorganismos destruidos en cada tratamiento. Los valores recogidos en la Tabla 6 se han tomado de referencia de entre diferentes publicaciones. Para un estudio real sería conveniente realizar un análisis de microorganismos a la leche previo al tratamiento para identificar las bacterias presentes en ella y sus parámetros de resistencia. Tabla 6 Valores Z de referencia Tratamiento térmico Microorganismo dominante Valor z Termización Salmonella spp 6,8 Pasteurización Staphylococcus aureus 5,1 Pasteurización a alta temperatura Listeria monocytogenes 3,7 UHT Bacillus spp 10,05 • Las capacidades caloríficas de ambos fluidos se consideran similares. Esto tiene dos principales implicaciones. En primer lugar, en la mayoría de los casos en los que hay intercambio de calor líquidolíquido en flujo contracorriente, un cambio de temperatura lineal es una suposición razonable para determinar el rendimiento de la planta de proceso (Lewis, Heppell 2000). A medida en que la diferencia de capacidades caloríficas se va incrementando, la curva se irá haciendo, en función del caso, logarítmica o exponencial, como se muestra en la Figura 8. Por otro lado, el valor de R del método Ɛ-NTU será 1 (o muy cercano), por lo que se utilizará la Ecuación (52) para el cálculo de la efectividad. De esta forma, no será necesario evaluar este parámetro gráficamente en función de la literatura de referencia. Figura 8 Curvas de temperatura en función de capacidades caloríficas (Lewis, Heppell 2000) • El Software no permitirá seleccionar el material empleado. Al tratarse de una aplicación para la industria alimentaria, cuyos requerimientos higiénicos son muy elevados, se supondrá que el material es acero inoxidable. Su valor de conductividad térmica se supondrá constante e igual a 13,4 W/mºC. Además, para cumplir los requerimientos industriales sanitaria, se supondrá una rugosidad superficial del material de 0,8 µm. • El factor de ensuciamiento se estima según los valores propuestos por G. F Hewitt en Heat Exchanger Design Handbook (Hewitt 1998). En la tabla 4.14 aparecen varios valores para componentes orgánicos e inorgánicos. Tomando para la leche la referencia de líquido orgánico ligero que transfiere calor sensible, el rango de selección es entre 10⁻⁴ y 2*10⁻⁴. Se elegirá el último valor para simular la situación más desfavorable (Tello García 2021). Para el lado del agua, se utilizará un factor de ensuciamiento de 0,088 m² ºC/kW que se ha tomado por valor recomendado por el fabricante Dongguan Golden Refrigeration Equipment (Tello García 2021). Desarrollo del Software 54 • Para las dimensiones de la placa, se asumirá que éstas son de tipo Chevron, con un espesor de placa de 0,6 mm. Además, los valores límites entre los que se podrán introducir el resto de parámetros de la geometría de la placa son: − Longitud de placa: (0 mm , 5000 mm] − Ancho de placa: (0 mm , 5000 mm] − Diámetro de los puertos de entrada: (0 mm , 500 mm] − Número de placas: [3 , 699] − Ángulo de Chevron: [25º , 60º] − Periodo de corrugación: [2 mm , 25 mm] − Amplitud de corrugación [0,6 mm , 4 mm] • En los intercambiadores de placa se asumirá el mismo número de canales para ambos fluidos, por lo que sus caudales serán del mismo orden de magnitud. Para que esto suceda, el número de placas del intercambiador ha de ser impar. Se asumirán del mismo diámetro (definido por el usuario) todos los puertos de entrada y salida del intercambiador. • Para el cálculo de las pérdidas de carga en los equipos, se considerarán los siguientes factores: − En intercambiadores de doble tubo únicamente se incluirán las pérdidas por rozamiento en los tramos rectos de tubería y las pérdidas localizadas introducidas por los codos a 180º que supone cada horquilla. Se asumirá el factor L/D de los codos igual a 50. − En los intercambiadores de placas se considerarán las pérdidas por fricción del fluido a su paso por las placas y las pérdidas localizadas introducidas por la descarga en los puertos de entrada. En el Capítulo 6 se analizará el efecto de estas hipótesis sobre los resultados obtenidos con el Software de cálculo. 5.2 Modo Evaluación El modo Evaluación del Software está diseñado para evaluar la transferencia de calor de un determinado intercambiador específico, conocida su geometría. Los datos de partida que debería introducir el usuario son: • Temperatura de entrada de ambos fluidos • Caudales másicos de ambos fluidos • Parámetros geométricos del intercambiador. El programa devolverá como solución las temperaturas de salida de los fluidos, así como la pérdida de carga producida en cada uno de ellos a su paso por el intercambiador. Al seleccionar el modo Evaluación se abrirá una pantalla del Software como se muestra en la Ilustración 22. Esta pantalla está dividida en cinco paneles: • Intercambiador de doble tubo: en caso de querer evaluar un intercambiador de estas características, el usuario deberá introducir en este panel los datos de partida previamente mencionados. Se incluye una representación gráfica de la geometría del equipo para ayuda del usuario. Una vez introducidos los valores, se deberá pulsar el botón “Evaluar Int. Doble Tubo” para obtener la solución. En este mismo panel se mostrarán las velocidades de ambos fluidos a su paso por el intercambiador. Los parámetros geométricos a introducir por el usuario son: − Longitud de los tubos (L*) en metros. − Número de tubos. Si se introduce un valor decimal el programa redondeará al entero más cercano. − Diámetro interior del tubo interior (di) en milímetros. − Espesor del tubo interior (e) en milímetros. 55 − Diámetro interior del tubo exterior (Di) en milímetros. • Intercambiador de placas: este panel presenta la misma forma que el anterior, adaptando los parámetros geométricos a los de un intercambiador de placas. Para realizar el cálculo se pulsará el botón “Evaluar Int. Placas”. Las velocidades calculadas que se muestran en este panel son la de la leche y el agua en los puertos de entrada del intercambiador. Los parámetros geométricos a introducir por el usuario son: − Longitud de placas (L) en milímetros. − Ancho de placas (W) en milímetros. − Número de placas. Si se introduce un valor decimal el programa redondeará al entero más cercano. − Periodo de corrugación (A) en milímetros. − Ángulo de Chevron (Betha) en grados. − Amplitud de corrugación (a) en milímetros. − Diámetro de los puertos de entrada en milímetros. El borde de estos dos paneles se marcará en azul, aumentando el grosor de línea, cuando se pulse su respectivo botón de cálculo. De esta forma, el usuario podrá reconocer a qué tipo de intercambiador pertenece la solución mostrada en el panel “Solución”. Ilustración 13 Paneles de intercambiadores. Modo Evaluación • Solución: Al pulsar cualquiera de los dos botones de cálculo se mostrará la solución obtenida en este panel. Además, incluye un desplegable en el que el usuario podrá seleccionar uno de los tratamientos térmicos ya definidos a lo largo del documento. Una vez seleccionado el tratamiento, el programa mostrará sus parámetros característicos de tiempo y temperatura, y habilitará un campo editable para que el usuario incluya el diámetro del tubo de residencia deseado. Aparecerá también el botón “Calcular”, que será necesario pulsar una vez introducidos estos valores para realizar el cálculo. Ilustración 14 Desplegable para selección del tratamiento térmico Desarrollo del Software 56 Ilustración 15 Tratamiento térmico de referencia y tubo de residencia La Ilustración 23 muestra un ejemplo de cálculo de este modo de funcionamiento para un intercambiador de doble tubo. En él, se pueden ver los resultados obtenidos de temperaturas y pérdidas de carga para unas determinadas condiciones de entrada y una geometría definida por el usuario. Además, se ha seleccionado como tratamiento térmico de referencia la pasteurización y un diámetro del tubo de residencia de 90 mm. Como resultado, se obtiene que, para conseguir una inactivación de macroorganismos equivalente a la de la pasteurización, será necesario mantener la leche durante 245,79 segundos a la temperatura de salida del intercambiador, dando una longitud de tubo de 376,27 metros. • Panel de errores: Al iniciar el programa el panel de errores mostrará, con letra azul, el mensaje “No hay errores”. Si al realizar los cálculos se diera algún error, debido a la incongruencia de datos introducidos por el usuario o a que se trata de un problema no implementado, se mostrará el mensaje correspondiente con el color de fuente en rojo. Los diferentes errores que puede mostrar el Software se detallarán más adelante. • Evolución de temperaturas: esta gráfica mostrará la evolución de temperaturas del fluido frío (en azul) y del fluido caliente (en rojo) a lo largo del intercambiador una vez que se hayan realizado los cálculos. 5.2.1 Funciones de código. Modo Evaluación Al seleccionar el modo “Evaluar intercambiador” en la pantalla de selección, se activará la función “Evaluar”, contenida dentro de la función principal. En primer lugar, esta función creará la interfaz gráfica completa, dejando ocultos los elementos que aparecerán tras el cálculo. A su vez, en su interior se encuentran cuatro funciones. Cada una de ellas se ejecutará al pulsar uno de los tres botones ya mencionados (“Evaluar Int. Doble Tubo”, “Evaluar Int. Placas” y “Calcular”) o al seleccionar una opción del desplegable de selección del tratamiento térmico de referencia. Los dos primeros botones tienen asociados las funciones “plotButtonPushed_et” y “plotButtonPushed_ep” respectivamente, ambas con una estructura similar. Lo primero que hacen es marcar el borde del panel en azul, con un grosor de línea mayor que el habitual, y devolviendo el contorno del panel contrario a su estado normal (si ya estuviera marcado en azul por un cálculo previo). Además, inicializan el panel de solución, el panel de errores y la gráfica de temperaturas. A continuación, la función leerá los datos de partida introducidos por el usuario y calculará la geometría de cada intercambiador: • Intercambiador de doble tubo: se calculará la longitud total del intercambiador (en función de la longitud de tubos y el número de tubos), el diámetro exterior del tubo interior, el diámetro equivalente del paso del agua, las áreas de paso de ambos fluidos y el área de transferencia. • Intercambiador de placas: se calculará el número de canales por fluido, el factor de agrandamiento del área, el área de transferencia por placa, el área de transferencia total, el diámetro hidráulico y el área de los puertos de entrada. Para empezar con el cálculo del intercambiador en este modo de funcionamiento se tienen como datos de partida las temperaturas de entrada y los caudales másicos de ambos fluidos, así como el área de transferencia del intercambiador. Por tanto, se empleará el método de la eficiencia-NTU desarrollado en la Sección 4.4. Para evaluar las propiedades de los fluidos será necesario conocer sus temperaturas calóricas. Para ello se utilizará el siguiente método iterativo: 57 1. Se consideran las temperaturas calóricas igual a las temperaturas de entrada de los fluidos, y la temperatura de pared igual a la media de las dos anteriores. 2. Con estas temperaturas se obtendrán las propiedades de los fluidos (densidad, viscosidad, conductividad, calor específico y viscosidad en pared) haciendo uso de las funciones auxiliares “prop_leche.m” (Sección A. 2) y “prop_agua.m” (Sección A. 3). 3. Haciendo uso de las propiedades anteriores se calcularán las velocidades de los fluidos (o densidad de caudal, en el caso de los intercambiadores de placas) y los números de Reynolds y Prandlt. 4. Se calculan los números de Nusselt de la leche y del agua haciendo uso de las funciones auxiliares “Nusselt_leche.m” (Sección A. 4) y “Nusselt_agua.m”, (Sección A. 5) que incluyen las correlaciones descritas en la Sección 4.2. Con esto se calcularán el coeficiente de película interior (referido al área exterior) y el coeficiente de película exterior según se indica en la Sección 4.5.2. 5. Se calcula el calor intercambiado en el equipo, haciendo uso del método Ɛ-NTU. Para ello, se calculará el coeficiente global de transferencia haciendo uso de la Ecuación (38) y se calcularán las capacidades caloríficas de los dos fluidos, determinando cual es la mayor y cual la menor. 6. Una vez conocido el calor intercambiado, se calcularán las temperaturas de salida de la leche y del agua, despejando las incógnitas en la Ecuaciones (39) y (40). 7. A partir de aquí, se comienza a iterar el proceso desde el punto 2. Para ello, en primer lugar, se define el error relativo producido en el calor calculado (se inicializa su valor en 1) y se establece que el proceso iterativo finalizará cuando este error sea menor de 0,0001 (0,01%). Este error se define como: 𝐸=|𝑄𝑖−𝑄𝑖−1| 𝑄𝑖 (81) Las nuevas temperaturas calóricas para comenzar la siguiente iteración se calcularán a partir de las temperaturas de salida calculadas, haciendo uso de las Ecuaciones (42) a (44). Finalizado el proceso iterativo, el Software mostrará los resultados por pantalla y calculará las pérdidas de carga utilizando las propiedades de los fluidos y números adimensionales calculados en la última iteración. Estos valores se mostrarán también al usuario. El cálculo de la pérdida de carga en un intercambiador de placas se realizará empleando la función auxiliar “f_int_placas.m” (Sección A. 9). 5.2.1.1 Equivalencia de tratamientos térmicos La tercera función contenida dentro de la función “Evaluar” es la función “equivalencia”. Esta se activará al seleccionar cualquier opción del desplegable de selección del tratamiento térmico de referencia. El objetivo de esta función es modificar la ventana gráfica. Una vez seleccionado un tratamiento, se mostrarán los valores de temperatura y tiempo característicos, así como un campo editable para introducir el diámetro del tubo de residencia y un botón “Calcular”. El diámetro será necesario para calcular la longitud del tubo necesaria para mantener el producto en su interior durante el tiempo necesario calculado. Al pulsar el botón “Calcular” se ejecutará la última de las funciones contenida en esta función principal: “plotButtonPushed_sol”. Esta función calcula el tiempo de residencia necesario a la temperatura de salida de la leche para obtener una destrucción de microorganismos similar a la obtenida en el tratamiento de referencia seleccionado. Además, devolverá por pantalla los valores de la longitud necesaria del tubo y la velocidad de la leche a su paso por él. Estos cálculos se realizan haciendo uso de las expresiones definidas en la Sección 2.2.3 y las hipótesis de la Sección 5.1. 5.2.2 Posibles errores. Modo Evaluación Durante el empleo del Modo Evaluación del Software se pueden dar diferentes errores. Algunos de ellos estarán causados por una introducción de datos errónea, mientras que otros se deberán a que el cálculo no está implementado en el sistema. Los posibles errores registrados para este modo de operación y que, por tanto, se mostrarán en el panel de errores si se produjeran, son los siguientes: Desarrollo del Software 64 − “Fluido caliente en región de transición. Por favor, cambie las características del intercambiador.” − “Ambos fluidos en región de transición. Por favor, cambie las características del intercambiador.” • En el dimensionamiento de un intercambiador de doble tubo con la longitud de tubos fijada por el usuario pueden darse los siguientes mensajes: − Si se recalculan las temperaturas por adaptar el área de transferencia a un número entero de tubos: “Se han recalculado las temperaturas de salida para adaptar el número de tubos.” En este caso el color de fuente será azul porque no se trata de un error, sino de un mensaje de información. − Si la longitud total del intercambiador es inferior a diez veces el diámetro del tubo, por lo que no se puede garantizar que el flujo esté completamente desarrollado: “La longitud del tubo debe ser mayor de 10 veces el diámetro interior para obtener resultados válidos. Por favor, aumente la longitud del tubo.” • En el dimensionamiento de un intercambiador de doble tubo con el número de tubos fijado por el usuario, si se ha aumentado la longitud obtenida para mantener la condición de que esta sea, al menos, diez veces mayor al diámetro: “Se ha aumentado la longitud del intercambiador para mantener la condición L/d > 10.” • Si alguna, o las dos, pérdidas de cargas calculadas son mayores al valor recomendado de 1,5 bar para un intercambiador de tubos: − “La pérdida de carga en el lado de la leche es más elevada de lo recomendable. Considere aumentar el diámetro interior del tubo o disminuir el número de tubos.” − “La pérdida de carga en el lado del agua es más elevada de lo recomendable. Considere aumentar el diámetro interior del tubo o disminuir el número de tubos.” − “La pérdida de carga es más elevada de lo recomendable. Considere aumentar los diámetros interiores de los tubos o disminuir el número de tubos.” • En el dimensionamiento de un intercambiador de placas con el número de placas fijado por el usuario, si el valor introducido es par: “El número de placas del intercambiador debe ser impar.” • En el dimensionamiento de un intercambiador de placas con las dimensiones fijadas por el usuario, si la proporción entre la longitud y el ancho de placa no se encuentra dentro de los límites establecidos: “La relación de tamaño (L/W) de la placa no es válida. Por favor, modifique las dimensiones placa.” • En el dimensionamiento de un intercambiador de placas con las dimensiones fijadas por el usuario, si el número de placas calculado se encuentra fuera de los límites del sistema se pueden dar los siguientes errores: − “El número de placas calculado supera el límite establecido. Por favor, modifique los parámetros geométricos.” − “El número de placas calculado es inferior a 3, por lo que no se pueden establecer canales para ambos fluidos. Por favor, modifique los parámetros geométricos.” • Si alguna, o las dos, pérdidas de cargas calculadas son mayores al valor recomendado de 1,5 bar para un intercambiador de placas: − “La pérdida de carga en el lado de la leche es más elevada de lo recomendable. Considere aumentar el diámetro de los puertos de entrada, el número de placas o modificar su geometría.” − “La pérdida de carga en el lado del agua es más elevada de lo recomendable. Considere aumentar el diámetro de los puertos de entrada, el número de placas o modificar su geometría.” − “La pérdida de carga es más elevada de lo recomendable. Considere aumentar el diámetro de los puertos de entrada, el número de placas o modificar su geometría.” 65 6. EVALUACIÓN DEL SOFTWARE lo largo de este documento se ha ido desarrollando la metodología empleada por el Software para la evaluación y el dimensionamiento de los intercambiadores de calor de doble tubo y de placas. Como ya se ha visto, se han tomado diferentes hipótesis de cálculo, se han realizado diferentes asunciones y se han empleado correlaciones empíricas. Todo esto hace que los métodos implementados no sean exactos, y puedan dar lugar a diversos errores. Por lo general, esto es común a la hora de calcular intercambiadores de calor. Es por eso que, a nivel industrial, es recomendable recurrir a los proveedores de los equipos. Ellos contarán con la experiencia y el conocimiento sobre sus equipos necesario para obtener unos resultados más acertados. Otra forma de validar estos cálculos sería recurrir a modelos de elementos finitos o simulaciones. Con el fin de contrastar los resultados obtenidos se han seleccionado dos Software de cálculo disponibles en Internet, cada uno de ellos asociados a una tipología de intercambiador. A continuación, se presentarán diferentes casos de evaluación o dimensionamiento, y se compararán los resultados obtenidos con el Software desarrollado y con el Software comercial. 6.1 Comprobación para intercambiadores de doble tubo Los intercambiadores tubulares son los más desarrollados en la literatura, y los más probados experimentalmente. Es por ello que las correlaciones usadas dan un gran nivel de aproximación con la realidad. Además, las pérdidas de carga son sencillas de calcular, pues se trata de un sistema simple de tuberías y accesorios. Para evaluar la eficacia del Software desarrollado se usará una herramienta de Checalc© (CheCalc 2023)de Chemical Engineering Calculations, una página educativa que ofrece guías y herramientas de cálculo para los procesos más habituales de la ingeniería. Su aplicación web para el cálculo de intercambiadores de doble tubo permite realizar el cálculo térmico e hidráulico de estos equipos. 6.1.1 Modo Evaluación En primer lugar, se compararán los resultados obtenidos para un ejemplo concreto en el modo Evaluación de un intercambiador de doble tubo con los resultados proporcionados por la aplicación web. Para comenzar a trabajar con la web de cálculo, se establecerá que el fluido caliente circula por el tubo exterior, que ambos fluidos circulan en contracorriente y que la longitud de tubos es de 10 metros. Los datos de entrada solicitados por la web son, para este primer ejemplo, los siguientes: • Fluido caliente: − Caudal: 25 kg/s − Temperatura de entrada: 90ºC − Temperatura de salida: 40ºC − Factor de ensuciamiento: 8.8e-5 • Fluido frío: − Caudal de entrada: 25 kg/s − Temperatura de entrada: 1ºC A a Evaluación del Software 66 − Factor de ensuciamiento: 2e-4 La aplicación ofrece un desplegable para seleccionar el material de los tubos, así como su diámetro nominal y su Schedule. Se seleccionará como material acero inoxidable, y las siguientes dimensiones tubulares: • Tubo interior: 6”- Sch: 40 • Tubo exterior: 10” -Sch: 40 Puesto que la aplicación web no dispone de una base de datos de fluidos, será necesario introducir sus propiedades termofísicas, evaluadas a la temperatura media que el programa proporciona. Para ello, se han debido realizar una serie de iteraciones hasta aproximar las propiedades a la temperatura deseada. Con todo esto, el programa proporciona los siguientes resultados principales: • Temperatura de salida del fluido frío (leche): 55,127ºC • Longitud calculada: 351,1 m • Número de horquillas calculadas: 17,6 • Número de horquillas seleccionada: 18 • Pérdida de carga en el tubo interior (leche): 0,832 bar • Pérdida de carga en el tubo exterior (agua): 0,532 bar En el Anexo C, Ilustración 26 e Ilustración 27, se muestran los cálculos realizados con la aplicación web para este ejemplo. Es importante destacar que esta aplicación calcula el número de horquillas, siendo una horquilla dos tubos junto con el codo de 180º que los une. Por tanto, 18 horquillas seleccionadas implicarán 36 tubos, cada uno de ellos de 10 m, dando un área total de 360 m. En el modo Evaluación del Software desarrollado, como se muestra en la Ilustración 28, se introducen los siguientes datos de partida: • Temperatura de entrada de la leche: 1ºC • Caudal másico de leche: 25 kg/s • Temperatura de entrada del agua: 90ºC • Caudal másico de agua: 25 kg/s Además, se introduce una geometría similar a la calculada por la web anterior: • Longitud de tubos: 10 m • Número de tubos: 36 • Diámetro interior del tubo interior: 154,1 mm • Espesor del tubo interior: 5.49 mm (correspondiente a 6” Sch 40) • Diámetro interior del tubo exterior: 252 mm Como se puede comprobar, los resultados obtenidos en cuanto a temperaturas son muy similares. El Software proporciona una temperatura de salida del agua de 39,37ºC, mientras que en la web se habían establecido 40ºC. Para la leche, el Software calcula una temperatura de salida de 55,81ºC, frente a los 55,137ºC calculados por la aplicación. Las pérdidas de carga en el lado de la leche y del agua son, respectivamente, 0,47 bar y 0,32 bar. En la Tabla 7 se mostrarán los resultados obtenidos para diferentes ejemplos. Los diámetros y espesores de los tubos se han adaptado en cada caso, de modo que los fluidos circulen a la misma velocidad para ambas aplicaciones. Más adelante se comentarán las posibles causas de las diferencias obtenidas. 6.1.2 Modo Dimensionamiento A continuación, se procederá de la misma manera para comprobar los resultados obtenidos en el modo Dimensionamiento. Se propone el Ejemplo 2, cuyos cálculos se encuentran en el Anexo C. 2, a modo de 67 visualización para esta comparativa. Posteriormente, se presentarán los resultados para diferentes casos en la Tabla 7. Para el Ejemplo 2, los datos de entrada solicitados por la web son los siguientes: • Fluido caliente: − Caudal: 50 kg/s − Temperatura de entrada: 95ºC − Temperatura de salida: 50ºC − Factor de ensuciamiento: 8.8e-5 − Tubo exterior: 10”- Sch: 60 • Fluido frío: − Caudal de entrada: 50 kg/s − Temperatura de entrada: 10ºC − Factor de ensuciamiento: 2e-4 − Tubo interior: 6”- Sch: 80 Las soluciones calculadas por CheCalc© para este ejemplo son: • Temperatura de salida del fluido frío (leche): 54,345ºC • Longitud calculada: 583 m • Número de horquillas calculadas: 29,2 • Número de horquillas seleccionada: 30 (60 tubos) • Pérdida de carga en el tubo interior (leche): 7,66 bar • Pérdida de carga en el tubo exterior (agua): 4,09 bar En el modo Dimensionamiento del Software desarrollado, como se muestra en la Ilustración 31, se introducen los siguientes datos de partida: • Condiciones de la leche: − Temperatura de entrada: 10ºC − Temperatura de salida: 54,345ºC − Caudal másico: 55 kg/s • Condiciones del agua: − Temperatura de entrada: 95ºC − Temperatura de salida: 50ºC En este caso, se ha fijado el valor de la longitud de tubos en 10 metros. El Software recalculará las temperaturas de salida una vez calculado el número de tubos que, como ya se ha visto, se redondeará al entero superior más cercano. Se introducen además los diámetros y el espesor requeridos para el cálculo, haciéndolos coincidir con los introducidos en CheCalc©. Con esto, los resultados que se obtienen son: • Caudal másico de agua necesario: 50 kg/s • Número de tubos: 61 • Pérdida de carga en el tubo interior (leche): 4,34 bar Evaluación del Software 68 • Pérdida de carga en el tubo exterior (agua): 2,54 bar • Temperatura de salida de la leche (recalculada): 54,67ºC • Temperatura de salida del agua: 49,67ºC De nuevo, se obtienen valores muy similares en ambos sistemas de cálculos. Pese a que el Software desarrollado calcula necesario un tubo más que la aplicación web, esto representará, para el intercambiador completo, una diferencia en el área del 1,67%. Al igual que en el caso anterior, la mayor diferencia la encontramos en las pérdidas de carga. En la Tabla 7 se exponen los resultados obtenidos para cuatro casos diferentes (casos 5 a 8) con los que se podrán sacar las conclusiones que se presentan a continuación. En los dos primeros casos se ha introducido la longitud del tubo, mientras que en los dos últimos casos el parámetro conocido será el número de tubos. 6.1.3 Conclusiones En la Tabla 7 se muestran los resultados obtenidos para ocho casos diferentes. Los datos introducidos en las diferentes aplicaciones de cálculo se recogen en color negro, mientras que los datos calculados se representan con color de letra rojo. Los cuatro primeros corresponden al modo Evaluación y los cuatro últimos al modo Dimensionamiento. De entre estos últimos, para los casos 5 y 6 se ha fijado la longitud de los tubos (por lo que se han recalculado las temperaturas de salida) y para los casos 7 y 8 se ha fijado el número de tubos. En general, los valores de temperaturas obtenidos mediante ambos sistemas de cálculo están muy próximos entre sí, con una diferencia en todos los casos inferior a 1ºC. A pesar de emplear correlaciones diferentes, se puede concluir que ambas son válidas y proporcionarán valores similares para la evolución de las temperaturas. Es importante destacar que, al igual que para el desarrollo del Software se ha tomado un valor fijo e hipotético para la conductividad del acero, la aplicación web contará con su propio valor, desconocido para el usuario. Sin embargo, para espesores similares (en base al diámetro y Schedule de tubería), los datos obtenidos desprenden que los valores de conductividad empleados en ambos sistemas de cálculo deben ser muy similares. En cuanto a las longitudes calculadas, únicamente cabe destacar los dos últimos casos, en los que el Software calcula una longitud de tubo en base al número de tubos introducido. En estos casos, la variación en longitud total para cada uno de ellos es de 6,8% y 0,97%. Estas aproximaciones pueden considerarse correctas. Se ha de tener en cuenta que la aplicación de CheCalc© redondea al número de tubos entero más cercano, sea inferior o superior, mientras que el Software propio redondea siempre al entero superior. Es por esto que, en ocasiones como en el caso 7, la longitud total de tubos se haya visto algo disminuida. La mayor diferencia se encuentra , como ya se ha visto para los dos ejemplos anteriores, en las pérdidas de carga. Sin embargo, es importante destacar que en todos los casos se mantiene la proporción entre la pérdida de carga estimada por CheCalc© y la calculada por el Software desarrollado para ambos fluidos. Estas diferencias se pueden deber principalmente al factor de la rugosidad. La aplicación web no permite seleccionar la rugosidad del material, ni el tipo de acero inoxidable específico. Al tratarse de una aplicación tan concreta de la industria alimentaria, la rugosidad empleada en el Software propio es de 0,8 micrómetros. Este valor no es habitual en la industria, salvo que se requieran condiciones higiénicas, por lo que, probablemente, la rugosidad empleada en CheCalc© sea mayor que esta. Esto conllevará, según las ecuaciones presentadas en la Sección 4.6, mayores valores para la pérdida de carga. A pesar de esto, se podrán considerar las pérdidas de carga como una buena aproximación, pues en todos los casos se conservan los órdenes de magnitud entre ambas metodologías de cálculo. Otro aspecto a tener en cuenta con respecto a los cálculos realizados con la web CheCalc© es que ésta no ofrece las temperaturas calóricas de los fluidos, sino sus temperaturas medias. Es a estas temperaturas a las que se han introducido las propiedades de los fluidos. Esto puede llevar a errores, que se considerarán menores, pues las propiedades termofísicas de la leche y del agua no presentan grandes variaciones en estos rangos de temperaturas. 69 Tabla 7 Comparativa de resultados: Intercambiador de doble tubo Caso Caudal leche (kg/s) Caudal agua (kg/s) Tª entrada leche (ºC) Tª entrada agua (ºC) Tª salida leche (ºC) Tª salida agua (ºC) Longitud tubos (m) Nº tubos Longitud total (m) ΔP leche (bar) ΔP agua (bar) CheCalc© 1 17 15 5 140 62,96 80,00 5 28 140 1,27 2,59 Software propio 1 17 15 5 140 62,56 80,45 5 28 140 0,70 1,68 CheCalc© 2 30 30 2 170 79,53 100,00 12,50 20 250 4,20 8,51 Software propio 2 30 30 2 170 80,94 99,69 12,50 20 250 2,81 5,72 CheCalc© 3 4 4 6 80 27,66 60,00 3 12 36 0,55 0,19 Software propio 3 4 4 6 80 27,90 59,78 3 12 36 0,33 0,11 CheCalc© 4 100 100 15 180 82,04 120,00 28 14 392 0,74 1,04 Software propio 4 100 100 15 180 82,79 119,31 28 14 392 0,47 0,71 CheCalc© 5 10 10 10 120 86,16 50,00 20 16 320 2,27 0,436 Software propio 5 10 10 10 120 86,87 49,34 20 16 360 1,6 0,28 CheCalc© 6 25 25 1 95 38,95 60,00 21 8 168 1,88 6,22 Software propio 6 25 25 1 95 39,05 59,91 21 8 168 1,41 4,56 CheCalc© 7 45 40 0,1 100 48,28 50,00 10 32 320 2,22 22,43 Software propio 7 45 40,01 0,1 100 48,28 50,00 10,68 32 341,76 1,32 16,52 CheCalc© 8 12 12 20 115 63,62 75,00 14,50 8 116 0,35 1,18 Software propio 8 12 12 20 115 63,62 75,00 14,36 8 114,88 0,23 0,82 70 6.2 Comprobación para intercambiadores de placas Al contrario de lo que ocurre con los intercambiadores tubulares, los intercambiadores de placas tienen poco desarrollo empírico, y sus correlaciones existentes en la bibliografía, además de ser escasas, no siempre proporcionan resultados adecuados. Es por ello que, para diseñar o dimensionar un intercambiador de placas para un proceso industrial, lo más conveniente suele ser apoyarse en proveedores. Estos conocerán la tecnología de sus propios equipos y dispondrán de modelos adecuados para simular los procesos. Además, cada proveedor dispondrá de su propia tecnología y proporcionará un diseño de placas específico, diseñado y probado para optimizar sus equipos. Suicalsa S.A es una empresa asentada en Illescas, Toledo, consolidada en el sector de los intercambiadores de calor, además de otros equipos, desde los años 70. En su página web proporciona un software de cálculo para intercambiadores de placas, con el que compararemos los resultados obtenidos con el Software desarrollado. La peculiaridad de este software es que ofrece como resultado del cálculo la selección de un intercambiador perteneciente a su catálogo, con un determinado número de placas. Será necesario recurrir al catálogo del fabricante para encontrar las características geométricas del intercambiador propuesto. Al iniciar el programa se presenta la pantalla mostrada en la Ilustración 18. En primer lugar, se seleccionará el valor del ensuciamiento. Este se introduce como un factor de sobredimensionamiento entre el 0% y el 30%. Para los casos de estudio objeto de este proyecto se determinará un factor del 0%, pues se considerará que el ensuciamiento no es aceptable en la industria láctea, y que los equipos se someterán permanentemente a la limpieza requerida. Como materiales, se seleccionará AISI 316L (acero inoxidable) para las placas y EPDM para las juntas, debido a su resistencia a altas temperaturas. Ilustración 18 Pantalla Software Suicalsa 9.2 71 A continuación, será necesario escoger los fluidos de entre los que dispone el programa. Para el lado primario (lado caliente) se seleccionará agua. Para el lado secundario (lado frío) se elige “Milk 30% intero 20-80”. Para calcular un intercambiador de placas necesitamos conocer los datos de operación de los circuitos primario (fluido caliente) y secundario (fluido frío). Para fijar el balance energético del intercambiador hay que definir 5 variables (Instrucciones programa SUICALSA 9.2 2017). Estas variables pueden ser: • Potencia en kW • Temperatura de entrada del fluido caliente en ºC • Temperatura de salida del fluido caliente en ºC • Temperatura de entrada del fluido frío en ºC • Temperatura de salida del fluido frío en ºC • Caudal del fluido caliente en m3/h • Caudal del fluido frío en m3/h Las dos variables que no se introduzcan por el usuario serán calculadas por el sistema. Para cada uno de los métodos descritos a continuación se emplearán unos datos de entrada determinados. Además, será necesario introducir la pérdida de carga máxima de cada fluido a su paso por el intercambiador. El programa devolverá, además, como resultado los siguientes valores: • Pérdidas de carga de los fluidos • Superficie de intercambio • Coeficiente global de transferencia • DTLM • Factor de seguridad • Velocidad de los fluidos en los puertos de entrada • Velocidad de los fluidos por el intercambiador • Densidad y viscosidad de los fluidos en condiciones de funcionamiento El principal inconveniente de este software es que no se conocen las geometrías de placas disponibles. Estas se encuentran integradas en el cálculo, pero no son conocidas para el usuario. Tampoco se han encontrado referencias a la geometría utilizada en los catálogos del fabricante ni en su página web. Las comparativas se basarán en encontrar la combinación de parámetros geométricos, dentro de sus límites habituales, que den valores similares a los obtenidos para las placas de Suicalsa. 6.2.1 Modo Evaluación Para comenzar a valorar la semejanza con la realidad del Software propio desarrollado para los intercambiadores de placas, se presenta un ejemplo (Ejemplo 3, ver Anexo C. 3) haciendo uso del modo Evaluación. Los parámetros introducidos en el software de Suicalsa son los siguientes: • Temperatura de entrada de la leche: 5ºC • Temperatura de entrada del agua: 100ºC • Temperatura de salida del agua: 50ºC • Caudal de leche: 52,08 m3/h (15kg/s) • Caudal de agua: 55,46 m3/h (15kg/s) El programa ofrece como opción más adecuada el modelo 3601 con 43 placas y diámetro de las conexiones de 2 ½”. Sus dimensiones, de acuerdo al catálogo, se muestran en la Ilustración 19. Además, la temperatura de salida de la leche obtenida es de 56,08ºC. Evaluación del Software 72 Ilustración 19 Dimensiones modelo 3601 Suicalsa Las pérdidas de carga calculadas por el software al hacer pasar la leche y el agua por este intercambiador son 1,49 bar (14,6 m.c.l.) y 1,23 bar (12,9 m.c.l.) respectivamente. En el Software propio se introducen los mismos datos de partida, a excepción de la temperatura de salida del agua, que será también calculada. Adaptando la longitud y el ancho de la placa a las dimensiones proporcionadas por el catálogo, estableciendo los diámetros de los puertos de entrada en 72 mm (con el fin de obtener velocidades semejantes en las conexiones), y adaptando el resto de datos geométricos según la Ilustración 33, se obtienen los siguientes resultados: • Temperatura de salida de la leche: 56,23ºC • Temperatura de salida del agua: 52,77ºC • Pérdida de carga en el lado de la leche: 1,17 bar • Pérdida de carga en el lado del agua: 1,23 bar En la Tabla 8 se presentan cuatro casos adicionales para comparar el modo Evaluación del Software. Más adelante se analizarán estos resultados y se propondrán posibles causas para las diferencias surgidas. 6.2.2 Modo Dimensionamiento Por último, se analizarán diferentes casos con el fin de evaluar el modo Dimensionamiento para intercambiadores de placas del Software desarrollado. De nuevo, se usará el software de selección de Suicalsa S.A. a modo de comparativa, recurriendo a los modelos de su catálogo. En esta sección se presenta el Ejemplo 4, cuyos cálculos haciendo uso de los dos sistemas de cálculo se recogen en el Anexo C. 4. Los datos de partida del Ejemplo 4 son: • Caudal másico de entrada de la leche: 8 kg/s • Temperatura de entrada de la leche: 5ºC • Temperatura de entrada del agua: 75ºC • Temperatura de salida de la leche: 60ºC 73 • Temperatura de salida del agua: 10ºC Con esto, el programa calcula un caudal necesario de agua de 6,77 kg/s (24,67 m3/h). El modelo seleccionado es el 7600 con 37 placas y con un diámetro de conexiones DN150. Las dimensiones según el catálogo son las siguientes: Ilustración 20 Dimensiones modelo 7600 Suicalsa Se usará como longitud de placa el valor E (1295 mm) y como ancho 425mm, obtenido de dividir el área de la placa entre su longitud. Este ancho como se puede comprobar es un valor intermedio entre el ancho total de la placa y la distancia entre los centros de los puertos de entrada. Las pérdidas de carga calculadas por el software al hacer pasar la leche y el agua por este intercambiador son 0,78 bar (7,74 m.c.l.) y 0,55 bar (5,68 m.c.l.) respectivamente. El Software propio partirá de los mismos datos que el software de Suicalsa. Además, se le proporcionará el número de placas calculado (37) y la relación de tamaño obtenida de las dimensiones del catálogo (3,05). Con esto, y adaptando el resto de parámetros geométricos como se muestra en la Ilustración 35, se obtienen unas dimensiones de 1295,66 mm de largo por 424,81 mm de ancho. Además, el caudal de agua calculado es de 6,45 kg/s y las pérdidas de carga para la leche y el agua respectivamente son de 0,54 bar y 0,37 bar. En este ejemplo se ha tomado como parámetro conocido el número de placas, y se han calculado las dimensiones de la placa. En la Tabla 8 se muestran cuatro nuevas comparativas para el modo Dimensionamiento (casos 5 a 8). En las dos primeras el parámetro fijado serán las dimensiones de placa, y se calculará el número de placas necesario. Puesto que se ha establecido que el número de placas ha de ser impar para tener simetría en los canales del intercambiador, el Software recalculará las temperaturas de salida para adaptarlas al número de placas seleccionado. En los casos 7 y 8 se fijarán los números de placas y los ratios entre la longitud y el ancho, y el Software devolverá las dimensiones calculadas. Calcular end if Selection=="Evaluar Intercambiador" Evaluar end end %% MODO DE FUNCIONAMIENTO: EVALUACIÓN DEL INTERCAMBIADOR function Evaluar fig.Name='Intercambiadores de Calor - TFM - María J. Llorente - Modo Evaluación'; g = uigridlayout(fig,[3 3]); g.RowHeight = {'1.1x' ,'0.15x','1x'}; g.ColumnWidth = {'1x', '1x' , '1x'}; %% GRÁFICA ax = uiaxes(g,'XLim',[0 100],'YLim',[0 180]); ax.Layout.Row = 3; ax.Layout.Column = 3; ax.Title.String = 'EVOLUCIÓN DE TEMPERATURAS'; ax.Title.FontWeight = 'bold'; ax.Title.FontSize=16; ax.XLabel.String='Paso por el intercambiador (%)'; ax.XLabel.FontWeight = 'bold'; ax.YLabel.String='Temperatura (ºC)'; ax.YLabel.FontWeight = 'bold'; ax.YGrid='on'; %% PANEL DE SOLUCIÓN pnl_sol = uipanel(g); pnl_sol.Layout.Row=1; pnl_sol.Layout.Column=3; %Título t_s=uilabel(pnl_sol,'Text','SOLUCIÓN'); t_s.FontWeight='Bold'; t_s.Position=[0 300 500 30]; t_s.HorizontalAlignment='Center'; t_s.VerticalAlignment='top'; t_s.FontSize=16; % Temperaturas de salida de ambos fluidos uilabel(pnl_sol, 'Position',[10 265 520 20], 'Text','Temperatura de salida de la leche:'); tl_s=uilabel(pnl_sol, 'Position',[240 265 80 20],'Text','-'); uilabel(pnl_sol, 'Position',[10 240 520 20], 'Text','Temperatura de salida del agua:'); ta_s=uilabel(pnl_sol, 'Position',[240 240 80 20],'Text','-'); % Caida de presión en el intercambiador uilabel(pnl_sol, 'Position',[10 215 520 20], 'Text','Pérdida de carga en el lado de la leche:'); 81 pcl=uilabel(pnl_sol, 'Position',[240 215 80 20],'Text','-'); uilabel(pnl_sol, 'Position',[10 190 520 20], 'Text','Pérdida de carga en el lado del agua:'); pca=uilabel(pnl_sol, 'Position',[240 190 80 20],'Text','-'); % Desplegable para selección del tratamiento térmico de referencia uilabel(pnl_sol, 'Position',[10 160 520 20], 'Text','Seleccione tratamiento de referencia:','FontWeight','bold'); equ_dr=uidropdown(pnl_sol,'Position',[240 160 220 20], 'Items',["-","UHT", "Pasteurización Alta Temperatura", "Pasteurización","Termización"],'ValueChangedFcn',@(src,event)equivalencia); % Temperatura y tiempo característicos del tratamiento de referencia. teoblab=uilabel(pnl_sol, 'Position',[10 130 520 20], 'Text','Temperatura de referencia:'); teoblab.Visible='off'; teo_e=uilabel(pnl_sol, 'Position',[240 130 80 20]); teo_e.Visible='off'; toblab=uilabel(pnl_sol, 'Position',[10 105 520 20], 'Text','Tiempo de referencia:'); toblab.Visible='off'; to_e=uilabel(pnl_sol, 'Position',[240 105 80 20]); to_e.Visible='off'; % Selección del diámetro del tubo de residencia dia_lab=uilabel(pnl_sol, 'Position',[10 80 520 20],'Text','Diámetro interior del tubo de residencia'); dia_e=uieditfield(pnl_sol,'numeric','Position',[240 80 80 20],'Limits',[0 10000],'LowerLimitInclusive','off','ValueDisplayFormat','%.1f mm'); dia_lab.Visible='off'; dia_e.Visible='off'; %Botón para calcular la equivalencia entre tratamientos térmicos calc=uibutton(pnl_sol,'Text','Calcular','Position',[350 120 80 20],'ButtonPushedFcn', @(src,event) plotButtonPushed_sol); calc.Visible='off'; % Muestra solución de tiempo y longitud de tubo equivalente al tto térmico % y la velocidad de la leche a través del tubo tlab=uilabel(pnl_sol, 'Position',[10 35 520 20], 'Text','Tiempo de residencia necesario:'); tlab.Visible='off'; t_e=uilabel(pnl_sol, 'Position',[280 35 80 20]); t_e.Visible='off'; lonlab=uilabel(pnl_sol, 'Position',[10 10 520 20], 'Text','Longitud equivalente del tubo de residencia:'); lonlab.Visible='off'; lon_e=uilabel(pnl_sol, 'Position',[280 10 80 20]); lon_e.Visible='off'; vel_lab=uilabel(pnl_sol, 'Position',[10 -15 520 20], 'Text','Velocidad de la leche por el tubo de residencia:'); vel_lab.Visible='off'; vel_e=uilabel(pnl_sol, 'Position',[280 -15 80 20]); vel_e.Visible='off'; %% PANEL DE ERRORES % Los diferentes errores que puede mostrar se definirán a lo largo del código pnl_msn = uipanel(g); pnl_msn.Layout.Row=2; pnl_msn.Layout.Column=3; msn=uilabel(pnl_msn,'FontColor','Blue','Position', [10 5 450 45]); msn.Text='No hay errores'; msn.WordWrap = 'on'; %% PANEL DE INTERCAMBIADOR DE DOBLE TUBO pnl_t = uipanel(g); pnl_t.Layout.Row=[1 2]; pnl_t.Layout.Column=1; % Título t_t=uilabel(pnl_t,'Text','INTERCAMBIADOR DE DOBLE TUBO'); t_t.FontWeight='Bold'; t_t.Position=[0 370 500 30]; t_t.HorizontalAlignment='Center'; t_t.VerticalAlignment='top'; t_t.FontSize=16; % Condiciones de la leche t_t_l=uilabel(pnl_t,'Text','Condiciones de entrada de la leche'); t_t_l.FontWeight='Bold'; t_t_l.Position=[10 325 500 30]; t_t_l.HorizontalAlignment='Left'; t_t_l.VerticalAlignment='top'; t_t_l.FontSize=14; uilabel(pnl_t,'Text','Temperatura de entrada de la leche', 'Position',[30 310 520 20]); Tl_t=uieditfield(pnl_t,'numeric' ,'Limits',[0 180],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ºC', 'Position',[350 310 80 20]); uilabel(pnl_t,'Text','Caudal másico de leche', 'Position',[30 285 520 20]); ml_t=uieditfield(pnl_t,'numeric' ,'Limits',[0 200], 'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.1f kg/s', 'Position',[350 285 80 20]); % Condiciones del agua t_t_a=uilabel(pnl_t,'Text','Condiciones de entrada del agua'); t_t_a.FontWeight='Bold'; t_t_a.Position=[10 240 500 30]; t_t_a.HorizontalAlignment='Left'; t_t_a.VerticalAlignment='top'; t_t_a.FontSize=14; uilabel(pnl_t,'Text','Temperatura de entrada del agua', 'Position',[30 225 520 20]); Ta_t=uieditfield(pnl_t,'numeric' ,'Limits',[0 180], 'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ºC', 'Position',[350 225 80 20]); uilabel(pnl_t,'Text','Caudal másico de agua', 'Position',[30 200 520 20]); 83 ma_t=uieditfield(pnl_t,'numeric' ,'Limits',[0 200],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.1f kg/s', 'Position',[350 200 80 20]); % Datos del intercambiador t_t_i=uilabel(pnl_t,'Text','Parámetros geométricos del intercambiador'); t_t_i.FontWeight='Bold'; t_t_i.Position=[10 155 500 30]; t_t_i.HorizontalAlignment='Left'; t_t_i.VerticalAlignment='top'; t_t_i.FontSize=14; uilabel(pnl_t,'Text','Longitud de tubo (L*)','Position',[30 140 150 20]); l_app = uieditfield(pnl_t,'numeric' ,'Limits',[0 30],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f m', 'Position',[150 140 80 20]); uilabel(pnl_t,'Text','Número de tubos','Position',[250 140 240 20]); Nt_app = uieditfield(pnl_t,'numeric','RoundFractionalValues','on' ,'Limits', [1 100], 'LowerLimitInclusive','on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.0f', 'Position',[350 140 80 20]); uilabel(pnl_t,'Text','Diámetro interior del tubo interior (di)','Position', [30 115 220 20]); di_app= uieditfield(pnl_t,'numeric' ,'Limits',[0 1000],'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.0f mm', 'Position',[250 115 80 20]); uilabel(pnl_t,'Text','Espesor del tubo interior (e)','Position',[30 90 220 20]); e_app= uieditfield(pnl_t,'numeric' ,'Limits',[0 10],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[250 90 80 20]); uilabel(pnl_t,'Text','Diámetro interior del tubo exterior (Di)','Position', [30 65 220 20]); Di_app= uieditfield(pnl_t,'numeric' ,'Limits',[0 1000],'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.0f mm', 'Position',[250 65 80 20]); % Velocidad de los fluidos en los tubos (calculadas más adelante) uilabel(pnl_t,'Text','Velocidad de la leche por el intercambiador:', 'Position',[50 40 240 20]); vl_text= uilabel(pnl_t,'Position',[350 40 60 20],'Text','-'); uilabel(pnl_t,'Text','Velocidad del agua por el intercambiador:', 'Position',[50 15 240 20]); va_text= uilabel(pnl_t,'Position',[350 15 60 20],'Text','-'); % Botón para evaluar el intercambidor de doble tubo b_t = uibutton(pnl_t, 'Text','Evaluar Int. Doble Tubo', 'ButtonPushedFcn', @(src,event) plotButtonPushed_et(ax)); b_t.Position=[110 -10 270 20]; % Imagen del intercambiador de doble tubo pnl_ti = uipanel(g); pnl_ti.Layout.Row=3; pnl_ti.Layout.Column=1; im_t=uiimage(pnl_ti,'ImageSource','tubo.jpg'); im_t.Position=[10 10 470 330]; %% PANEL DE INTERCAMBIADOR DE PLACAS pnl_p = uipanel(g); pnl_p.Layout.Row=[1 2]; pnl_p.Layout.Column=2; % Título t_p=uilabel(pnl_p,'Text','INTERCAMBIADOR DE PLACAS'); t_p.FontWeight='Bold'; t_p.Position=[0 370 500 30]; t_p.HorizontalAlignment='Center'; t_p.VerticalAlignment='top'; t_p.FontSize=16; % Condiciones de la leche t_p_l=uilabel(pnl_p,'Text','Condiciones de entrada de la leche'); t_p_l.FontWeight='Bold'; t_p_l.Position=[10 325 500 30]; t_p_l.HorizontalAlignment='Left'; t_p_l.VerticalAlignment='top'; t_p_l.FontSize=14; uilabel(pnl_p,'Text','Temperatura de entrada de la leche', 'Position',[30 310 520 20]); Tl_p=uieditfield(pnl_p,'numeric' ,'Limits',[0 180],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ºC', 'Position',[350 310 80 20]); uilabel(pnl_p,'Text','Caudal másico de leche', 'Position',[30 285 520 20]); ml_p=uieditfield(pnl_p,'numeric' ,'Limits',[0 200],'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.1f kg/s', 'Position',[350 285 80 20]); % Condiciones del agua t_p_a=uilabel(pnl_p,'Text','Condiciones de entrada del agua'); t_p_a.FontWeight='Bold'; t_p_a.Position=[10 240 500 30]; t_p_a.HorizontalAlignment='Left'; t_p_a.VerticalAlignment='top'; t_p_a.FontSize=14; uilabel(pnl_p,'Text','Temperatura de entrada del agua', 'Position',[30 225 520 20]); Ta_p=uieditfield(pnl_p,'numeric' ,'Limits',[0 180],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.2f ºC', 'Position',[350 225 80 20]); uilabel(pnl_p,'Text','Caudal másico de agua', 'Position',[30 200 520 20]); ma_p=uieditfield(pnl_p,'numeric' ,'Limits',[0 200],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.1f kg/s', 'Position',[350 200 80 20]); % Datos del intercambiador t_p_i=uilabel(pnl_p,'Text','Parámetros geométricos del intercambiador'); t_p_i.FontWeight='Bold'; t_p_i.Position=[10 155 500 30]; t_p_i.HorizontalAlignment='Left'; 85 t_p_i.VerticalAlignment='top'; t_p_i.FontSize=14; uilabel(pnl_p,'Text','Longitud de las placas (L)','Position',[10 140 150 20]); L_app = uieditfield(pnl_p,'numeric' ,'Limits',[0 5000],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[160 140 70 20]); uilabel(pnl_p,'Text','Ancho de las placas (W)','Position',[260 140 220 20]); W_app= uieditfield(pnl_p,'numeric' ,'Limits',[0 5000],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[410 140 70 20]); uilabel(pnl_p,'Text','Número de placas','Position',[10 115 150 20]); Np_app= uieditfield(pnl_p,'numeric' ,'RoundFractionalValues','on','Limits',[3 699],'LowerLimitInclusive','on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.0f', 'Position',[160 115 70 20]); uilabel(pnl_p,'Text','Periodo de corrugación (A)','Position',[260 115 220 20]); A_app= uieditfield(pnl_p,'numeric' ,'Limits',[2 25],'LowerLimitInclusive', 'on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[410 115 70 20]); uilabel(pnl_p,'Text','Ángulo de Chevron (Betha)','Position',[10 90 150 20]); Bet_app= uieditfield(pnl_p,'numeric' ,'Limits',[25 60],'LowerLimitInclusive', 'on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.1f º', 'Position',[160 90 70 20]); uilabel(pnl_p,'Text','Amplitud de corrugación (a)','Position',[260 90 220 20]); a_app= uieditfield(pnl_p,'numeric' ,'Limits',[0.6 4],'LowerLimitInclusive', 'on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[410 90 70 20]); uilabel(pnl_p,'Text','Diám. puertos de entrada','Position',[10 65 250 20]); Dl_app=uieditfield(pnl_p,'numeric','Limits',[1 500],'LowerLimitInclusive', 'on','UpperLimitInclusive','on','ValueDisplayFormat','%.2f mm','Position',[160 65 70 20]); % Velocidad de los fluidos a la entrada uilabel(pnl_p,'Text','Velocidad de la leche en el puerto de entrada:', 'Position',[50 40 260 20]); vlp_text= uilabel(pnl_p,'Position',[350 40 60 20],'Text','-'); uilabel(pnl_p,'Text','Velocidad del agua en el puerto de entrada:', 'Position', [50 15 260 20]); vap_text= uilabel(pnl_p,'Position',[350 15 60 20],'Text','-'); % Botón para evaluar el intercambidor de placas b_p = uibutton(pnl_p,'Text','Evaluar Int. Placas', 'ButtonPushedFcn', @(src,event) plotButtonPushed_ep(ax)); b_p.Position=[110 -10 270 20]; % Imagen del intercambiador de placas pnl_pi = uipanel(g); pnl_pi.Layout.Row=3; pnl_pi.Layout.Column=2; im_p=uiimage(pnl_pi,'ImageSource','placa.jpg'); im_p.Position=[40 10 430 280]; %% Cálculo del intercambiador de doble tubo function plotButtonPushed_et(ax) % El panel del intercambiador se marca en azul al realizar el cálculo pnl_t.BorderWidth=3; pnl_t.BorderColor='blue'; pnl_p.BorderWidth=1; pnl_p.BorderColor='black'; % Inicialización del panel de errores (por si hubiera un cálculo erróneo previo) msn.Text='No hay errores'; msn.FontColor='Blue'; % Inicialización del panel de solución tl_s.Text='-'; ta_s.Text='-'; t_e.Text='-'; lon_e.Text='-'; vel_e.Text='-'; pcl.Text='-'; pca.Text='-'; % Lectura de datos introducidos por el usuario Ta_in = Ta_t.Value; Tl_in = Tl_t.Value; m_l = ml_t.Value; m_a = ma_t.Value; Lpri = l_app.Value; Nt=Nt_app.Value; di=di_app.Value; e = e_app.Value; Di = Di_app.Value; di=di/1000; e=e/1000; Di=Di/1000; L=Lpri*Nt; % Mensajes de error en función de las temperaturas de entrada if Ta_in==Tl_in msn.Text='Las temperaturas de entrada de ambos fluidos coinciden, por lo que no puede producirse intercambio de calor. Por favor, modifique los valores de temperatura.'; msn.FontColor='Red'; plot (ax,0,0); end con=0; % Variable de control if Ta_in<Tl_in msn.Text='La temperatura de entrada de la leche debe ser inferior a la del agua. Por favor, modifique los valores de temperatura.'; msn.FontColor='Red'; con=1; plot (ax,0,0); end 87 %%%%% RESOLUCIÓN %%%%% % Datos geométricos de=di+2*e; % Diámetro exterior del tubo interior Deq=(Di-de); % Diámetro equivalente de paso del agua area_l=pi*(di^2)/4; % Área de paso de la leche area_a=pi*(Di^2-de^2)/4; % Área de paso del agua A_trans=pi*de*L; % Área de transferencia de calor % Mensaje de error si el diámetro exterior es menor o igual que el interior if de>=Di msn.Text='El diámetro del tubo interior es igual o superior al del tubo exterior. Por favor, revise los datos geométricos del intercambiador.'; msn.FontColor='Red'; plot (ax,0,0); end % Primera iteración: Tcal_l=Tl_in Tcal_l=Tl_in; % Temperatura calórica de la leche Tcal_a=Ta_in; % Temperatura calórica del agua Tw=(Tl_in+Ta_in)/2; % Temperatura de pared % Cálculo de propiedades leche a temperatura calórica % Densidad, calor específico, conductividad y viscosidad [rho_l, Cp_l, k_l, mu_l]=prop_leche(Tcal_l); Pr_l=(mu_l*Cp_l)/k_l; % Prandlt de la leche muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); % Viscosidad superficial v_l=m_l/(rho_l*area_l); % Velocidad de la leche Re_l=(rho_l*v_l*di)/mu_l; % Reynolds de la leche % Cálculo de propiedades del agua % Calor específico, conductividad, viscosidad, Prandlt, densidad y viscosidad superficial [Cp_a, k_a, mu_a, Pr_a, rho_a, muw_a] = prop_agua(Tcal_a, Tw); v_a=m_a/(rho_a*area_a); % Velocidad del agua Re_a=(rho_a*v_a*Deq)/mu_a; % Reynolds del agua % Cálculo de los coeficientes de película Nu_l=Nusselt_leche(Pr_l, mu_l, muw_l, Re_l,L,di); % Nusselt de la leche h_l=Nu_l*k_l/di; % Coeficiente de película interior h_lo=h_l*de/di; % Coeficiente de película interior referido al área exterior Nu_a=Nusselt_agua(Pr_a, mu_a, muw_a, Re_a,L,Deq); % Nusselt del agua h_a=Nu_a*k_a/Deq; % Coeficiente de película exterior % Mensajes de error para fluidos en región de transición (2300<Re<10000) if Nu_l==0 && Nu_a~=0 msn.Text='Fluido frío en región de transición. Por favor, cambie las características del intercambiador.'; msn.FontColor='Red'; plot (ax,0,0); end if (Nu_a==0) && (Nu_l~=0) msn.Text='Fluido caliente en región de transición. Por favor, cambie las características del intercambiador.'; msn.FontColor='Red'; plot (ax,0,0); end if Nu_l==0 && Nu_a==0 msn.Text='Ambos fluidos en región de transición. Por favor, cambie las características del intercambiador.'; msn.FontColor='Red'; plot (ax,0,0); end % Cálculo del calor intercambiado UA=A_trans/((1/(h_lo))+((log(de/di)*(de/2))/(13.4))+(1/(h_a))+(2e- 4)+(8.8e-5)); Cl=m_l*Cp_l; % Capacidad calorífica de la leche Ca=m_a*Cp_a; % Capacidad calorífica del agua % Selección de la capacidad calorífica máxima y mínima if Ca>Cl Cmin=Cl; Cmax=Ca; end if Ca<Cl Cmin=Ca; Cmax=Cl; end % Método eficiencia-NTU c=Cmin/Cmax; NTU=UA/Cmin; a=-NTU*(1-c); num=1-exp(a); denom=1-c*exp(a); efic=num/denom; Q=efic*Cmin*(Ta_in-Tl_in); % Calor intercambiado % Cálculo de temperaturas de salida Ta_out=Ta_in-(Q/(m_a*Cp_a)); Tl_out=Tl_in+(Q/(m_l*Cp_l)); err=1; % Error para parar las iteraciones % Iterar el método descrito anteriormente hasta que el error sea menor del 0.01% while err>0.0001 Q1=Q; % Evalua el error en función del calor intercambiado DT_h=Ta_in-Tl_out; % Variación de temperaturas en el lado caliente DT_c=Ta_out-Tl_in; % Variación de temperaturas en el lado frío if DT_h==DT_c DTLM=DT_c; else DTLM=(DT_h-DT_c)/log(DT_h/DT_c); end % Cálculo del factor de corrección de temperturas 89 if DTLM<30 || DT_c<60 || DT_c<60 Fc=0.5; else Fc=(DTLM-DT_c)/(DT_h-DT_c); end Tcal_l=Tl_in+Fc*(Tl_out-Tl_in); % Temperatura calórica de la leche Tcal_a=Ta_in-Fc*(Ta_in-Ta_out); % Temperatura calórica del agua Tw=(Tcal_a*h_a+Tcal_l*h_l)/(h_a+h_l); % Temperatura superficial % Cálculo de propiedades leche [rho_l, Cp_l, k_l, mu_l]=prop_leche(Tcal_l); Pr_l=(mu_l*Cp_l)/k_l; muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); v_l=m_l/(rho_l*area_l); % Velocidad de la leche Re_l=(rho_l*v_l*di)/mu_l; % Reynolds de la leche % Cálculo de propiedades del agua [Cp_a, k_a, mu_a, Pr_a, rho_a, muw_a] = prop_agua(Tcal_a, Tw); v_a=m_a/(rho_a*area_a); % Velocidad del aguaclc Re_a=(rho_a*v_a*Deq)/mu_a; % Reynolds del agua % Cálculo de los coeficientes de película Nu_l=Nusselt_leche(Pr_l, mu_l, muw_l, Re_l,L,di); h_l=Nu_l*k_l/di; % Coef. de película interior h_lo=h_l*de/di; % Coef. de película interior referido al área exterior Nu_a=Nusselt_agua(Pr_a, mu_a, muw_a, Re_a,L,Deq); h_a=Nu_a*k_a/Deq; % Coef. de película exterior % Cálculo del calor intercambiado UA=A_trans/((1/(h_lo))+((log(de/di)*(de/2))/(13.4))+(1/(h_a))+(2e- 4)+(8.8e-5)); Cl=m_l*Cp_l; % Capacidad calorífica de la leche Ca=m_a*Cp_a; % Capacidad calorífica del agua % Selección de la capacidad calorífica máxima y mínima if Ca>Cl Cmin=Cl; Cmax=Ca; end if Ca<Cl Cmin=Ca; Cmax=Cl; end % Método eficiencia-NTU c=Cmin/Cmax; NTU=UA/Cmin; a=-NTU*(1-c); num=1-exp(a); denom=1-c*exp(a); efic=num/denom; Q=efic*Cmin*(Ta_in-Tl_in); % Calor intercambiado Gp_l=m_l/AE; dp_lp=((1.5*Gp_l^2)/(2*rhole)+(4*f*L*G_l^2)/(2*rhol*Dh))/100000; dpl=sprintf('%.2f bar',dp_lp); pcl.Text=dpl; if dp_lp>1.5 msn.Text='La pérdida de carga en el lado de la leche es más elevada de lo recomendable. Considere aumentar el diámetro de los puertos de entrada, el número de placas o modificar su geometría.'; msn.FontColor='Red'; end Gp_a=m_a/AE; dp_ap=((1.5*Gp_a^2)/(2*rhoae)+(4*f*L*G_a^2)/(2*rhoa*Dh))/100000; dpa=sprintf('%.2f bar',dp_ap); pca.Text=dpa; if dp_ap>1.5 msn.Text='La pérdida de carga en el lado del agua es más elevada de lo recomendable. Considere aumentar el diámetro de los puertos de entrada, el número de placas o modificar su geometría.'; msn.FontColor='Red'; end if dp_ap>1.5 && dp_lp>1.5 msn.Text='La pérdida de carga es más elevada de lo recomendable. Considere aumentar el diámetro de los puertos de entrada, el número de placas o modificar su geometría.'; msn.FontColor='Red'; end % Elimina los datos a representar gráficamente si hay un error de temperaturas if con==1 Ta_out=0; Tl_out=0; Ta_in=0; Tl_in=0; end % Representación de temperaturas y_a=[Ta_in Ta_out]; y_l=[Tl_out Tl_in]; x=[0 100]; plot (ax,x,y_a,'r',x,y_l,'b'); close % Escritura de datos en el panel de solución Tl_text=sprintf('%.2f ºC',Tl_out); tl_s.Text=Tl_text; Ta_text=sprintf('%.2f ºC',Ta_out); ta_s.Text=Ta_text; if con==1 ta_s.Text='-'; 97 tl_s.Text='-'; plot(ax,0,0); end end %% Cálculo del tratamiento equivalente function equivalencia % Modifica la ventana gráfica en función de los datos introducidos por usuario if equ_dr.Value=='-' teoblab.Visible='off'; toblab.Visible='off'; teo_e.Visible='off'; to_e.Visible='off'; tlab.Visible='off'; t_e.Visible='off'; lonlab.Visible='off'; lon_e.Visible='off'; dia_lab.Visible='off'; dia_e.Visible='off'; calc.Visible='off'; vel_lab.Visible='off'; vel_e.Visible='off'; end if equ_dr.Value=="UHT" teoblab.Visible='on'; toblab.Visible='on'; teo_e.Visible='on'; to_e.Visible='on'; dia_lab.Visible='on'; dia_e.Visible='on'; calc.Visible='on'; teo_e.Text='135ºC'; % Temperatura de referencia del tratamiento to_e.Text='5 s'; % Tiempo de referencia del tratamiento end if equ_dr.Value=="Pasteurización Alta Temperatura" teoblab.Visible='on'; toblab.Visible='on'; teo_e.Visible='on'; to_e.Visible='on'; dia_lab.Visible='on'; dia_e.Visible='on'; calc.Visible='on'; teo_e.Text='120ºC'; % Temperatura de referencia del tratamiento to_e.Text='4 s'; % Tiempo de referencia del tratamiento end if equ_dr.Value=="Pasteurización" teoblab.Visible='on'; toblab.Visible='on'; teo_e.Visible='on'; to_e.Visible='on'; dia_lab.Visible='on'; dia_e.Visible='on'; calc.Visible='on'; teo_e.Text='72ºC'; % Temperatura de referencia del tratamiento to_e.Text='30 s'; % Tiempo de referencia del tratamiento end if equ_dr.Value=="Termización" teoblab.Visible='on'; toblab.Visible='on'; teo_e.Visible='on'; to_e.Visible='on'; dia_lab.Visible='on'; dia_e.Visible='on'; calc.Visible='on'; teo_e.Text='57ºC'; % Temperatura de referencia del tratamiento to_e.Text='15 s'; % Tiempo de referencia del tratamiento end end function plotButtonPushed_sol % Calcula el tiempo de residencia necesario a la temperatura de salida de la leche para obtener una destrucción de microorganismos equivalente. Devuelve el tiempo, la longitud del tubo de residencia y la velocidad de la leche en él. % Leer el valor del diámetro del tubo introducido por el usuario d=dia_e.Value/1000; if equ_dr.Value=="UHT" Dt1=5; % 5 segundo t1=135; %135ºC z=10.05; t= exp((t1-Tl_out)/z+log(Dt1)); v=4*m_l/(rho_l*pi*d^2); Long=v*t; tlab.Visible='on'; t_e.Visible='on'; t=sprintf('%.2f s',t); t_e.Text=t; lonlab.Visible='on'; lon_e.Visible='on'; lo=sprintf('%.2f m',Long); lon_e.Text=lo; vel_lab.Visible='on'; vel_e.Visible='on'; v=sprintf('%.2f m/s',v); vel_e.Text=v; end if equ_dr.Value=="Pasteurización Alta Temperatura" Dt1=4; % 4 segundo t1=120; %120ºC z=3.7; t= exp((t1-Tl_out)/z+log(Dt1)); v=4*m_l/(rho_l*pi*d^2); 99 Long=v*t; tlab.Visible='on'; t_e.Visible='on'; t=sprintf('%.2f s',t); t_e.Text=t; lonlab.Visible='on'; lon_e.Visible='on'; lo=sprintf('%.2f m',Long); lon_e.Text=lo; vel_lab.Visible='on'; vel_e.Visible='on'; v=sprintf('%.2f m/s',v); vel_e.Text=v; end if equ_dr.Value=="Pasteurización" Dt1=30; % 30 segundo t1=72; %72ºC z=5.1; t= exp((t1-Tl_out)/z+log(Dt1)); v=4*m_l/(rho_l*pi*d^2); Long=v*t; tlab.Visible='on'; t_e.Visible='on'; t=sprintf('%.2f s',t); t_e.Text=t; lonlab.Visible='on'; lon_e.Visible='on'; lo=sprintf('%.2f m',Long); lon_e.Text=lo; vel_lab.Visible='on'; vel_e.Visible='on'; v=sprintf('%.2f m/s',v); vel_e.Text=v; end if equ_dr.Value=="Termización" Dt1=15; % 15 segundo t1=57; %57ºC z=6.8; t= exp((t1-Tl_out)/z+log(Dt1)); v=4*m_l/(rho_l*pi*d^2); Long=v*t; tlab.Visible='on'; t_e.Visible='on'; t=sprintf('%.2f s',t); t_e.Text=t; lonlab.Visible='on'; lon_e.Visible='on'; lo=sprintf('%.2f m',Long); lon_e.Text=lo; vel_lab.Visible='on'; vel_e.Visible='on'; v=sprintf('%.2f m/s',v); vel_e.Text=v; end end end %% MODO DE FUNCIONAMIENTO: CÁLCULO DE INTERCAMBIADOR function Calcular fig.Name='Intercambiadores de Calor - TFM - María J. Llorente - Modo Dimensionamiento'; g = uigridlayout(fig,[5 3]); g.RowHeight = {'1x' ,'2.8x','2x','0.9x','0.9x'}; g.ColumnWidth = {'0.75x', '1x' , '0.5x'}; %% PANEL DE DATOS DE PARTIDA pnl_dp = uipanel(g); pnl_dp.Layout.Row=[1 3]; pnl_dp.Layout.Column=1; % Título t_dp=uilabel(pnl_dp,'Text','DATOS DE PARTIDA'); t_dp.FontWeight='Bold'; t_dp.Position=[10 500 500 30]; t_dp.VerticalAlignment='top'; t_dp.FontSize=16; % Condiciones de la leche t_le=uilabel(pnl_dp,'Text','Condiciones de la leche'); t_le.FontWeight='Bold'; t_le.Position=[10 455 500 30]; t_le.HorizontalAlignment='Left'; t_le.VerticalAlignment='top'; t_le.FontSize=14; uilabel(pnl_dp,'Text','Temperatura de entrada de la leche', 'Position',[30 440 520 20]); Tlin=uieditfield(pnl_dp,'numeric' ,'Limits',[0 180],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ºC', 'Position',[300 440 80 20]); uilabel(pnl_dp,'Text','Temperatura de salida de la leche', 'Position',[30 415 520 20]); Tlout=uieditfield(pnl_dp,'numeric' ,'Limits',[0 180],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ºC', 'Position',[300 415 80 20]); uilabel(pnl_dp,'Text','Caudal másico de leche', 'Position',[30 390 520 20]); m_l=uieditfield(pnl_dp,'numeric' ,'Limits',[0 200],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.1f kg/s', 'Position',[300 390 80 20]); 101 % Condiciones del agua t_a=uilabel(pnl_dp,'Text','Condiciones del agua'); t_a.FontWeight='Bold'; t_a.Position=[10 325 500 30]; t_a.HorizontalAlignment='Left'; t_a.VerticalAlignment='top'; t_a.FontSize=14; uilabel(pnl_dp,'Text','Temperatura de entrada del agua', 'Position',[30 310 520 20]); Tain=uieditfield(pnl_dp,'numeric' ,'Limits',[0 180],'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.2f ºC', 'Position',[300 310 80 20]); uilabel(pnl_dp,'Text','Temperatura de salida del agua', 'Position',[30 285 520 20]); Taout=uieditfield(pnl_dp,'numeric' ,'Limits',[0 180],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ºC', 'Position',[300 285 80 20]); % Elección de parámetros determinados por usuario fix_l=uilabel(pnl_dp,'Text','Parámetros determinados por el usuario'); fix_l.FontWeight='Bold'; fix_l.Position=[10 220 500 30]; fix_l.HorizontalAlignment='Left'; fix_l.VerticalAlignment='top'; fix_l.FontSize=14; uilabel(pnl_dp,'Text','Intercambiador de doble tubo', 'Position',[30 205 520 20]); fix_t=uidropdown(pnl_dp,'Items',["-","Longitud de tubos","Número de tubos"],'Position',[200 205 200 20],'ValueChangedFcn',@(src,event)fixtubo); fix_pl=uilabel(pnl_dp,'Text','Intercambiador de placas', 'Position',[30 180 520 20]); fix_p=uidropdown(pnl_dp,'Items',["-","Dimensiones","Número de placas"],'Position',[200 180 200 20],'ValueChangedFcn',@(src,event)fixplaca); function fixtubo if fix_t.Value=="Longitud de tubos" nt_app.Enable='on'; nt_app.Editable='off'; l_app.Enable='on'; l_app.Editable='on'; nt_app.Value=1; Tls_t_lab.Visible='off'; Tls_t.Visible='off'; Tas_t_lab.Visible='off'; Tas_t.Visible='off'; end if fix_t.Value=="Número de tubos" nt_app.Enable='on'; nt_app.Editable='on'; l_app.Enable='on'; l_app.Editable='off'; l_app.Value=1; Tls_t_lab.Visible='off'; Tls_t.Visible='off'; Tas_t_lab.Visible='off'; Tas_t.Visible='off'; end if fix_t.Value=="-" nt_app.Enable='on'; nt_app.Editable='on'; l_app.Enable='on'; l_app.Editable='on'; msn_t.Text='Por favor, fije un valor dimesional para calcular el intercambiador.'; msn_t.FontColor='Red'; tit1.FontColor='Red'; Tls_t_lab.Visible='off'; Tls_t.Visible='off'; Tas_t_lab.Visible='off'; Tas_t.Visible='off'; vl_t.Text='-'; va_t.Text='-'; ma_t.Text='-'; end end function fixplaca if fix_p.Value=="Dimensiones" Np_app.Enable='on'; Np_app.Editable='off'; L_app.Enable='on'; L_app.Editable='on'; W_app.Enable='on'; W_app.Editable='on'; Np_app.Value=3; LW_app.Enable='on'; LW_app.Editable='off'; end if fix_p.Value=="Número de placas" Np_app.Enable='on'; Np_app.Editable='on'; L_app.Enable='on'; L_app.Editable='off'; W_app.Enable='on'; W_app.Editable='off'; L_app.Value=1; W_app.Value=1; LW_app.Enable='on'; LW_app.Editable='on'; Tls_p_lab.Visible='off'; Tls_p.Visible='off'; Tas_p_lab.Visible='off'; Tas_p.Visible='off'; end if fix_p.Value=="-" Np_app.Enable='on'; Np_app.Editable='on'; L_app.Enable='on'; L_app.Editable='on'; W_app.Enable='on'; W_app.Editable='on'; msn_p.Text='Por favor, fije un valor dimesional para calcular el intercambiador.'; 103 msn_p.FontColor='Red'; tit2.FontColor='Red'; end end % Botón para calcular el intercambidor de doble tubo b_t = uibutton(pnl_dp, 'Text','Calcular Int. Doble Tubo', 'ButtonPushedFcn', @(src,event) plotButtonPushed_ct); b_t.Position=[100 60 270 20]; % Botón para calcular el intercambidor de placas b_p = uibutton(pnl_dp, 'Text','Calcular Int. Placas', 'ButtonPushedFcn', @(src,event) plotButtonPushed_cp); b_p.Position=[100 30 270 20]; %% PANEL DE ERRORES % Los diferentes errores que puede mostrar se definirán a lo largo del código % Intercambiador de doble tubo pnlt_msn = uipanel(g); pnlt_msn.Layout.Row=4; pnlt_msn.Layout.Column=1; tit1=uilabel(pnlt_msn,'FontColor','Blue','Position', [10 130 450 15],'Text', 'Intercambiador de doble tubo:','FontWeight','Bold'); msn_t=uilabel(pnlt_msn,'FontColor','Blue','Position', [10 80 450 45],' VerticalAlignment','top'); msn_t.Text='No hay errores'; msn_t.WordWrap = 'on'; % Intercambiador de placas pnlp_msn = uipanel(g); pnlp_msn.Layout.Row=5; pnlp_msn.Layout.Column=1; tit2=uilabel(pnlp_msn,'FontColor','Blue','Position', [10 130 450 15],'Text', 'Intercambiador de placas:','FontWeight','Bold'); msn_p=uilabel(pnlp_msn,'FontColor','Blue','Position', [10 80 450 45], 'VerticalAlignment','top'); msn_p.Text='No hay errores'; msn_p.WordWrap = 'on'; %% PANEL DE INTERCAMBIADOR DE DOBLE TUBO pnl_t = uipanel(g); pnl_t.Layout.Row=[1 2]; pnl_t.Layout.Column=2; % Título t_t=uilabel(pnl_t,'Text','INTERCAMBIADOR DE DOBLE TUBO'); t_t.FontWeight='Bold'; t_t.Position=[30 325 400 30]; t_t.VerticalAlignment='top'; t_t.FontSize=16; % Características geométricas del intercambiador uilabel(pnl_t,'Text','Longitud de los tubos del intercambiador (L*)', 'Position', [30 300 240 20]); l_app = uieditfield(pnl_t,'numeric' ,'Limits',[0 100], 'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f m', 'Position',[350 300 80 20]); uilabel(pnl_t,'Text','Número de tubos','Position',[30 275 240 20]); nt_app = uieditfield(pnl_t,'numeric','RoundFractionalValues','on' ,'Limits', [0 1000],'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.0f ', 'Position',[350 275 80 20]); uilabel(pnl_t,'Text','Diámetro interior del tubo interior (di)','Position',[30 250 220 20]); di_app= uieditfield(pnl_t,'numeric' ,'Limits',[0 1000],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.0f mm', 'Position',[350 250 80 20]); uilabel(pnl_t,'Text','Espesor del tubo interior (e)','Position',[30 225 220 20]); e_app= uieditfield(pnl_t,'numeric' ,'Limits',[0 10],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[350 225 80 20]); uilabel(pnl_t,'Text','Diámetro interior del tubo exterior (Di)','Position',[30 200 220 20]); Di_app= uieditfield(pnl_t,'numeric' ,'Limits',[0 1000],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.0f mm', 'Position',[350 200 80 20]); % Solución intercambiador de tubos uilabel(pnl_t, 'Position',[30 175 520 20], 'Text','Solución:', 'FontSize',14,'FontWeight','Bold'); uilabel(pnl_t, 'Position',[50 150 520 20], 'Text','Caudal másico necesario de agua:'); ma_t=uilabel(pnl_t, 'Position',[370 150 80 20],'Text','-'); uilabel(pnl_t, 'Position',[50 125 520 20], 'Text','Velocidad de la leche:'); vl_t=uilabel(pnl_t, 'Position',[370 125 80 20],'Text','-'); uilabel(pnl_t, 'Position',[50 100 520 20], 'Text','Velocidad del agua:'); va_t=uilabel(pnl_t, 'Position',[370 100 80 20],'Text','-'); uilabel(pnl_t,'Position',[50 75 520 20],'Text','Pérdida de carga en el lado de la leche:'); pcl_t=uilabel(pnl_t,'Position',[370 75 80 20],'Text','-'); uilabel(pnl_t,'Position',[50 50 520 20],'Text','Pérdida de carga en el lado del agua:'); pca_t=uilabel(pnl_t,'Position',[370 50 80 20],'Text','-'); % Temperaturas de salidas recalculadas Tls_t_lab=uilabel(pnl_t, 'Position',[50 25 520 20], 'Text','Temperatura de salida de la leche:'); Tls_t=uilabel(pnl_t, 'Position',[370 25 80 20]); Tls_t.Text='-'; Tas_t_lab=uilabel(pnl_t, 'Position',[50 0 520 20], 'Text','Temperatura de salida del agua:'); Tas_t=uilabel(pnl_t, 'Position',[370 0 80 20]); Tas_t.Text='-'; Tls_t_lab.Visible='off'; Tls_t.Visible='off'; Tas_t_lab.Visible='off'; Tas_t.Visible='off'; 105 % Imagen del intercambiador de doble tubo pnl_ti = uipanel(g); pnl_ti.Layout.Row=[1 2]; pnl_ti.Layout.Column=3; im_t=uiimage(pnl_ti,'ImageSource','tubo_c.jpg'); im_t.Position=[10 10 310 340]; %% PANEL DE INTERCAMBIADOR DE PLACAS pnl_p = uipanel(g); pnl_p.Layout.Row=[3 5]; pnl_p.Layout.Column=2; % Título t_p=uilabel(pnl_p,'Text','INTERCAMBIADOR DE PLACAS'); t_p.FontWeight='Bold'; t_p.Position=[30 325 400 30]; t_p.VerticalAlignment='top'; t_p.FontSize=16; % Características geométricas del intercambiador uilabel(pnl_p,'Text','Longitud de las placas (L)','Position',[30 300 150 20]); L_app = uieditfield(pnl_p,'numeric' ,'Limits',[0 5000],'LowerLimitInclusive','off','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.2f mm', 'Position',[200 300 60 20]); uilabel(pnl_p,'Text','Ancho de las placas (W)','Position',[300 300 150 20]); W_app= uieditfield(pnl_p,'numeric' ,'Limits',[0 5000],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[450 300 60 20]); uilabel(pnl_p, 'Text','Relación de tamaño (L/W)','Position',[30 275 150 20]); LW_app=uieditfield(pnl_p,'numeric' ,'Limits',[1 5],'LowerLimitInclusive', 'on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f ','Position',[200 275 60 20]); uilabel(pnl_p, 'Text','Diám. puertos de entrada','Position',[300 275 150 20]); Dep_app=uieditfield(pnl_p,'numeric' ,'Limits',[0 500],'LowerLimitInclusive', 'off','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm','Position',[450 275 60 20]); uilabel(pnl_p,'Text','Número de placas','Position',[30 250 150 20]); Np_app= uieditfield(pnl_p,'numeric' ,'RoundFractionalValues','on','Limits',[3 699],'LowerLimitInclusive','on','UpperLimitInclusive','on', 'ValueDisplayFormat', '%.0f', 'Position',[200 250 60 20]); uilabel(pnl_p,'Text','Ángulo de Chevron (Betha)','Position',[300 250 150 20]); Bet_app= uieditfield(pnl_p,'numeric' ,'Limits',[25 60],'LowerLimitInclusive', 'on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.1f º', 'Position',[450 250 60 20]); uilabel(pnl_p,'Text','Periodo de corrugación (A)','Position',[30 225 150 20]); A_app= uieditfield(pnl_p,'numeric' ,'Limits',[2 25],'LowerLimitInclusive', 'on','UpperLimitInclusive','on', 'ValueDisplayFormat','%.2f mm', 'Position',[200 225 60 20]); Cmin=Ca; Cmax=Cl; end % Método eficiencia-NTU c=Cmin/Cmax; NTU=UA/Cmin; a=-NTU*(1-c); num=1-exp(a); denom=1-c*exp(a); efic=num/denom; Q=efic*Cmin*(Ta_in-Tl_in); % Calor intercambiado % Cálculo de temperaturas de salida Ta_out=Ta_in-(Q/(ma*Cp_a)); Tl_out=Tl_in+(Q/(ml*Cp_l)); err=1; % Error para parar las iteraciones % Iterar el método descrito anteriormente hasta que el error sea menor del 0.01% while err>0.0001 Q1=Q; % Evalua el error en función del calor intercambiado DT_h=Ta_in-Tl_out; % Variación de temperaturas en el lado caliente DT_c=Ta_out-Tl_in; % Variación de temperaturas en el lado frío if DT_h==DT_c DTLM=DT_c; else DTLM=(DT_h-DT_c)/log(DT_h/DT_c); end % Cálculo del factor de corrección de temperturas if DTLM<30 || DT_c<60 || DT_c<60 Fc=0.5; else Fc=(DTLM-DT_c)/(DT_h-DT_c); end Tcal_l=Tl_in+Fc*(Tl_out-Tl_in); % Temperatura calórica de la leche Tcal_a=Ta_in-Fc*(Ta_in-Ta_out); % Temperatura calórica del agua Tw=(Tcal_a*h_a+Tcal_l*h_l)/(h_a+h_l); % Temperatura superficial % Cálculo de propiedades leche [rho_l, Cp_l, k_l, mu_l]=prop_leche(Tcal_l); Pr_l=(mu_l*Cp_l)/k_l; muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); v_l=ml/(rho_l*area_l); % Velocidad de la leche Re_l=(rho_l*v_l*di)/mu_l; % Reynolds de la leche % Cálculo de propiedades del agua [Cp_a, k_a, mu_a, Pr_a, rho_a, muw_a] = prop_agua(Tcal_a, Tw); 113 v_a=ma/(rho_a*area_a); % Velocidad del agua Re_a=(rho_a*v_a*Deq)/mu_a; % Reynolds del agua % Cálculo de los coeficientes de película Nu_l=Nusselt_leche_mod(Pr_l, mu_l, muw_l, Re_l); h_l=Nu_l*k_l/di; % Coef. de película interior h_lo=h_l*de/di; % Coef. de película interior referido al área exterior Nu_a=Nusselt_agua(Pr_a, mu_a, muw_a, Re_a,L,Deq); h_a=Nu_a*k_a/Deq; % Coef. de película exterior % Cálculo del calor intercambiado UA=A_trans/((1/(h_lo))+((log(de/di)*(de/2))/(13.4))+(1/(h_a))+(2e-4)+(8.8e-5)); Cl=ml*Cp_l; % Capacidad calorífica de la leche Ca=ma*Cp_a; % Capacidad calorífica del agua % Selección de la capacidad calorífica máxima y mínima if Ca>Cl Cmin=Cl; Cmax=Ca; end if Ca<Cl Cmin=Ca; Cmax=Cl; end % Método eficiencia-NTU c=Cmin/Cmax; NTU=UA/Cmin; a=-NTU*(1-c); num=1-exp(a); denom=1-c*exp(a); efic=num/denom; Q=efic*Cmin*(Ta_in-Tl_in); % Calor intercambiado % Cálculo de temperaturas de salida Ta_out=Ta_in-(Q/(ma*Cp_a)); Tl_out=Tl_in+(Q/(ml*Cp_l)); err=abs(Q-Q1)/Q; % Cálculo del error relativo end Tls=sprintf('%.2f ºC',Tl_out); Tls_t_lab.Visible='on'; Tls_t.Visible='on'; Tls_t.Text=Tls; Tas=sprintf('%.2f ºC',Ta_out); Tas_t_lab.Visible='on'; Tas_t.Visible='on'; Tas_t.Text=Tas; end if fix_t.Value=="Número de tubos" Nt=nt_app.Value; % Confirmar que el fluído está desarrollado (L/d>10), en % caso contrario aunmentar la longitud y recalcular if L/di<10 L=10*di; A_trans=L*pi*de; msn_t.Text='Se ha aumentado la longitud del intercambiador para mantener la condición L/d>10.'; % Primera iteración: Tcal_l=Tl_in Tcal_l=Tl_in; % Temperatura calórica de la leche Tcal_a=Ta_in; % Temperatura calórica del agua Tw=(Tl_in+Ta_in)/2; % Temperatura de pared % Cálculo de propiedades leche a temperatura calórica % Densidad, calor específico, conductividad y viscosidad [rho_l, Cp_l, k_l, mu_l]=prop_leche(Tcal_l); Pr_l=(mu_l*Cp_l)/k_l; % Prandlt de la leche muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); % Viscosidad superficial v_l=ml/(rho_l*area_l); % Velocidad de la leche Re_l=(rho_l*v_l*di)/mu_l; % Reynolds de la leche % Cálculo de propiedades del agua % Calor específico, conductividad, viscosidad, Prandlt, densidad y viscosidad superficial [Cp_a, k_a, mu_a, Pr_a, rho_a, muw_a] = prop_agua(Tcal_a, Tw); v_a=ma/(rho_a*area_a); % Velocidad del agua Re_a=(rho_a*v_a*Deq)/mu_a; % Reynolds del agua % Cálculo de los coeficientes de película Nu_l=Nusselt_leche_mod(Pr_l, mu_l, muw_l, Re_l); % Nusselt de la leche h_l=Nu_l*k_l/di; % Coeficiente de película interior h_lo=h_l*de/di; % Coeficiente de película interior referido al área exterior Nu_a=Nusselt_agua(Pr_a, mu_a, muw_a, Re_a,L,Deq); % Nusselt del agua h_a=Nu_a*k_a/Deq; % Coeficiente de película exterior % Mensajes de error para fluidos en región de transición (2300<Re<10000) if Nu_l==0 && Nu_a~=0 msn_t.Text='Fluido frío en región de transición. Por favor, cambie las características del intercambiador'; msn_t.FontColor='Red'; end if (Nu_a==0) && (Nu_l~=0) msn_t.Text='Fluido caliente en región de transición. Por favor, cambie las características del intercambiador'; msn_t.FontColor='Red'; end if Nu_l==0 && Nu_a==0 115 msn_t.Text='Ambos fluidos en región de transición. Por favor, cambie las características del intercambiador'; msn_t.FontColor='Red'; end % Cálculo del calor intercambiado UA=A_trans/((1/(h_lo))+((log(de/di)*(de/2))/(13.4))+(1/(h_a))+(2e-4)+(8.8e-5)); Cl=ml*Cp_l; % Capacidad calorífica de la leche Ca=ma*Cp_a; % Capacidad calorífica del agua % Selección de la capacidad calorífica máxima y mínima if Ca>Cl Cmin=Cl; Cmax=Ca; end if Ca<Cl Cmin=Ca; Cmax=Cl; end % Método eficiencia-NTU c=Cmin/Cmax; NTU=UA/Cmin; a=-NTU*(1-c); num=1-exp(a); denom=1-c*exp(a); efic=num/denom; Q=efic*Cmin*(Ta_in-Tl_in); % Calor intercambiado % Cálculo de temperaturas de salida Ta_out=Ta_in-(Q/(ma*Cp_a)); Tl_out=Tl_in+(Q/(ml*Cp_l)); err=1; % Error para parar las iteraciones % Iterar el método descrito anteriormente hasta que el error sea menor del 0.01% while err>0.0001 Q1=Q; % Evalua el error en función del calor intercambiado DT_h=Ta_in-Tl_out; % Variación de temperaturas en el lado caliente DT_c=Ta_out-Tl_in; % Variación de temperaturas en el lado frío if DT_h==DT_c DTLM=DT_c; else DTLM=(DT_h-DT_c)/log(DT_h/DT_c); end % Cálculo del factor de corrección de temperturas if DTLM<30 || DT_c<60 || DT_c<60 Fc=0.5; else Fc=(DTLM-DT_c)/(DT_h-DT_c); end Tcal_l=Tl_in+Fc*(Tl_out-Tl_in); % Temperatura calórica de la leche Tcal_a=Ta_in-Fc*(Ta_in-Ta_out); % Temperatura calórica del agua Tw=(Tcal_a*h_a+Tcal_l*h_l)/(h_a+h_l); % Temperatura superficial % Cálculo de propiedades leche [rho_l, Cp_l, k_l, mu_l]=prop_leche(Tcal_l); Pr_l=(mu_l*Cp_l)/k_l; muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); v_l=ml/(rho_l*area_l); % Velocidad de la leche Re_l=(rho_l*v_l*di)/mu_l; % Reynolds de la leche % Cálculo de propiedades del agua [Cp_a, k_a, mu_a, Pr_a, rho_a, muw_a] = prop_agua(Tcal_a, Tw); v_a=ma/(rho_a*area_a); % Velocidad del agua Re_a=(rho_a*v_a*Deq)/mu_a; % Reynolds del agua % Cálculo de los coeficientes de película Nu_l=Nusselt_leche_mod(Pr_l, mu_l, muw_l, Re_l); h_l=Nu_l*k_l/di; % Coef. de película interior h_lo=h_l*de/di; % Coef. de película interior referido al área exterior Nu_a=Nusselt_agua(Pr_a, mu_a, muw_a, Re_a,L,Deq); h_a=Nu_a*k_a/Deq; % Coef. de película exterior % Cálculo del calor intercambiado UA=A_trans/((1/(h_lo))+((log(de/di)*(de/2))/(13.4))+(1/(h_a))+(2e-4)+(8.8e-5)); Cl=ml*Cp_l; % Capacidad calorífica de la leche Ca=ma*Cp_a; % Capacidad calorífica del agua % Selección de la capacidad calorífica máxima y mínima if Ca>Cl Cmin=Cl; Cmax=Ca; end if Ca<Cl Cmin=Ca; Cmax=Cl; end % Método eficiencia-NTU c=Cmin/Cmax; NTU=UA/Cmin; a=-NTU*(1-c); num=1-exp(a); denom=1-c*exp(a); efic=num/denom; Q=efic*Cmin*(Ta_in-Tl_in); % Calor intercambiado 117 % Cálculo de temperaturas de salida Ta_out=Ta_in-(Q/(ma*Cp_a)); Tl_out=Tl_in+(Q/(ml*Cp_l)); err=abs(Q-Q1)/Q; % Cálculo del error relativo end Tls=sprintf('%.2f ºC',Tl_out); Tls_t_lab.Visible='on'; Tls_t.Visible='on'; Tls_t.Text=Tls; Tas=sprintf('%.2f ºC',Ta_out); Tas_t_lab.Visible='on'; Tas_t.Visible='on'; Tas_t.Text=Tas; end Lpri=L/Nt; l_app.Value=Lpri; end % Pérdida de carga hor=Nt-1; % Número de horquillas (codos 180º) LD=50*hor; % L/D correspondiente a los codos % En el lado de la leche if Re_l >= 4000 f=(-2*log10(0.0008/(di*1000)/3.7- 5.02/Re_l*log10(0.0008/(di*1000)/3.7+14.5/Re_l)))^(-2); end if Re_l < 2300 f=64/Re_l; end L_eq=(((-2*log10(0.0008/(di*1000)/3.7))^(-2))*LD)/f*(di*1000)/1000+L; %Longitud equivalente dp_lt=(f*L_eq*v_l^2*rho_l/(di*1000)/2)/100; % Pérdida de carga(bar) dplt=sprintf('%.2f bar',dp_lt); pcl_t.Text=dplt; % En el lado del agua if Re_a >= 4000 f=(-2*log10(0.0008/(Deq*1000)/3.7- 5.02/Re_a*log10(0.0008/(Deq*1000)/3.7+14.5/Re_a)))^(-2); end if Re_a < 2300 f=64/Re_a; end L_eq=(((-2*log10(0.0008/(Deq*1000)/3.7))^(-2))*LD)/f*(Deq*1000)/1000+L; %Longitud equivalente dp_at=(f*L_eq*v_a^2*rho_a/(Deq*1000)/2)/100; % Pérdida de carga(bar) dpat=sprintf('%.2f bar',dp_at); pca_t.Text=dpat; if dp_lt>1.5 msn_t.Text='La pérdida de carga en el lado de la leche es más elevada de lo recomendable. Considere aumentar el diámetro interior del tubo o disminuir el número de tubos.'; msn_t.FontColor='Red'; tit1.FontColor='Red'; end if dp_at>1.5 msn_t.Text='La pérdida de carga en el lado del agua es más elevada de lo recomendable. Considere aumentar el diámetro interior del tubo o disminuir el número de tubos.'; msn_t.FontColor='Red'; tit1.FontColor='Red'; end if dp_at>1.5 && dp_lt>1.5 msn_t.Text='La pérdida de carga es más elevada de lo recomendable. Considere aumentar los diámetros interiores de los tubos o disminuir el número de tubos'; msn_t.FontColor='Red'; tit1.FontColor='Red'; end % Mostrar soluciones vl=sprintf('%.2f m/s',v_l); vl_t.Text=vl; va=sprintf('%.2f m/s',v_a); va_t.Text=va; ma=sprintf('%.2f kg/s',ma); ma_t.Text=ma; end %% Cálculo del intercambiador de placas function plotButtonPushed_cp % El panel del intercambiador se marca en azul al realizar el cálculo pnl_p.BorderWidth=3; pnl_p.BorderColor='blue'; pnl_t.BorderWidth=1; pnl_t.BorderColor='black'; % Inicialización del panel de errores (por si hubiera un cálculo erróneo previo) if fix_p.Value~="-" msn_p.Text='No hay errores'; msn_p.FontColor='Blue'; tit2.FontColor='Blue'; else msn_p.Text='Por favor, fije un valor dimesional para calcular el intercambiador'; msn_p.FontColor='Red'; 119 tit2.FontColor='Red'; end % Lectura de datos introducidos por el usuario Tl_in= Tlin.Value; Tl_out= Tlout.Value; Ta_in=Tain.Value; Ta_out=Taout.Value; ml=m_l.Value; L = L_app.Value; W=W_app.Value; Np = Np_app.Value; A = A_app.Value; a = a_app.Value; Betha = Bet_app.Value; De_p=Dep_app.Value; L=L/1000; W=W/1000; A=A/1000; a=a/1000; De_p=De_p/1000; areae=pi*(De_p^2)/4; %Área de los puertos de entrada % Mensajes de error en función de las temperaturas de entrada if Ta_in==Tl_in msn_p.Text='Las temperaturas de entrada de ambos fluidos coinciden, por lo que no puede producirse intercambio de calor. Por favor, modifique los valores de temperatura.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if Ta_in<Tl_in msn_p.Text='La temperatura de entrada de la leche debe ser inferior a la del agua. Por favor, modifique los valores de temperatura.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if Ta_in<=Ta_out msn_p.Text='La temperatura de entrada del agua debe ser superior a la temperatura de salida. Por favor, modifique los valores de temperatura.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if Tl_in>=Tl_out msn_p.Text='La temperatura de entrada de la leche debe ser inferior a la temperatura de salida. Por favor, modifique los valores de temperatura.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if Tl_in>=Ta_out msn_p.Text='La temperatura de salida del agua debe ser superior a la temperatura de entrada de la leche. Por favor, modifique los valores de temperatura.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if Tl_out>=Ta_in msn_p.Text='La temperatura de salida de la leche debe ser inferior a la temperatura de entrada del agua. Por favor, modifique los valores de temperatura.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end % Mensaje de error si el número de placas es par rest=rem(Np,2); % Resto de dividir el número de placas entre 2 if rest==0 && fix_pl.Text~="Dimensiones" msn_p.Text='El número de placas del intercambiador debe ser impar.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end %%%%% RESOLUCIÓN %%%%% % Cálculo DTLM DT_h=Ta_in-Tl_out; % Variación de temperaturas en el lado caliente DT_c=Ta_out-Tl_in; % Variación de temperaturas en el lado frío if DT_h==DT_c DTLM=DT_c; else DTLM=(DT_h-DT_c)/log(DT_h/DT_c); end % Cálculo del factor de corrección de temperturas if DTLM<30 || DT_c<60 || DT_c<60 Fc=0.5; else Fc=(DTLM-DT_c)/(DT_h-DT_c); end % Cálculo de temperaturas calóricas Tcal_l=Tl_in+Fc*(Tl_out-Tl_in); % Temperatura calórica de la leche Tcal_a=Ta_in-Fc*(Ta_in-Ta_out); % Temperatura calórica del agua Tw=(Tl_in+Ta_in)/2; % Temperatura de pared -> Primera aproximación % Cálculo de propiedades leche a temperatura calórica % Densidad, calor específico, conductividad y viscosidad [rho_l, Cp_l, k_l, mu_l]=prop_leche(Tcal_l); Pr_l=(mu_l*Cp_l)/k_l; % Prandlt de la leche muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); % Viscosidad superficial % Cálculo de propiedades agua a temperatura calórica % Calor específico, conductividad, viscosidad, Prandlt, densidad y viscosidad superficial [Cp_a, k_a, mu_a, Pr_a, ~, muw_a] = prop_agua(Tcal_a, Tw); % Cálculo del calor intercambiado 121 Q=ml*Cp_l*(Tl_out-Tl_in); % Caudal másico de agua necesario ma=Q/(Cp_a*(Ta_in-Ta_out)); if fix_p.Value=="Dimensiones" Np_app.Value=3; % Cálculo de datos geométricos generareles Nc= (Np+1)/2; % Número de canales de cada fluido (primera iteración) Betha_rad=(Betha*pi)/180; % Ángulo de Chevron en radianes X=(2*pi*a)/A; % Parámetro para el cálculo del factor de agrandamiento del área Fi=(1/6)*(1+sqrt(1+X^2)+4*sqrt(1+0.5*X^2)); % Factor de agrandamiento del área Atp=Fi*W*L; % Área de transferencia por placa A_trf=Atp*Np; % Área de transferencia total Dh=(4*a)/Fi; % Diámetro hidráulico % Método iterativo para calcular el número de placas err=1; % Error para parar las iteraciones while err>0.0001 A_trf1=A_trf; G_l=ml/(2*Nc*W*a); % Densidad de caudal por área transversal (leche) Re_l=(G_l*Dh)/mu_l; % Reynolds de la leche G_a=ma/(2*Nc*W*a); % Densidad de caudal por área transversal (agua) Re_a=(G_a*Dh)/mu_a; % Reynolds del agua % Cálculo de los coeficientes de película [Nu_l]=corr_martin(Pr_l, mu_l, muw_l, Re_l, Betha_rad,Fi); % Nusselt de la leche [Nu_a]=corr_martin(Pr_a, mu_a, muw_a, Re_a, Betha_rad,Fi); % Nusselt del agua h_l=Nu_l*k_l/Dh; % Coeficiente de película de la leche h_a=Nu_a*k_a/Dh; % Coeficiente de película del agua % Método iterativo para calcular Tw err1=1; % Error para parar las iteraciones while err1>0.0001 Tw1=Tw; muw_l=1.792*10^(-6)*exp(17222/(8.314*(Tw+273.15))); % viscosidad superficial de la leche [~, k_a, mu_a, Pr_a, ~, muw_a] = prop_agua(Tcal_a, Tw); [Nu_l]=corr_martin(Pr_l, mu_l, muw_l, Re_l, Betha_rad,Fi); % Nusselt de la leche dp_ap=(((1.5*Gp_a^2)/(2*rhoae)+(4*f*L*G_a^2)/(2*rhoa*Dh)))/100000; dpap=sprintf('%.2f bar',dp_ap); pca_p.Text=dpap; if dp_lp>1.5 msn_p.Text='La pérdida de carga en el lado de la leche es más elevada de lo recomendable. Considere aumentar el número de placas o modificar su geometría.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if dp_ap>1.5 msn_p.Text='La pérdida de carga en el lado del agua es más elevada de lo recomendable. Considere aumentar el número de placas o modificar su geometría.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end if dp_ap>1.5 && dp_lp>1.5 msn_p.Text='La pérdida de carga es más elevada de lo recomendable. Considere aumentar el número de placas o modificar su geometría.'; msn_p.FontColor='Red'; tit2.FontColor='Red'; end end end end A. 2. Función: prop_leche.m function [rho_l, Cp_l, k_l, mu_l] = prop_leche(x) %Composición leche wat=0.87; fat=0.05; pro=0.03; car=0.04; ash=0.01; % Densidad rho_w=997.18+0.0031429*x+0.0054731*x^2; rho_f=925.59-0.41757*x; rho_p=1329.9-0.5185*x; rho_c=1599.1-0.31046*x; rho_a=2423.8-0.28063*x; rho_l=1/((wat/rho_w)+(fat/rho_f)+(pro/rho_p)+(car/rho_c)+(ash/rho_a)); % Calor específico Cp_w=4176.2-0.090864*x-0.0054731*x^2; Cp_f=1984.2+1.4733*x-0.0048008*x^2; Cp_p=2008.2+1.2089*x-0.0013129*x^2; Cp_c=1548.8+1.9625*x-0.0059399*x^2; Cp_a=1092.6+1.8896*x-0.0036817*x^2; Cp_l=wat*Cp_w+fat*Cp_f+pro*Cp_p+car*Cp_c+ash*Cp_a; 129 % Conductividad térmica k_w=0.57109+0.0017625*x-0.0000067036*x^2; k_f=0.18071-0.0027604*x-0.00000017749*x^2; k_p=0.17881+0.0011958*x-0.0000027178*x^2; k_c=0.20141+0.0013874*x-0.0000043312*x^2; k_a=0.32962+0.0014011*x-0.0000029069*x^2; k_l=wat*k_w+fat*k_f+pro*k_p+car*k_c+ash*k_a; % Viscosidad mu_l=1.792*10^(-6)*exp(17222/(8.314*(x+273.15))); end A. 3. Función: prop_agua.m function [Cp_a, k_a, mu_a, Pr_a, rho_a, muw_a] = prop_agua(Ta_m, Tw) props=[0.001 4229 0.561 1.793e-3 13.52 1000; 5 4200 0.5705 1.519e-3 11.18 1000; 10 4188 0.58 1.307e-3 9.435 999.7; 15 4184 0.5893 1.1138e-3 8.081 999.1; 20 4183 0.5984 1.002e-3 7.006 998.2; 25 4183 0.6071 0.8905e-3 6.136 997;30 4183 0.6154 797.7e-6 5.422 995.6; 35 4183 0.6233 719.6e-6 4.83 994; 40 4182 0.6306 653.3e-6 4.333 992.2; 45 4182 0.6373 596.3e-6 3.913 990.2; 50 4182 0.6435 547.1e-6 3.555 988; 55 4182 0.6492 504.2e-6 3.248 985.7; 60 4183 0.6543 466.6e-6 2.983 983.1; 65 4184 0.659 433.4e-6 2.752 980.5; 70 4187 0.6631 404e-6 2.551 977.7; 75 4190 0.668 377.9e-6 2.375 974.8; 80 4194 0.670 354.5e-6 2.219 971.8; 85 4199 0.6728 333.5e-6 2.081 968.6; 90 4204 0.6753 314.5e-6 1.958 965.3; 95 4210 0.6774 297.4e-6 1.849 961.9; 100 4217 0.6791 281.9e-6 1.750 958.4; 110 4232 0.6817 254.8e-6 1.582 951; 120 4249 0.6832 232.1e-6 1.444 943.2; 130 4267 0.6837 213e-6 1.3229 934.9; 140 4288 0.6833 196.6e-6 1.234 926.2; 150 4312 0.6821 182.5e-6 1.154 917.1; 160 4338 0.680 170.3e-6 1.086 907.5; 170 4368 0.6771 159.6e-6 1.030 897.5; 180 4403 0.6734 150.2e-6 0.982 887.1; 190 4443 0.6688 141.8e-6 0.9421 876.1; 200 4489 0.6634 134.4e-6 0.9092 864.7; 220 4604 0.6498 121.6e-6 0.8613 840.3; 240 4759 0.632 110.9e-6 0.8351 813.8; 260 4973 0.6092 101.7e-6 0.8304 783.8; 280 5278 0.5803 93.56e-6 0.8511 750.5; 300 5744 0.5436 85.95e-6 0.9083 712.4; 320 6542 0.4967 78.46e-6 1.033 667.4; 340 8237 0.4356 70.45e-6 1.332 610.8; 360 14680 0.351 60.39e-6 2.525 528.1]; s2=size(props); for j=2:s2(1,1) i=j; x1=props(j-1,1); x2=props(j,1); if Ta_m>=x1 && Ta_m<=x2 break end end Cp_a=interp_tab(x1,props(i-1,2),x2,props(i,2),Ta_m); k_a=interp_tab(x1,props(i-1,3),x2,props(i,3),Ta_m); mu_a=interp_tab(x1,props(i-1,4),x2,props(i,4),Ta_m); Pr_a=interp_tab(x1,props(i-1,5),x2,props(i,5),Ta_m); rho_a=interp_tab(x1,props(i-1,6),x2,props(i,6),Ta_m); muw_a=interp_tab(x1,props(i-1,4),x2,props(i,4),Tw); end A. 4. Función: Nusselt_leche.m function [Nu_l] = Nusselt_leche(Pr_l, mu_l, muw_l, Re_l,L,di) if Re_l<=2300 && Pr_l>=0.6 Nu_l=3.66; end if Re_l>10000 && 0.7<=Pr_l && Pr_l<16700 && L/di>10 Nu_l=0.027*Re_l^(4/5)*Pr_l^(1/3)*(mu_l/muw_l)^0.14; end if Re_l>2300 && Re_l<=10000 fprintf('Fluido frío en región de transición. Por favor, cambie las características del intercambiador \n') msn.Text='Fluido frío en región de transición. Por favor, cambie las características del intercambiador'; Nu_l=0; end end A. 5. Función: Nusselt_agua.m function [Nu_a] = Nusselt_agua(Pr_a, mu_a, muw_a, Re_a,L,Deq) if Re_a<=2300 && Pr_a>=0.6 Nu_a=3.66; end if Re_a>10000 && 0.7<=Pr_a && Pr_a<16700 && L/Deq>10 Nu_a=0.027*Re_a^(4/5)*Pr_a^(1/3)*(mu_a/muw_a)^0.14; end if Re_a>2300 && Re_a<=10000 fprintf('Fluido caliente en región de transición. Por favor, cambie las características del intercambiador \n') msn.Text='Fluido caliente en región de transición. Por favor, cambie las características del intercambiador'; Nu_a=0; end end A. 6. Función: Nusselt_leche_mod.m function [Nu_l] = Nusselt_leche_mod(Pr_l, mu_l, muw_l, Re_l) if Re_l<=2300 && Pr_l>=0.6 Nu_l=3.66; end if Re_l>10000 && 0.7<=Pr_l && Pr_l<16700 Nu_l=0.027*Re_l^(4/5)*Pr_l^(1/3)*(mu_l/muw_l)^0.14; end 131 if Re_l>2300 && Re_l<=10000 fprintf('Fluido frío en región de transición. Por favor, cambie las características del intercambiador \n') msn.Text='Fluido frío en región de transición. Por favor, cambie las características del intercambiador'; Nu_l=0; end end A. 7. Función: Nusselt_agua_mod.m function [Nu_a] = Nusselt_agua_mod(Pr_a, mu_a, muw_a, Re_a) if Re_a<=2300 && Pr_a>=0.6 Nu_a=3.66; end if Re_a>10000 && 0.7<=Pr_a && Pr_a<16700 Nu_a=0.027*Re_a^(4/5)*Pr_a^(1/3)*(mu_a/muw_a)^0.14; end if Re_a>2300 && Re_a<=10000 fprintf('Fluido caliente en región de transición. Por favor, cambie las características del intercambiador \n') msn.Text='Fluido caliente en región de transición. Por favor, cambie las características del intercambiador'; Nu_a=0; end end A. 8. Función: corr_martin.m function [Nu] = corr_martin(Pr, mu, muw, Re, Betha_rad, Fi) % Cálculo del número de Nusselt % Pr = número de Prandtl % vd = viscosidad dinámica (mu) del fluido a la temperatura media % vdw = viscosidad dinámica a la temperatura media de pared % Re = número de Reynolds % x = ángulo de Chevron (en radianes) if Re<2000 f0=16/Re; f1=(149.25/Re)+0.9625; end if Re>=2000 f0=(1.56*log(Re)-3)^2; f1=9.75/(Re^0.289); end f=(1/((cos(Betha_rad)/(sqrt(0.045*tan(Betha_rad)+0.09*sin(Betha_rad)+(f0/cos(Betha_ra d)))))+((1-cos(Betha_rad))/(sqrt(3.8*f1)))))^2; Nu=0.205*(Pr.^(1/3))*((mu/muw)^(1/6))*((f*(Re^2)*sin(2*Betha_rad))^0.374); end A. 9. Función: f_int_placas.m function [f] = f_int_placas(Betha_rad,Re) % Cálculo del factor de fricción mediante la correlación de Martin % Betha_rad = ángulo de Chevron (en radianes) % Re = número de Reynolds if Re<2000 f0=16/Re; f1=(149.25/Re)+0.9625; end if Re>=2000 f0=(1.56*log(Re)-3).^2; f1=9.75/(Re.^0.289); end f=(1/((cos(Betha_rad)/(sqrt(0.045*tan(Betha_rad)+0.09*sin(Betha_rad)+(f0/cos(Betha_ra d)))))+((1-cos(Betha_rad))/(sqrt(3.8*f1))))).^2; end A. 10. Función: interp_tab.m function [y] = interp_tab(x1,y1,x2,y2,x) % función para interpolación lineal de propopiedades a una temperatura x if y2>y1 y=((y2-y1)/(x2-x1))*(x-x1)+y1; end if y2<y1 y=((y1-y2)/(x2-x1))*(x2-x)+y2; end if y1==y2 y=y1; end end 133 Anexo B. PANTALLAS DEL SOFTWARE Ilustración 21 Pantalla principal - Selección del modo de funcionamiento Ilustración 22 Pantalla del modo Evaluación 135 Ilustración 23 Ejemplo cálculo: Modo Evaluación, intercambiador de doble tubo. Tratamiento de referencia: Pasteurización Ilustración 24 Pantalla del modo Dimensionamiento 137 Ilustración 25 Ejemplo cálculo: Modo Dimensionamiento, intercambiador de placas 144 C. 3. Ejemplo 3: Modo Evaluación. Intercambiador de placas Ilustración 32 Ejemplo 3: Evaluación-Placas. Imagen 1 (Suicalsa 9.2) 145 Ilustración 33 Ejemplo 3: Evaluación-Placas. Imagen 2 146 C. 4. Ejemplo 4: Modo Dimensionamiento. Intercambiador de placas Ilustración 34 Ejemplo 4: Dimensionamiento-Placas. Imagen 1 (Suicalsa 9.2) 147 Ilustración 35 Dimensionamiento-Placas. Imagen 2 148