Versión: 1.0.0 · Tecnología: HSPiPy v1.1.8
Tabla de Contenidos
HSP Desktop es una aplicación de escritorio para calcular y visualizar los Parámetros de Solubilidad de Hansen (HSP). Permite construir un conjunto de datos de solventes, calificar cada solvente por su compatibilidad con un material de interés, ajustar una esfera HSP (o dos esferas simultáneamente) y ver el resultado al instante en un gráfico interactivo 3D o 2D.
La ciencia está impulsada por HSPiPy, una librería de Python que implementa el algoritmo de optimización de esferas HSP. La aplicación envuelve esa librería en una interfaz de escritorio nativa disponible para Windows, macOS y Linux. Al adquirir HSP Desktop, apoya directamente el desarrollo continuo de HSPiPy como proyecto de código abierto.
Capacidades principales:
.csv, .hsd y .hsdxHaz doble clic en el instalador (.msi en Windows, .dmg en macOS, .deb en Linux) y sigue los pasos en pantalla. La aplicación se instala en el directorio de usuario y no requiere privilegios de administrador.
HSP Desktop se distribuye actualmente sin un certificado de firma de código. Tu sistema operativo mostrará una advertencia de seguridad la primera vez que instales o abras la app. Es algo esperado — sigue los pasos a continuación para continuar.
xattr -cr /Applications/hsp-desktop.appSi ves el diálogo "no se puede verificar" (no el de "dañado"), también puedes ir a Configuración del Sistema → Privacidad y seguridad, hacer clic en Abrir de todas formas y reiniciar la app. El comando xattr funciona en ambos casos y siempre es seguro ejecutarlo..deb.Si tienes algún problema durante la instalación, contacta con support@g-npd.com.
Al abrir la aplicación, se muestra una pantalla de inicio. En el primer inicio, un diálogo de configuración te guía por tres pasos: selección de idioma, revisión del Acuerdo de Licencia (EULA) y activación de licencia. Un indicador de progreso en la parte superior del diálogo muestra en qué paso te encuentras, y puedes volver al paso de idioma en cualquier momento haciendo clic en Atrás en el paso del EULA. Una vez completados todos los pasos, el backend se inicia automáticamente y una barra de progreso animada con mensajes de estado rotativos confirma que el arranque está en curso. En la mayoría de sistemas esto tarda entre 3 y 10 segundos; en macOS el primer inicio puede tardar unos segundos más mientras el sistema verifica el componente backend. En la parte inferior se muestra un botón Cancelar — al hacer clic se cierra la aplicación limpiamente.
La aplicación consulta el backend de forma continua sin tiempo límite, por lo que una máquina lenta seguirá teniendo éxito con suficiente tiempo. Si algo falla de verdad, haz clic en Cancelar para salir y prueba lo siguiente:
xattr -cr /Applications/hsp-desktop.app en Terminal y vuelve a abrir la app.
En el primer inicio, aparece un diálogo de configuración con un indicador de tres pasos en la parte superior. El primer paso te pide que selecciones el idioma de la interfaz.
Haz clic en una de las tres opciones — el diálogo avanza inmediatamente al siguiente paso. Si necesitas cambiar tu selección, haz clic en Atrás en el paso del EULA para volver aquí.
El idioma seleccionado se recuerda en futuros inicios y también puede cambiarse en cualquier momento desde Configuración.

El segundo paso muestra el Acuerdo de Licencia de Usuario Final. Debes:
Si seleccionaste el idioma incorrecto en el paso anterior, haz clic en Atrás para volver al selector de idioma.
La aceptación se almacena localmente; este paso no vuelve a aparecer en lanzamientos posteriores.
Al pie se proporcionan enlaces al EULA completo y la Política de Privacidad.

El tercer paso activa tu licencia. Si ya hay una licencia válida almacenada en tu máquina, este paso se omite automáticamente y el backend comienza a cargar.
Para activar:
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).Enter).La aplicación contacta al servidor de licencias para validar la clave. Una vez validada, el diálogo se cierra y el backend comienza a cargar automáticamente — la barra de progreso se inicia y la interfaz principal carga cuando el backend está listo.
Si la clave es rechazada, aparece un mensaje de error debajo del campo. Comprueba que la clave esté completa y sin modificar, y vuelve a intentarlo.

