]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/include/documentation.h
7c8d7745b440d8ec2547dd13f228610f09354021
[z.facultad/75.42/plaqui.git] / Model / include / documentation.h
1 /** \page page_model PlaQui Model
2         
3 \section page_model_general Descripción General.
4         El modelo es quien se encarga de la simulación de una planta química dentro
5         de esta suite de herramientas. Puede ser utilizado como un programa independiente
6         (<em>plaqui-model</em>) o como una biblioteca estática y ser compilado dentro de un
7         ejecutable como lo hace PlaQui Server.
8
9         \subsection page_model_general_clases Clases del Modelo
10                 Para cada elemento que es posible simular, el modelo tiene una clase que se encarga
11                 de ello. También existe una clase Simulator que es quien se encarga de manejar una
12                 simulación, cargar una planta desde un archivo XML y da una interfaz para poder
13                 acceder a propiedades del modelo desde el exterior.
14         
15         \subsection page_model_general_simulacion Simulación.
16                 Para entender que es lo que vemos al simular una planta, primero debemos entender
17                 como es que el modelo resuelve la simulación.
18
19                 En cada paso de la simulación se realizan 3 tareas por separado, que deben ser ejecutadas
20                 de forma correcta, ya que la alteración del orden puede provocar resultados inesperados. El
21                 primer paso es el de actualización (<em>update</em>), luego el de simulación (<em>simulate</em>)
22                 y por último la actualización de colores.
23
24                 \subsection page_model_update Update.
25                         El objetivo de esta face es que todos los elementos del modelo calculen el flujo que va a
26                         circular por ellos en la iteración actual. Para poder hacer esto, siempre se debe llamar
27                         al <em>update</em> de las bombas únicamente, ya que desde ellas sale el fluido.
28
29                         La bomba envía un mensaje a su salida, consultando por el flujo máximo que el elemento al
30                         que está conectado es capaz de manejar, informandole también cual es la capacidad de envío
31                         de flujo propio.
32
33                         Este primer envío da como resultado una <tt>reacción en cadena</tt> hasta llegar a los
34                         drenajes que tenga el circuito. Cada elemento reacciona de manera distinta y reacciona
35                         en base a sus requerimientos.
36
37                         Cuando la bomba recibe una respuesta de flujo máximo saliente menor a su capacidad, esta
38                         se queda con la menor de ambas. Esto es debido a que el conducto no puede soportar más
39                         de lo que responde, y el restante que la bomba pueda entregar <em>rebotaría</em> y debería
40                         elevar la presión dentro de la bomba hasta explotar. Tambíen aparecerían turbulencias
41                         que harían que el flujo sea fluctuante. Sin embargo, como estos parámetros no son tomados
42                         en cuenta, el resultado de la simulación es que la bomba se <em>limita</em> a enviar solo
43                         lo que la salida pueda aceptar, pareciendo que se <em>auto regula</em>.
44
45                         La consecuencia de lo explicado anteriormente es por requerimiento del enunciado y simplificacion
46                         del modelo debido al poco tiempo con el que se cuentó para el total del proyecto.
47
48                 \subsection page_model_simulate Simulate.
49                         Es esta face, con los flujos actuales a la orden del día, cada objeto se actualiza.
50                         El tanque se suma el flujo entrante y se resta el flujo saliente.
51
52                 \subsection page_model_color Update Color.
53                         Aquí comienza una cadena de mensajes similar al del update, pero esta vez se envía hacia
54                         las entradas, y se pide que nos envíe el color.
55                         Entonces, por ejemplo, una union pide un color a cada salida y luego los suma.
56
57
58                 
59 */
60
61 /** \namespace PlaQui::Model
62
63 Infrastructura del modelo de simulación para PlaQui.
64
65 Bajo este espacio de nombres (namespace) se encuentran todas las clases para la
66 simulación de PlaQui.
67
68 */
69