Para tus estudiantes de Ingeniería Agrícola y Agroindustrial, el procesamiento de productos agrícolas y la conservación de alimentos son pilares de su formación.

Basándonos en los apéndices del libro Solar Dryers, el primer paso fundamental para diseñar cualquier sistema de secado es comprender la termodinámica del agua dentro del producto: calcular el contenido de humedad y la cantidad exacta de agua que necesitamos evaporar. En nuestra región, esto es vital para proyectos de deshidratación de productos locales como el mango, la yuca o el ñame.

Aquí tienes el contenido completamente limpio y estructurado de la Semana 12 (Ruta B), listo para tu cuaderno de Colab:


Celda 1: Texto (Markdown)

# SEMANA 12 (Ruta B): Algoritmos para el Contenido de Humedad y Secado

**Especialidades:** Ingeniería Agrícola y Agroindustrial
**Asignatura:** Programación de Computadores con Python

En la ingeniería de procesos agrícolas y las operaciones unitarias, el secado es una de las técnicas de conservación más antiguas e importantes. Para diseñar un secador solar eficiente, el primer paso no es construir la estructura, sino calcular exactamente cuánta agua contiene nuestro producto y cuánta necesitamos evaporar.

Esta semana traduciremos las fórmulas físicas fundamentales del secado (basadas en los estándares de diseño de *Solar Dryers*) a algoritmos en Python.

**Objetivos de Aprendizaje:**
* Diferenciar y programar el contenido de humedad en base húmeda y base seca.
* Construir funciones en Python para conversiones de humedad.
* Algoritmizar la ecuación de masa de agua a remover.
* Automatizar el cálculo para múltiples lotes de materia prima.

Celda 2: Texto (Markdown)

## SESIÓN 1: Contenido de Humedad (Base Húmeda vs. Base Seca)

**¿Cómo medimos el agua en un alimento?**
En la agroindustria, la humedad se expresa de dos maneras:
1. **Base Húmeda (wb):** Es la masa de agua dividida por la masa total del producto (agua + materia seca). Es la que se usa comercialmente.
2. **Base Seca (db):** Es la masa de agua dividida únicamente por la masa de materia seca. Es la que usamos en los balances de masa para el diseño de equipos.

Las ecuaciones matemáticas son:

$$M_{wb} = \left( \frac{w_w}{w_w + w_d} \right) \times 100$$
$$M_{db} = \left( \frac{w_w}{w_d} \right) \times 100$$

Donde $w_w$ es la masa del agua y $w_d$ es la masa de la materia seca. Vamos a crear un programa que automatice estos cálculos.

Celda 3: Código (Python)

# Funciones para calcular el contenido de humedad

def calcular_humedades(masa_agua, masa_seca):
    """
    Calcula y retorna la humedad en base húmeda y base seca.
    """
    masa_total = masa_agua + masa_seca
    
    # Cálculo en base húmeda (% wb)
    m_wb = (masa_agua / masa_total) * 100
    
    # Cálculo en base seca (% db)
    m_db = (masa_agua / masa_seca) * 100
    
    return m_wb, m_db

# Ejemplo: Una muestra de yuca en el laboratorio
agua_en_muestra = 65.0 # gramos
materia_seca = 35.0    # gramos

# Llamamos a la función
humedad_wb, humedad_db = calcular_humedades(agua_en_muestra, materia_seca)

print(f"Humedad en Base Húmeda (Comercial): {humedad_wb:.2f} %")
print(f"Humedad en Base Seca (Diseño): {humedad_db:.2f} %")

Celda 4: Texto (Markdown)

---
## SESIÓN 2: Masa de Agua a Remover

El dato más crítico para diseñar el ventilador o el colector de un secador solar es saber cuántos kilogramos de agua debemos evaporar del producto fresco para llevarlo a una humedad segura de almacenamiento.

La ecuación general de balance de masa que usaremos es:

$$m_w = m_i \left( \frac{M_i - M_f}{100 - M_f} \right)$$

Donde:
* $m_w$ = Masa de agua a evaporar (kg)
* $m_i$ = Masa inicial del producto fresco (kg)
* $M_i$ = Contenido de humedad inicial en base húmeda (%)
* $M_f$ = Contenido de humedad final deseado en base húmeda (%)