La ventana principal está dividida en dos paneles redimensionables separados por un divisor arrastrable.
┌─────────────────────────────┬──────────────────────────────────────┐ │ │ 📄 ⚙ │ │ Malla de Solventes │ [ 3D | 2D | 2D/3D ] │ │ ───────────────────── │ │ │ Barra de herramientas │ Gráfico 3D / 2D │ │ │ │ │ ┌─────────────────────┐ │ │ │ │ Tabla de solventes │ ├──────────────────────────────────────┤ │ │ (desplazable) │ │ Panel de Ajuste │ │ └─────────────────────┘ │ δD δP δH R₀ | Ajustar HSP │ └─────────────────────────────┴──────────────────────────────────────┘
| Área | Descripción |
|---|---|
| Izquierda — Malla de Solventes | Barra de herramientas para gestión de mallas + tabla de solventes desplazable |
| Derecha arriba — Gráfico | Gráfico de dispersión 3D o 2D interactivo del espacio de solventes |
| Derecha abajo — Panel de Ajuste | Controles de ajuste HSP, resultados y Explorador de Superficie |
| Arriba derecha — Icono de documentación (📄) | Abre la documentación de usuario en el navegador |
| Arriba derecha — Icono de configuración (⚙) | Abre el modal de Configuración (idioma, host, puerto, clave API) |
| Arriba derecha — Selector de modo de gráfico | Cambia entre las vistas 3D, 2D y 2D/3D |
Puedes arrastrar el divisor vertical hacia la izquierda o derecha para redimensionar los paneles.

La barra de herramientas en la parte superior del panel izquierdo contiene un selector desplegable y una fila de botones de icono.
Haz clic en el desplegable para ver todas las mallas guardadas en la base de datos local. Haz clic en el nombre de una malla para cargarla. Si hay cambios sin guardar en la malla actual, un diálogo de confirmación preguntará si deseas descartarlos.

Dentro del desplegable también hay un área para crear una nueva malla: escribe un nombre en el campo de texto y pulsa Nueva.
| Icono | Acción |
|---|---|
| 📄 (archivo+) | Crear una nueva malla vacía |
| 📂 (carpeta) | Abrir un archivo (.csv, .hsd, .hsdx) |
| ↗ (exportar) | Exportar la malla actual (pasa el cursor para elegir CSV o Excel) |
| 💾 (guardar) | Guardar la malla actual (y los resultados del ajuste) en la base de datos local |
| ✏️ (lápiz) | Renombrar la malla actual |
| ⧉ (copiar) | Duplicar la malla actual |


El icono de guardar se vuelve ámbar cuando la malla tiene cambios sin guardar.
Al guardar una malla, los resultados del ajuste HSP actuales (si los hay) se almacenan junto con los datos de solventes y se restauran automáticamente al recargar la malla.

Haz clic en el botón círculo azul + en el lado derecho de la barra de herramientas para abrir el selector de solventes.
El selector muestra la base de datos de solventes integrada completa. Dos características ayudan a encontrar solventes rápidamente:
Selecciona una o más filas usando las casillas de verificación. Los solventes ya presentes en la malla actual aparecen atenuados y no se pueden seleccionar de nuevo. Cuando estés listo, haz clic en Añadir Seleccionados (n).

Haz clic en el botón círculo azul ⤢ para abrir el selector de gradientes. Esta herramienta genera una serie de filas de mezcla entre dos solventes a proporciones de mezcla igualmente espaciadas.
10 genera mezclas al 0:100, 10:90, 20:80, … 100:0.Los nombres de fila generados siguen el patrón SolventeA:SolventeB proporción_A:proporción_B, p. ej. Ethanol:Water 30:70.
Haz clic en el botón Abrir (icono de carpeta) para importar datos. Formatos soportados:
| Extensión | Descripción |
|---|---|
.csv | Valores separados por comas con columnas Solvente, D, P, H, Grade |
.hsd | Formato de conjunto de datos nativo de HSPiP |
.hsdx | Formato de conjunto de datos extendido de HSPiP |
El nombre del archivo (sin extensión) se usa como nombre de la malla. Los datos importados se consideran sin guardar hasta que los guardes explícitamente en la base de datos.

Pasa el cursor o haz clic en el icono de exportar (↗) para elegir el formato:
.csv plano con todas las columnas incluyendo los valores RED calculados..xlsx adecuado para análisis adicional en hojas de cálculo.El archivo se guarda en la carpeta de Descargas con el nombre de la malla como nombre de archivo.

La columna Grade es la única columna editable en la tabla. Acepta valores enteros y representa la compatibilidad experimentalmente observada de cada solvente con el material objetivo.
Se admiten dos convenciones de calificación — elige la que corresponda a tus datos experimentales y establece el Límite Interior en consecuencia (ver Sección 5.2):
| Grade | Significado |
|---|---|
| 1 | Buen solvente — disuelve / interactúa con el material |
| 0 | Mal solvente — sin interacción |
Establece Límite Interior = 1 con esta convención.
| Grade | Significado |
|---|---|
| 1 | Disuelve completamente |
| 2 | Disuelve mayormente |
| 3 | Disuelve parcialmente / hincha |
| 4 | Ligera interacción |
| 5 | Poca o ninguna interacción |
| 6 | Sin efecto alguno |
Establece el Límite Interior en el umbral que separa "buenos" de "malos" para tu material.
| Tecla | Acción |
|---|---|
Enter o ↓ | Ir a la fila siguiente |
Shift+Enter o ↑ | Ir a la fila anterior |

