Guía_1_1_Sympy_Agroindustrial: lista de prompts para que Copilot genere una app multipágina en Streamlit con SymPy para Ingeniería Agroindustrial en GitHub Codespaces. No incluyo código, solo prompts listos para pegar.
App multipágina en Streamlit + SymPy (Codespaces + Copilot)
Construir una aplicación con carpeta pages/
y tres
páginas orientadas a operaciones térmicas y de flujo en alimentos,
resolviendo simbólicamente con SymPy y visualizando en
Streamlit.
Pide a Copilot mantener esta estructura:
.
├─ app.py
├─ pages/
│ ├─ 1_ Cinética_de_secado.py
│ ├─ 2_ Pasteurización_y_letalidad_térmica.py
│ └─ 3_ Flujo_no_newtoniano_en_tuberías.py
├─ utils/
│ └─ symbolic_helpers.py
├─ data/
│ └─ ejemplos.csv
├─ tests/
│ └─ test_utils.py
├─ requirements.txt
├─ README.md
└─ .streamlit/
└─ config.toml
“Crea
requirements.txt
con: streamlit, sympy, numpy, pandas, plotly, scipy. Crea.streamlit/config.toml
con tema claro legible. Configura y selecciona.venv
como intérprete en Codespaces. Instala dependencias y confirma versión de Python. No generes aún código de páginas.”
app.py
“Genera
app.py
para una app multipágina titulada ‘Ingeniería Agroindustrial — Operaciones con SymPy’. Incluye resumen del proyecto, lista de páginas, sección ‘Cómo usar’, verificador de versiones desympy
,numpy
ystreamlit
enst.sidebar
, y enlaces adata/ejemplos.csv
. No implemente lógica de proceso aquí.”
utils/symbolic_helpers.py
“Crea
utils/symbolic_helpers.py
con:
symbols_safe()
para crear símbolos con nombres legibles en LaTeX.solve_positive(eq_or_system, vars_target)
que usesympy.solve
y filtre soluciones reales positivas.lambdify_safe(expr, vars)
para evaluación numérica.sensitivity_table(expr, var, center, pct_range, steps)
que devuelvaDataFrame
.- Validaciones físicas (temperatura > 0 °C en K, caudales > 0, viscosidades > 0).
- Conversores de unidades básicos (°C↔︎K, min↔︎s). Documenta con docstrings. Sin prints.”
Modelos: Newton, Henderson–Pabis y Page. Cálculo del tiempo para alcanzar humedad objetivo y curvas MR(t).
“Crea
pages/1_ Cinética_de_secado.py
que:
- Permita elegir modelo: Newton (MR = e^{−kt}), Henderson–Pabis (MR = A·e^{−kt}), Page (MR = e^{−k t^n}).
- Entradas: humedad inicial X₀ (b.s.), humedad objetiva X (b.s.), humedad de equilibrio X_e, parámetros {k, A, n}, T de aire, velocidad del aire (solo para referencia).
- Defina MR = (X − X_e)/(X₀ − X_e).
- Objetivo: resolver simbólicamente el tiempo t* que cumple MR(t*) = MR_obj.
- Mostrar: derivación simbólica, t* en s y min, gráfica MR(t) y tabla de sensibilidad t* vs k y vs n (cuando aplique).
- Exportar
.csv
con entradas, t*, y tabla de sensibilidad.- Validar rangos físicos (0 < MR ≤ 1, k>0, n>0). Usa helpers de
utils/
y grafica conplotly
.”
Cálculo de F, P o F₀ a partir de cinética de inactivación térmica y perfil de temperatura.
“Crea
pages/2_ Pasteurización_y_letalidad_térmica.py
que:
- Permita elegir enfoque: (a) D–z clásico o (b) Arrhenius.
- D–z: entradas D_ref, z, T_ref, perfil T(t) simple por tramos (subida lineal, sostén, enfriamiento). Definir letalidad instantánea L(t)=10^{(T(t)−T_ref)/z} y F=∫ L(t) dt.
- Arrhenius: entradas A, E_a, R, T(t); tasa k(T)=A·exp(−E_a/RT). Relación con reducción log.
- Objetivo: dado reducción logarítmica objetivo o F objetivo, resolver simbólicamente el tiempo de sostén o la temperatura de proceso requeridos.
- Mostrar: ecuaciones simbólicas, integración simbólica cuando sea factible y numérica si no, resultado (tiempos y/o T), gráfico T(t) y L(t), tabla de sensibilidad a ±z y ±D_ref.
- Botones para exportar
.csv
con plan térmico y resultados.- Validaciones: T≥0 °C, D_ref>0, z>0, consistencia de unidades. Usa
sympy
yscipy
para integrales no cerradas.”
Leyes potencia (Ostwald–de Waele) y pérdida de carga.
“Crea
pages/3_ Flujo_no_newtoniano_en_tuberías.py
que:
- Modelo power-law: τ = K·γ̇^n.
- Entradas: caudal volumétrico Q, longitud L, diámetro D, consistencia K, índice de flujo n, densidad ρ.
- Objetivo A: resolver simbólicamente ΔP y h_f para flujo laminar usando equivalentes (Re_g, f_g) para fluidos no newtonianos y relaciones analíticas.
- Objetivo B: resolver D dado ΔP o h_f objetivo.
- Mostrar: deducción simbólica, evaluación numérica, advertencias de régimen (criterio de transición generalizado), gráficos h_f vs Q y D vs Q, tabla exportable.
- Validaciones: K>0, n>0, Q>0, D>0.
- Indicaciones de limpieza CIP solo como texto informativo (no cálculo).”
data/ejemplos.csv
“Crea
data/ejemplos.csv
con 6–10 filas de ejemplo:
- Secado: X₀, X, X_e, k, A, n.
- Pasteurización: D_ref, z, T_ref, T_hold, t_ramp, t_hold, t_cool.
- No newtoniano: Q, L, D, K, n, ρ. Incluye encabezados claros y una fila comentada con unidades.”
README.md
“Genera
README.md
con: propósito, requisitos, instalación, ejecución local y en Codespaces, descripción de cada página con ecuaciones base, supuestos y rangos válidos, exportación de resultados, resolución de problemas comunes y referencias breves a textos de operaciones de alimentos.”
“Añade
tests/test_utils.py
conpytest
para validar:
solve_positive
devuelve soluciones reales positivas en casos sintéticos.sensitivity_table
generaDataFrame
con valores finitos.- Casos mínimos de las tres páginas usando
data/ejemplos.csv
solo para verificar tipos y positividad de resultados. Sin gráficos.”
“Configura una tarea para
streamlit run app.py
en el puerto recomendado y expón el puerto público. Añade al README instrucciones breves de ejecución y depuración const.status
ost.info
.”
“Agrega al README sección ‘Despliegue’: conectar repo, seleccionar
app.py
, cache y dependencias, secrets si aplica, y checklist previo. Indica cómo limpiar caché de la app si aparecen errores de paquete.”
“Verifica que cada página:
- Muestre derivaciones con
sympy.latex
ost.latex
.- Tenga validaciones de entrada y etiquetas con unidades.
- Ofrezca análisis de sensibilidad y exportación
.csv
.- Mantenga estilo visual consistente. Ajusta textos y accesibilidad.”