Vamos a programar una función profesional para calcular esto y la probaremos con un lote de mango.

Celda 5: Código (Python)

def agua_a_evaporar(masa_inicial, humedad_inicial, humedad_final):
    """
    Calcula los kg de agua que deben removerse de un producto.
    Las humedades deben ingresar en porcentaje (%).
    """
    # Verificación de seguridad lógica
    if humedad_final >= humedad_inicial:
        return "Error: La humedad final debe ser menor a la inicial."
    
    # Aplicación estricta de la fórmula
    masa_agua = masa_inicial * ((humedad_inicial - humedad_final) / (100 - humedad_final))
    
    return masa_agua

# --- CASO PRÁCTICO ---
# Ingresan 500 kg de mango fresco a la planta
m_inicial_mango = 500.0 # kg
h_inicial_mango = 82.0  # % (Mango muy jugoso)
h_final_mango = 10.0    # % (Humedad objetivo para hojuelas secas)

agua_total = agua_a_evaporar(m_inicial_mango, h_inicial_mango, h_final_mango)
masa_final_producto = m_inicial_mango - agua_total

print("--- REPORTE DE SECADO ---")
print(f"Masa inicial del lote: {m_inicial_mango} kg")
print(f"Agua que el secador solar debe evaporar: {agua_total:.2f} kg")
print(f"Masa final de producto deshidratado a obtener: {masa_final_producto:.2f} kg")

Celda 6: Texto (Markdown)

---
### Interacción con el Tutor IA 🤖

Consolidemos la teoría detrás de estos algoritmos interactuando con el asistente:

> **PROMPT DE APRENDIZAJE - SEMANA 12 (AGRO/AGRÍCOLA):**
> Actúa como un Ingeniero Agroindustrial experto en operaciones unitarias y secado de alimentos. Estoy programando algoritmos para calcular el contenido de humedad.
> 1) Explícame de forma práctica por qué en el diseño de equipos de secado (balances de masa) preferimos usar la "humedad en base seca" en lugar de la "base húmeda".
> 2) En la fórmula de masa de agua a remover $m_w = m_i (M_i - M_f) / (100 - M_f)$, ¿qué pasaría matemáticamente y físicamente si mi producto final necesitara llegar a $M_f = 0$ %?
> 3) Menciona 2 factores ambientales críticos que afectan la velocidad a la que el agua libre se evapora de un producto agrícola en un secador solar.
> Después hazme 3 preguntas teóricas para verificar si comprendo los balances de humedad en alimentos.

Celda 7: Texto (Markdown)

---
## ACTIVIDAD FINAL: Hoja "Estudia y Aprende"

Sintetiza lo aprendido sobre programación aplicada a tu área:

> **PROMPT GLOBAL DE CIERRE:**
> Actúa como tutor experto en Operaciones Unitarias asistidas por Python. Elabora un RESUMEN BREVE que cumpla estas condiciones:
> 1. Debe caber en UNA SOLA HOJA escrita a mano.
> 2. Lenguaje claro y orientado exclusivamente a Ingeniería Agrícola y Agroindustrial.
> 3. Debe incluir: La diferencia algorítmica entre humedad en base húmeda y base seca, y la utilidad de programar la fórmula de masa de agua a remover para dimensionar equipos.
> 4. Pensado para que yo lo escriba comprendiendo lo esencial.
> Al final agrega una frase de reflexión sobre cómo automatizar estos cálculos reduce errores críticos en la agroindustria.

**Instrucción para el estudiante:** En el reverso de tu hoja, dibuja el diagrama de flujo lógico de la función `agua_a_evaporar()`, identificando claramente las variables de entrada ($m_i$, $M_i$, $M_f$), el proceso matemático y la variable de salida.

Con esta estructura, los estudiantes no solo están aprendiendo a programar, sino que están construyendo la librería de funciones que necesitarán para el núcleo de su proyecto final.

Para la Semana 13 (Ruta B), el siguiente paso será tomar este valor de agua a evaporar y usar las variables termodinámicas (temperatura ambiente, humedad relativa del aire) para programar el algoritmo que calcula el caudal volumétrico de aire requerido en el colector solar, tanto para convección natural como forzada.