\section page_model_general Descripción General.
El modelo es quien se encarga de la simulación de una planta química dentro
- de esta suite de herramientas. Puede ser utilizado como un programa independiente
- (<em>plaqui-model</em>) o como una biblioteca estática y ser compilado dentro de un
+ de este conjunto de herramientas. Puede ser utilizado como un programa independiente
+ (<tt>plaqui-model</tt>) o como una biblioteca estática y ser compilado dentro de un
ejecutable como lo hace PlaQui Server.
- \subsection page_model_general_clases Clases del Modelo
+ \subsection page_model_general_clases Clases del Modelo.
Para cada elemento que es posible simular, el modelo tiene una clase que se encarga
- de ello. También existe una clase Simulator que es quien se encarga de manejar una
- simulación, cargar una planta desde un archivo XML y da una interfaz para poder
- acceder a propiedades del modelo desde el exterior.
+ de ello. También existe una clase PlaQui::Model::Simulator que es quien se encarga
+ de manejar una simulación, cargar una planta desde un archivo XML y da una interfaz
+ para poder acceder a propiedades del modelo desde el exterior.
+
+ A continuación se puede observar un diagrama de clases del modelo:
+ \image html clases.png
+ \image latex clases.eps "Diagrama de clases." width=14cm
\subsection page_model_general_simulacion Simulación.
- Para entender que es lo que vemos al simular una planta, primero debemos entender
- como es que el modelo resuelve la simulación.
+ Para entender qué es lo que vemos al simular una planta, primero debemos entender
+ cómo es que el modelo resuelve la simulación.
En cada paso de la simulación se realizan 3 tareas por separado, que deben ser ejecutadas
de forma correcta, ya que la alteración del orden puede provocar resultados inesperados. El
- primer paso es el de actualización (<em>update</em>), luego el de simulación (<em>simulate</em>)
- y por último la actualización de colores.
+ primer paso es el de actualización (<em>update</em>), luego el de simulación
+ (<em>simulate</em>) y por último la actualización de colores.
\subsection page_model_update Update.
- El objetivo de esta face es que todos los elementos del modelo calculen el flujo que va a
+ El objetivo de esta fase es que todos los elementos del modelo calculen el flujo que va a
circular por ellos en la iteración actual. Para poder hacer esto, siempre se debe llamar
- al <em>update</em> de las bombas únicamente, ya que desde ellas sale el fluido.
+ al \ref PlaQui::Model::Pump::update "update" de las bombas únicamente, ya que desde ellas
+ sale el fluido.
La bomba envía un mensaje a su salida, consultando por el flujo máximo que el elemento al
que está conectado es capaz de manejar, informandole también cual es la capacidad de envío
de flujo propio.
- Este primer envío da como resultado una <tt>reacción en cadena</tt> hasta llegar a los
+ Este primer envío da como resultado una <em>reacción en cadena</em> hasta llegar a los
drenajes que tenga el circuito. Cada elemento reacciona de manera distinta y reacciona
en base a sus requerimientos.
- Cuando la bomba recibe una respuesta de flujo máximo saliente menor a su capacidad, esta
+ Cuando la bomba recibe una respuesta de flujo máximo saliente menor a su capacidad, ésta
se queda con la menor de ambas. Esto es debido a que el conducto no puede soportar más
de lo que responde, y el restante que la bomba pueda entregar <em>rebotaría</em> y debería
elevar la presión dentro de la bomba hasta explotar. Tambíen aparecerían turbulencias
que harían que el flujo sea fluctuante. Sin embargo, como estos parámetros no son tomados
- en cuenta, el resultado de la simulación es que la bomba se <em>limita</em> a enviar solo
+ en cuenta, el resultado de la simulación es que la bomba se <em>limita</em> a enviar sólo
lo que la salida pueda aceptar, pareciendo que se <em>auto regula</em>.
- La consecuencia de lo explicado anteriormente es por requerimiento del enunciado y simplificacion
- del modelo debido al poco tiempo con el que se cuentó para el total del proyecto.
+ La consecuencia de lo explicado anteriormente es por requerimiento del enunciado y
+ simplificacion del modelo debido al poco tiempo con el que se cuentó para el total del
+ proyecto.
\subsection page_model_simulate Simulate.
- Es esta face, con los flujos actuales a la orden del día, cada objeto se actualiza.
+ Es esta fase, con los flujos actuales a la orden del día, cada objeto se actualiza.
El tanque se suma el flujo entrante y se resta el flujo saliente.
\subsection page_model_color Update Color.
Aquí comienza una cadena de mensajes similar al del update, pero esta vez se envía hacia
- las entradas, y se pide que nos envíe el color.
+ las entradas, y se pide que nos envíe el \ref PlaQui::Model::PlantItem::update_color "color".
Entonces, por ejemplo, una union pide un color a cada salida y luego los suma.