Después de ejecutar un ajuste, las filas cuyo Grade experimental no coincide con la predicción de la esfera se resaltan:
| Resaltado | Significado |
|---|---|
| Fondo rojo | Mal dentro — solvente calificado como malo pero cae dentro de la esfera (RED ≤ 1) |
| Fondo ámbar/amarillo | Mal fuera — solvente calificado como bueno pero cae fuera de la esfera (RED > 1) |

La parte inferior de la tabla de solventes siempre muestra una fila vacía para introducir un solvente que no está en la base de datos integrada — por ejemplo, una mezcla propietaria o un material cuyos parámetros HSP has medido tú mismo.
Rellena los cuatro campos editables de esa fila:
| Campo | Descripción |
|---|---|
| Solvente | Nombre libre (cualquier etiqueta que elijas) |
| δD | Parámetro de Hansen de dispersión (MPa½) |
| δP | Parámetro de Hansen polar (MPa½) |
| δH | Parámetro de Hansen de enlace de hidrógeno (MPa½) |
Una vez que los cuatro campos contienen valores válidos, el botón + de la columna más a la izquierda se activa. Haz clic en él — o pulsa Enter en cualquiera de los cuatro campos — para confirmar la fila. El solvente personalizado se añade a la malla con un Grade en blanco, y la fila vacía se restablece para la siguiente entrada.

Una vez que al menos un solvente tenga un Grade asignado, el botón Ajustar HSP en el Panel de Ajuste se activa y muestra el número de solventes calificados entre paréntesis, p. ej. Ajustar HSP (42 solventes).
Haz clic en Ajustar HSP para ejecutar la optimización. El botón muestra un indicador de carga mientras se realiza el cálculo.


El selector de Límite Interior (valores 1–6) establece el Grade mínimo que debe tener un solvente para considerarse dentro de la esfera durante el ajuste.

El selector 1 Esfera / 2 Esferas controla si el algoritmo ajusta una o dos esferas HSP independientes simultáneamente. El ajuste de dos esferas es útil para materiales con comportamiento de solubilidad bimodal.

| Columna | Descripción |
|---|---|
| δD | Parámetro de Hansen de dispersión del centro de la esfera (MPa½) |
| δP | Parámetro de Hansen polar del centro de la esfera (MPa½) |
| δH | Parámetro de Hansen de enlace de hidrógeno del centro de la esfera (MPa½) |
| R₀ | Radio de la esfera ajustada (MPa½) |
| Métrica | Descripción |
|---|---|
| Precisión | Porcentaje de solventes clasificados correctamente por la esfera (mayor es mejor) |
| DATAFIT | Métrica DATAFIT de HSPiPy — una puntuación de 0 a 1 que refleja la calidad del ajuste (más cerca de 1 es mejor) |
| Error | Error residual de optimización (menor es mejor) |
| Contador | Descripción |
|---|---|
| Dentro | Número de solventes calificados que caen dentro de la esfera (RED ≤ 1) |
| Fuera | Número de solventes calificados que caen fuera de la esfera (RED > 1) |
| ✗ Mal dentro | Solventes calificados como malos pero dentro de la esfera — en rojo si > 0 |
| ✗ Mal fuera | Solventes calificados como buenos pero fuera de la esfera — en rojo si > 0 |
El valor RED (Diferencia de Energía Relativa) de cada solvente se muestra en la columna RED de la tabla tras el ajuste. RED < 1 significa que el solvente está dentro de la esfera; RED > 1 significa que está fuera.

El botón Explorar Superficie (disponible tras un ajuste exitoso) abre el modal de Solventes en la Superficie. Consulta la base de datos de solventes integrada en busca de solventes que se encuentren cerca del límite de la esfera ajustada.
| Control | Descripción |
|---|---|
| Selector de esfera | Solo se muestra cuando se han ajustado dos esferas; cambia qué superficie de esfera se explora |
| Todos cerca / Solo exterior | Alterna entre mostrar todos los solventes dentro de la banda de tolerancia, o solo los con RED > 1 |
| Deslizador de rango RED | Ajusta la tolerancia (±0.05 a ±0.50). Mayor tolerancia devuelve más solventes |

