# Guía de Uso: Sistema de Fluidos ## Introducción El Sistema de Fluidos es una extensión para CtrEditor que permite simular el comportamiento de líquidos en elementos como tuberías, válvulas y tanques. Utiliza una implementación optimizada basada en el método SPH (Smoothed Particle Hydrodynamics) para la simulación de fluidos. ## Componentes del Sistema El sistema de fluidos incluye los siguientes componentes: 1. **SistemaFluidos**: El componente principal que gestiona la simulación de partículas. 2. **TuberíaFluido**: Componente para crear tuberías por las que circula el fluido. 3. **ValvulaFluido**: Componente que permite regular el flujo del fluido. ## Añadir el Sistema de Fluidos Para comenzar a utilizar el sistema de fluidos: 1. Inserte un componente "SistemaFluidos" en su diseño. 2. Configure el tamaño del área de simulación y la gravedad según sus necesidades. 3. Añada los componentes de tuberías y válvulas que necesite. ## Propiedades Principales ### SistemaFluidos - **AnchoSimulacion/AltoSimulacion**: Dimensiones del área de simulación. - **GravedadX/GravedadY**: Vector de gravedad para la simulación. - **TamañoParticula**: Tamaño visual de las partículas de fluido. - **ColorFluido**: Color base para las partículas de fluido. - **OpacidadParticulas**: Transparencia de las partículas (0-1). ### TuberíaFluido - **Diametro**: Diámetro de la tubería. - **Color**: Color de la tubería. - **ColorFluido**: Color del fluido dentro de la tubería. ### ValvulaFluido - **Apertura**: Grado de apertura de la válvula (0=cerrada, 1=abierta). - **DiametroTuberia**: Diámetro de las tuberías conectadas. - **TagApertura**: Tag PLC para controlar la apertura. ## Integración con PLC El sistema de fluidos permite integración con PLC mediante tags: - **TagNivelTanque1**: Lectura/escritura del nivel de llenado del tanque. - **TagAperturaValvula1**: Lectura/escritura de la apertura de la válvula. ## Añadir Fluido a la Simulación Para añadir partículas de fluido: 1. Seleccione el componente SistemaFluidos. 2. Utilice el método `AgregarParticulasEnArea` para añadir partículas en una región. Ejemplo: ```csharp // Añadir 100 partículas en un área centrada en (x,y) con ancho y alto especificados _sistemaFluidos.AgregarParticulasEnArea(new Vector2(x, y), ancho, alto, 100); ``` ## Optimización El Sistema de Fluidos utiliza `DrawingVisual` para una renderización eficiente, lo que permite simular miles de partículas con un impacto mínimo en el rendimiento. ## Limitaciones - La simulación está optimizada para cantidades moderadas de partículas (hasta 10,000). - Los contenedores (tuberías, válvulas) son aproximaciones y pueden presentar fugas o comportamientos inesperados con flujos muy rápidos. ## Recomendaciones - Comience con pocas partículas y aumente gradualmente según sea necesario. - Mantenga la configuración de gravedad en valores realistas. - Para simular líquidos específicos, ajuste la visualización con el color y opacidad adecuados. ## Ejemplos de Uso ### Sistema Básico de Flujo ``` SistemaFluidos → TuberíaFluido → ValvulaFluido → TuberíaFluido → Tanque ``` ### Circuito Cerrado ``` SistemaFluidos → TuberíaFluido → ValvulaFluido → TuberíaFluido → TuberíaFluido (retorno) ``` ## Solución de Problemas - **Partículas escapando de contenedores**: Verifique que los componentes estén correctamente posicionados y conectados. - **Bajo rendimiento**: Reduzca el número de partículas o el tamaño visual. - **Cambios de apertura de válvula no afectan el flujo**: Verifique la conexión PLC y la configuración de tags.