/**
 * Factores de crecimiento para el modelo predictivo de Varroa
 */

/**
 * Calcula el factor de ralentización reproductiva debido a la competencia por celdas de cría
 * @param N - Población actual de ácaros
 * @param produccionHuevos - Producción de huevos 7 días atrás
 * @returns Factor de ralentización (Xt)
 */
export function calcularFactorRalentizacion(N: number, produccionHuevos: number): number {
  // Si no hay producción de huevos, no hay crecimiento
  if (produccionHuevos <= 0) {
    return 0;
  }
  
  // Factor de ralentización (Xt)
  return 100 / (100 + Math.exp(N / produccionHuevos));
}

/**
 * Calcula la probabilidad de exposición de ácaros en fase forética
 * @param N - Población actual de ácaros
 * @param produccionHuevos - Producción de huevos 7 días atrás
 * @returns Probabilidad de exposición (Yt)
 */
export function calcularProbabilidadExposicion(N: number, produccionHuevos: number): number {
  // Si N es muy pequeño, evitar división por cero
  if (N < 0.1) {
    return 1;
  }
  
  // Si no hay producción de huevos, todos los ácaros están en fase forética
  if (produccionHuevos <= 0) {
    return 2;
  }
  
  // Calcular factor Yt
  return 2 / (1 + Math.exp(produccionHuevos / N));
}