La vista 3D muestra todos los solventes como puntos en el espacio de solubilidad de Hansen (ejes: D, H, P). Tras un ajuste, la esfera HSP se dibuja como una malla de alambre verde.
| Color | Significado |
|---|---|
| Gris (semitransparente) | Solvente sin calificar |
| Azul | Buen solvente (Grade ≥ Límite Interior) |
| Rojo | Mal solvente (Grade < Límite Interior, Grade > 0) |
| Malla de alambre verde + punto | Centro de la esfera HSP ajustada |

La vista 2D muestra tres proyecciones 2D del espacio de solventes en paralelo.
| Subgráfico | Ejes |
|---|---|
| Izquierda — P vs H | x = P, y = H |
| Centro — H vs D | x = H, y = D |
| Derecha — P vs D | x = P, y = D |

El modo 2D/3D muestra tanto el gráfico de dispersión 3D como los tres subgráficos 2D al mismo tiempo. El panel de ajuste se reposiciona a la derecha del gráfico 3D para ahorrar espacio vertical.
| Acción | Efecto |
|---|---|
| Clic + arrastrar | Rotar (3D) o desplazar (2D) |
| Rueda del ratón | Acercar/alejar |
| Doble clic | Restablecer vista al zoom predeterminado |
| Pasar el cursor sobre un punto | Mostrar nombre del solvente y coordenadas |
| Barra de herramientas (arriba derecha del gráfico) | Cámara (descarga PNG) y Inicio (restablecer vista) |

Haz clic en el icono ⚙ de configuración en la esquina superior derecha de la ventana para abrir el modal de Configuración.
| Opción | Idioma |
|---|---|
| English | Inglés |
| Español | Español |
| 中文 | Chino simplificado |
El cambio tiene efecto inmediato. El idioma seleccionado se guarda y se restaura en el siguiente inicio.
Una casilla de verificación justo debajo del selector de idioma. Cuando está activada, todos los nombres de solventes de la base de datos integrada se muestran en inglés independientemente del idioma de la interfaz seleccionado. Útil cuando se trabaja en español o chino pero se necesita que los nombres de solventes coincidan con la literatura publicada o la documentación del laboratorio. El ajuste se guarda entre sesiones.
| Campo | Predeterminado | Descripción |
|---|---|---|
| Host | 127.0.0.1 | Dirección de red en la que escucha el servidor backend. Usar 127.0.0.1 para mantenerlo solo local (recomendado). |
| Puerto | 8000 | Puerto TCP en el que corre la API backend. Cámbialo si el puerto 8000 ya está en uso. |
Una clave secreta opcional que debe incluirse en todas las solicitudes a la API backend. Útil cuando el servidor está expuesto más allá de localhost.
Número máximo de segundos que puede durar una operación de ajuste antes de cancelarse y devolver un error de tiempo de espera. Establece 0 para desactivar el límite. El valor predeterminado es 60 segundos, suficiente para la mayoría de los conjuntos de datos; las mallas muy grandes o las máquinas lentas pueden requerir un valor mayor.
La carpeta a la que se abre el diálogo nativo de guardado al exportar una malla (CSV o Excel). Si se deja vacío, se usa el predeterminado del sistema (normalmente Descargas). Haz clic en Examinar para seleccionar una carpeta.
El modal de Configuración también muestra la versión de la aplicación y enlaces al EULA, la Política de Privacidad y las Licencias de Terceros.
En el primer inicio, el diálogo de configuración (idioma, EULA, licencia) aparece antes de que el backend arranque — esto es lo esperado. La aplicación consulta el backend de forma continua sin tiempo límite. En macOS el primer inicio puede tardar más mientras el sistema verifica el componente backend. Si el arranque tarda demasiado, haz clic en Cancelar para salir y ejecuta xattr -cr /Applications/hsp-desktop.app en Terminal antes de volver a abrir la app. En todos los sistemas, comprueba que el puerto 8000 no esté en uso por otra aplicación.
La preferencia de idioma, la aceptación del EULA y los datos de licencia se almacenan localmente. Si alguno de estos datos se elimina, el paso correspondiente vuelve a aparecer en el siguiente inicio. Completa el paso de nuevo para continuar con normalidad.
La columna Grade solo almacena valores enteros. Para calificación binaria usa 0 o 1; para calificación graduada usa 1–6. Los valores fuera del rango válido o la entrada no numérica se descartan silenciosamente.
Estas operaciones requieren que la malla esté guardada en la base de datos. Una malla importada desde un archivo o recién creada pero no guardada aún no tiene un ID en la base de datos. Guárdala primero con el botón Guardar en BD.
Asegúrate de que el formato de exportación sea Exportar como Excel (.xlsx) en lugar de CSV.