El documento presenta un caso de estudio sobre el transporte transitorio en un reactor unidimensional. Se formula el problema mediante la ecuación de advección-difusión-reacción unidimensional y condiciones de frontera. Se debe discretizar el problema usando esquemas de diferencias finitas explícito y semi-implícito, y resolverlo numéricamente para obtener curvas de concentración en función del tiempo y la posición. Adicionalmente, se deben presentar resultados para un tiempo determinado usando ambos esquemas.
Flujo potencial, conceptos básicos y ejemplos resueltos.
Modelación de transporte reactivo
1. Universidad Nacional de Colombia
Facultad de Ingeniería
Departamento de Ingeniería Mecánica y Mecatrónica
Taller 02 Sem I - 2018 Modelación Matemática
TALLER 02 - MODELACIÓN MATEMÁTICA: PDEs, Optimización y Eventos Discretos
Nombre estudiante Código Grupo
Puntos importantes:
Para el presente Taller es SUMAMENTE IMPORTANTE que su grupo cumpla con los siguientes puntos
En todos los casos de estudio, y donde corresponda, su grupo deberá presentar los diferentes pasos del
proceso de modelación, así como una clara argumentación de las simplificaciones o suposiciones usadas en
los diferentes casos y modelos.
Deben incluirse los códigos fuente de cualquier modelo computacional elaborado (independiente del lenguaje)
Los informes impresos deberán tener como portada la presente hoja. (SIN ESTA HOJA DE PORTADA NO
SE CALIFICARÁ EL TALLER)
La calidad de la presentación de los informes escritos será especialmente considerada en la calificación: calidad,
resolución y claridad de los gráficos, y calidad así como de las conclusiones que se extraigan de ellos.
Los casos de estudio del presente taller, y sus respectivas ponderaciones de calificación son:
Caso de estudio Ponderación
Sección Caso 1 45 %
Sección Caso 2 35 %
Sección Caso 3 20 %
Fecha de entrega: Jueves 31 de Mayo de 2018
Condiciones de entrega: Para que la entrega del taller se considere válida, debe cumplir los siguientes criterios/condiciones
1. Entrega física del taller impreso: Mayo 31 de 2018 antes de las 13:00 (1:00 p.m.)
2. Reporte impreso debe incluir impresión corta de códigos fuente
3. Entrega de archivos y códigos de forma digital: Envío de UN SOLO archivo ZIP, con toda la información relevante
al sitio virtual del curso. Carga de este ÚNICO archivo ZIP deberá hacerse antes de las 23:59 del Jueves 31 de
Mayo de 2018.
4. Los archivos deberán enviarse en UN SOLO ARCHIVO COMPRIMIDO, cuyo nombre deberá cumplir el siguiente
formato: <ApellidoEstudante01>_<ApellidoEstudante02>_<ApellidoEstudante03>_Taller02.zip
5. Instrucciones específicas de como cargar el archivo comprimido se publicarán en la sección de anuncios del aula
virtual del curso.
Modelación Matemática Página 1 de 4
2. Taller 02 - Modelación con EDP’s y Optimización
Caso 1. Transporte transitorio en un reactor unidimensional (45 %)
La ecuación de advección-difusión-reacción unidimensional, ecuación (1), es un modelo matemático válido para calcular la
distribución de la concentración de un reactivo a lo largo de un reactor químico de sección transversal constante (ver
Figura 1), tal como se presenta a continuación:
∂c
∂t
= D
∂2
c
∂x2
− U
∂c
∂x
− κ c (1)
donde
c : Concentración de reactivo (kg/m3
)
t : Tiempo (s)
D : Coeficiente de difusión (m2
/s)
x : Distancia longitudinal (m)
U : Velocidad promedio en x (m/s)
κ : Velocidad de reacción del reactivo (s−1
)
Figura 1: Reactor con un solo punto de entrada y salida.
Este problema en particular viene dado con las siguientes condiciones de frontera,
∂c
∂x
= 0.05
cref
L
en x = 0 y − D
∂c
∂x
+ U c = U cref en x = L (2)
donde cref es un valor de referencia de la concentración. Considere que el reactor opera bajo los siguientes valores
paramétricos:
D : 1.8 m2
/s L : 0.9 m U : 0.2 m/s cref : 0.1 kg/m3
κ : 5 s−1
¿Qué se debe realizar?
Dadas las consideraciones anteriores, usted debe:
1. Formular el problema en forma discreta usando:
a) Un esquema de discretización espacial usando FDM de 2o orden y un esquema temporal explícito
(Euler Forward)
b) Un esquema de discretización espacial usando FDM de 3er orden y un esquema temporal semi-implícito
(Crank-Nicholson)
2. Escribir un código computacional para resolver los modelos discretos planteados
3. Para cada esquema temporal presentar curvas de concentración vs. posición x para diferentes instantes t
4. Presentar la curva de concentración a lo largo del reactor para t = 10 s, para cada una de las combinaciones
de esquema temporal y espacial
Importante: Adimensionalice la ecuación (1), así como las condiciones de frontera. Sugerencia: Solo normalice variables
dependientes e independientes, y tome como tiempo característico el valor τ = L/U.
Modelación Matemática Actualización: Mayo/2018 Página 2 de 4
3. Taller 02 - Modelación con EDP’s y Optimización
Caso 2. Diseño óptimo paramétrico de un resorte helicoidal (35 %)
Se desea determinar la sensibilidad del proceso optimización de diseño de un resorte helicoidal sometido a una carga de
compresión cíclica (similar al caso de estudio disponible en notas de clase – por favor solicitarlas!). Una representación
esquemática e indicación de dimensiones genéricas se presenta en la Figura 2
Figura 2: Esquema de un resorte helicoidal.
En este caso se desea encontrar los valores óptimos de los diferentes parámetros para que el resorte tenga, en cualquier
caso, una masa mínima. Específicamente, se desea conocer la sensibilidad del modelo de optimización para diferentes
combinaciones de esfuerzo cortante admisible y frecuencia de carga, para tres valores de carga diferentes. Los valores
cuyas combinaciones se desean explorar son:
Valores de esfuerzo cortante admisible (en ksi): τadm = 60, 65, 70, 75, 80, 85, 90, 95100
Valores de frecuencia de carga (en Hz): ω0 = 80, 85, 90, 95, 100, 105, 110
Valores de carga máxima aplicada (en lbf): P = 8, 12, 16
¿Qué se debe realizar?
Dadas las consideraciones anteriores, su grupo debe:
1. Formular el problema de optimización en forma estándar usando condiciones KKT
2. Construir y utilizar un código computacional adecuado para llevar a cabo el proceso de optimización con
cada combinación de parámetros y restricciones
3. Concebir y utilizar una forma adecuada de presentación de resultados en donde sea clara la influencia de la
variación de cada uno de los parámetros empleados
4. Determinar el nivel de sensibilidad del modelo construcido a las diferentes combinaciones de parámetros
5. Proponer un escenario alternativo, pero real, de uso de la técnica de optimización empleada y del análisis de
sensibilidad elaborado
Modelación Matemática Actualización: Mayo/2018 Página 3 de 4
4. Taller 02 - Modelación con EDP’s y Optimización
Caso 3. Introducción a Técnicas de Simulación de Sistemas de Eventos
Discretos (20 %)
Un sistema de eventos discretos es un sistema de estados discretos que es gobernado por eventos específicos. En tal
sistema los cambios de estado del mismo dependen enteramente de la ocurrencia de eventos discretos sobre el tiempo.
Ejemplos de sistemas de eventos discretos son: sistemas de manufactura, sistemas de transporte tales como redes de
tráfico urbano, sistemas de servicio como hospitales y sistemas de comunicación como redes inhalambricas, entre otros.
Con este punto se desea que usted y su equipo de trabajo haga un acercamiento general a las técnicas de simulación de
eventos discretos. Para este fin, su equipo de trabajo debe:
1. Hacer una corta revisión teórica de Sistemas de Eventos Discretos, incluyendo ejemplos concretos.
2. Reponder, ¿Cuál es la metodología general de modelación de sistemas de eventos discretos?
3. Definir: (i) Rutinas de eventos, (ii) Trayectoria de un modelo de simulación, (iii) Pasos básicos requeridos para una
simulación de eventos discretos
4. Presentar la definición de un ejemplo simple, práctico y concreto del uso de técnicas de simulación de eventos
discretos
5. Llevar a cabo una implementación computacional simple del ejemplo descrito anteriormente.
Las referencias que pueden ser consultadas para abordar este punto incluyen: Carson et al. [1], Zeigler et al. [2], Law et al.
[3], Wainer [4], Fishman [5], Choi and Kang [6], Wainer and Mosterman [7]
Referencias
[1] JS Carson, Jerry Banks, and Barry L Nelson. Discrete-event system simulation, 1996.
[2] Bernard P Zeigler, Herbert Praehofer, and Tag Gon Kim. Theory of modeling and simulation: integrating discrete
event and continuous complex dynamic systems. Academic press, 2000.
[3] Averill M Law, W David Kelton, and W David Kelton. Simulation modeling and analysis, volume 3. McGraw-Hill New
York, 2007.
[4] Gabriel A Wainer. Discrete-event modeling and simulation: a practitioner’s approach. CRC press, 2009.
[5] George S Fishman. Discrete-event simulation: modeling, programming, and analysis. Springer Science & Business
Media, 2013.
[6] Byoung Kyu Choi and Donghun Kang. Modeling and simulation of discrete event systems. John Wiley & Sons, 2013.
[7] Gabriel A Wainer and Pieter J Mosterman. Discrete-event modeling and simulation: theory and applications. CRC
Press, 2016.
Modelación Matemática Actualización: Mayo/2018 Página 4 de 4
5. TALLER II Modelaci´on Matem´atica
Berthing Guti´errez1
, Robinson Munevar1
, Alberto Preciado1
1
Departamento de Ingenier´ıa Mec´anica y Mecatr´onica
Universidad Nacional de Colombia - Sede Bogot´a
{bgutierrezb@unal.edu.co,rsmunevarp@unal.edu.co,dapreciador@unal.edu.co}
1. Caso 1. Transporte transitorio en un reactor unidimensional
1.1. Enunciado
La ecuaci´on de advecci´on-difusi´on-reacci´on unidimensional, ecuaci´on (1), es un
modelo matem´atico v´alido para calcular la distribuci´on de la concentraci´on de un reactivo
a lo largo de un reactor qu´ımico de secci´on transversal constante (ver Figura), tal como se
presenta a continuaci´on:
∂c
∂t
= D
∂2
c
∂x2
− U
∂c
∂x
− κc (1)
donde:
c : Concentraci´on del reactivo (kg/m3
)
t : tiempo (s)
D : Coeficiente de difusi´on (m)
x : distancia longitudinal (m2
/s)
U : velocidad promedio en x (m/s)
κ : velocidad reacci´on del reactivo (s−
1)
Este problema en particular viene dado con las siguientes condiciones de frontera
∂c(x = 0)
∂x
= 0,05
cref
L
(2)
−D
∂c(x = L)
∂x
+ U.c(x = L) = U.cref (3)
donde cref es un valor de referencia de la concentraci´on. Considere que el reactor opera
bajo los siguientes valores param´etricos:
D : 1.8 (m2
/S)
L : 0.9 (m)
U : 0.2 (m/s)
cref : 0.1 (kg/m3
)
κ : 5 (s−
1)
6. 1.2. Identificaci´on del problema
se identifica la naturaleza de las variables del problema
Se tiene como punto de partida el planteamiento anal´ıtico de la ecuaci´on de difu-
si´on - advecci´on - reacci´on :
∂c
∂t
= D
∂2
c
∂x2
− U
∂c
∂x
− κc (4)
Esta ecuaci´on describe los fen´omenos que determinan la concentraci´on transitoria del
reactivo C a lo largo de la longitud del reactor. se adimensionalizan las variables depen-
dientes e independientes, para ello se establecen los siguientes t´erminos adimensionales.
c∗ = c
cref
; t∗ = t
tref
; x∗ = x
Lref
= x
L
Para el tiempo de referencia se establece:
tref =
L
U
→ t = t ∗ .tref =
L
U
t∗ → ∂t =
L
U
∂t∗
realizando la equivalencia de derivadas originales con derivadas de variables adimensio-
nales
c = cref .c∗ → ∂c = cref .∂c∗ → ∂2
c = cref .∂2
c∗
y
x = L.x∗ → ∂x = L.∂x∗ → ∂2
x = L∂2
x∗
reemplazando estos valores previos en (4)
cref ∂c∗
L
U
∂t∗
= D
cref
L2
∂2
c∗
∂x∗2
− U
cref
L
∂c∗
∂x∗
− κcref c∗
∂c∗
∂t∗
=
D
LU
∂2
c∗
∂x∗2
−
∂c∗
∂x∗
−
KL
U
c∗
estableci´endose las variables:
K1 = D
LU
; K2 = KL
U
(5)
∂c∗
∂t∗
= K1
∂2
c∗
∂x∗2
−
∂c∗
∂x∗
− K2c∗ (6)
Para los extremos del reactor se establecen restricciones o condiciones de frontera, que
determinan el comportamiento del reactivo al inicio y final del reactor para todos los
instantes, estas son:
∂c(x = 0)
∂x
= 0,05
cref
L
7. −D
∂c(x = L)
∂x
+ U.c(x = L) = U.cref
adimensionalizando las condiciones de frontera:
∂c(x = 0)
∂x
= 0,05
cref
L
→ z1 = 0,05
cref
L
∂c ∗ (x = 0)
∂x∗
= z1
cref
L
para obtener la condici´on de frontera adimensionalizada en el extremo izquierdo (x = 0):
∂c ∗ (x = 0)
∂x∗
= z1 (7)
con la condici´on de frontera de Neumann en el extremo derecho (x∗ = 1):
−D
cref
L
∂c ∗ (x = L)
∂x∗
+ U.cref c ∗ (x∗ = 1) = U.cref
∂c ∗ (x = L)
∂x∗
−
UL
D
c ∗ (x∗ = 1) = −
UL
D
obteniendo la ecuaci´on diferencial adimensionalizada (con los valores prescritos en 5):
∂c ∗ (x∗ = 1)
∂x∗
−
1
K1
c ∗ (x∗ = 1) = −
1
K1
= z2
∂c ∗ (x∗ = 1)
∂x∗
+ z2c ∗ (x∗ = 1) = z2 (8)
1.3. Un esquema de discretizaci´on espacial usando FDM de 2o orden y un
esquema temporal expl´ıcito (Euler Forward)
a partir de este punto se prefiere omitir el * de la ecuaci´on diferencial y sus con-
diciones de fronteras por comodidad. utilizando un esquema temporal expl´ıcito para el
derivada temporal y DFM de orden dos para todas las derivadas
definimos las variables
a1 = K1
k
h2 a2 = −2K1
k
h2 a3 = K1
k
h2
b1 = − 1
2h
b3 = 1
2h
quedando la expresi´on
Cn+1
= (a1 − b1)Ci−1 + (a2 − K2k + 1)Ci + (a3 − b3)Ci+1
definiendo las variables
c1 = a1 − b1 c2 = a2 − K2k + 1 c3 = a3 − b3
resultando
Cn+1
= c1Ci−1 + c2Ci + c3Ci+1
8. quedando matricialmente como
averiguamos el valor de los en los nodos que salen del dominio discretizando
ambas condiciones de frontera, en la frontera (x*=0)
∂c(x = 0)
∂x
= z1 →
C2 − C0
2h
→ C0 = C2 − 2hz1
y con la frontera (x*=1), de 8
CN+1 − CN−1
2h
−
1
K1
CN = z2 → CN+1 = CN−1 + d1CN + d2
donde
d1 = 2h
K1
d2 = 2z2h
quedando la formulaci´on matricial de la manera
1.3.1. c´odigo computacional Euler expl´ıcito
%% parametros de problema
clc,clear,close all
D=1.8; %coeficiente de difusi´on
L=0.9; %longitud de reactor
U=0.2; %velocidad promedio en x
c_ref=0.1; %concentracion reactivo referencia
K=5; %velocidad reaccion del reactivo
K1=D/(L*U); K2=K*L/U;
z1=0.05; % condicion Neumann x=0
z2=-1/K1; %condicion Fourier x=1
%% parametros de simulacion ---previas
x1=0;
xN=1;
h=0.1; %paso espacial
N=round((xN-x1)/h)+1;
k=0.0001; %paso de tiempo
a1=K1*k/hˆ2; a2=-2*K1*k/hˆ2; a3=K1*k/hˆ2;
b1=-1/(2*h); b3=-b1;
c1=a1-b1; c2=a2-(K2*k)+1; c3=a3-b3;
d1=2*h/(K1); d2=2*z2*h;
%% llenado matriz11 contiene informaci´on desde nodo 1 hasta nodo N en tiempo n+1
for i=1:N
matriz1(i,i)=c2;
if i-1>0
9. matriz1(i,i-1)=c1;
end
if i+1<(N+1)
matriz1(i,i+1)=c3;
end
end
matriz1(1,2)=matriz1(1,2)+1;
matriz1(N,N-1)=matriz1(N,N-1)+1;
matriz1(N,N)=matriz1(N,N)+d1;
vector1=zeros(size(matriz1,1),1); %vector agrega tiempo n+1, nodo 1:N-4
vector1(1)=-2*h*z1;
vector1(end)=d2;
%% solucion por matrices, la configuracion matrices es ecuacion nodo
Ctiempon_1=zeros(size(vector1)); %las concentraciones en el tiempo n
Ctiempon_n=zeros(N,1);
x=[0:h:1]’; %abscisas
t=0
while t<1
Ctiempon_n=matriz1*Ctiempon_1+vector1; %ecuaci´on matricial expl´ıcita
Ctiempon_1=Ctiempon_n;
t=t+k;
end
plot(x,Ctiempon_n)
1.4. Un esquema de discretizaci´on espacial usando FDM de 3er orden y un
esquema temporal semi-impl´ıcito (Crank-Nicolson)
utilizando discretizaci´on por Crank-Nicolson para el tiempo, discretizaci´on con
cinco puntos para la segunda derivada (-3:1 tres elementos atr´as y uno hacia adelante esto
se hace por que se necesita introducir las condiciones de borde con las expresiones que
se salgan del dominio) (orden 3) y discretizaci´on hacia atr´as con 3 puntos y uno hacia
adelante (en total 5 puntos) para la primera derivada (4 orden), la diferencia del orden va
en la igualdad de puntos tomados.
de http://web.media.mit.edu/ crtaylor/calculator.html
Figura 1. coeficientes de diferencias finitas en aproximaci´on de una derivada de segundo orden con
5 puntos de aproximaci´on (3er orden en precisi´on),desde -3:1
10. Figura 2. coeficientes de diferencias finitas en aproximaci´on de una derivada de primer orden con 5
puntos de aproximaci´on (4er orden en precisi´on),desde -3:1
se obtienen los distintos valores de los coeficientes as y bs defini´endose las si-
guientes constantes
a1 = −1
12
a2 = 4
12
a3 = 6
12
a4 = −20
12
a5 = 11
12
b1 = −1
12
b2 = 6
12
b3 = −18
12
b4 = 10
12
b5 = 3
12
c1 = K1∗a1∗k
2h2 c2 = K1∗a2∗k
2h2 c3 = K1∗a3∗k
2h2 c4 = K1∗a4∗k
2h2 c5 = K1∗a5∗k
2h2
d1 = K1∗a1∗k
2h2 d2 = K1∗a2∗k
2h2 d3 = K1∗a3∗k
2h2 d4 = K1∗a4∗k
2h2 d5 = K1∗a5∗k
2h2
obteni´endose
definiendo las variables e
e1 = c1 − d1 e2 = c2 − d2 e3 = c3 − d3
e6 = c4 − d4 − K2
2
− 1 e5 = c5 − d5 e7 = c4 − d4 − K2
2
+ 1
la discretizaci´on queda de la forma
como sistema matricial se obtiene
11. Figura 3. sistema matricial discretizado con valores ficticios fuera del dominio
Ambos son uno, donde la parte de arriba de la izquierda representa la discretiza-
ci´on para el tiempo n + 1 y la parte de abajo, la de la derecha representa la discretizaci´on
para el tiempo n. para determinar los vectores que a˜naden en cada lado de la ecuaci´on,
vectores que involucran a valores ficticios fuera de nuestro dominio, para hallar su valor
se utiliza aproximaci´on de las derivadas de acuerdo a la condici´on de frontera en cada
borde. para la condici´on de frontera Neumann en el borde izquierdo (parte superior del
vector que a˜nade) se aproximan dichos valores por aproximaci´on en diferencias finitas de
la derivada, se plantea las ecuaciones de arriba hacia abajo hallando primero el valor c0
escalando para hallar finalmente c−3
12. Figura 4. coeficientes de diferencias finitas en aproximaci´on de una derivada de primer orden con 5
puntos de aproximaci´on (4er orden en precisi´on),desde -2:2
Figura 5. coeficientes de diferencias finitas en aproximaci´on de una derivada de primer orden con 5
puntos de aproximaci´on (4er orden en precisi´on),desde -1:3
de 36,4,4,5
f1 = −1
12∗h
f2 = 6
12∗h
f3 = −18
12∗h
f4 = 10
12∗h
f5 = 3
12∗h
g1 = 1
12∗h
g2 = −8
12∗h
g3 = 0
12∗h
g4 = 8
12∗h
g5 = −1
12∗h
h1 = −3
12∗h
h2 = −10
12∗h
h3 = 18
12∗h
h4 = −6
12∗h
h5 = 1
12∗h
siendo el sistema de ecuaciones a resolver
donde cM1 = c−1 cM2 = c−2
este sistema ser´a resuelto de manera descendente para insertar estos valores
”ponderados.en
la matriz de la ecuaci´on discretizada
13. insertando nuevas variables que simplifiquen el tipo.
−e1c0 = i1c1 + i2c2 + i3c3 + i4c4 + i5z1
−e1c−1 − e2c0 = j1c1 + j2c2 + j3c3 + j4c4 + j5z1
−e1c−2 − e2c−1 − e3c0 = k1c1 + k2c2 + k3c3 + k4c4 + k5z1
para las ecuaciones en el tiempo n (parte derecha de la ecuaci´on matricial), en este punto
ya se hallo el valor de c−3,c−2,c−1,c0,determinando los valores ”ponderados”para este
tiempo en particular
e1c0 = −i1c1 − i2c2 − i3c3 − i4c4 − i5z1
e1c−1 + e2c0 = −j1c1 − j2c2 − j3c3 − j4c4 − j5z1
e1c−2 + e2c−1 + e3c0 = −k1c1 − k2c2 − k3c3 − k4c4 − k5z1
para la otra frontera de x*=1 se tiene la condici´on de Fourier 8 los valores que est´an fuera
de la frontera se aproximan por diferencias finitas por medio de la condici´on de frontera
en esta frontera con la aproximaci´on de primera derivada de 36 la ecuaci´on a ser resuelta
para encontrar el valores de cN+1, y hallando el correspondiente valor de −e5cN+1
donde cNM1 = cN+1 introduciendo nuevas variables para simplificar el tipeo,
estos valores fuera del dominio ”ponderados.es
t´an de la forma
−e5cN+1 = l1cN−3 + l2cN−2 + l3cN−1 + l4cN + l5z2 (9)
14. que son los valores para el tiempo n + 1 en la frontera x∗ = 1
para el tiempo n usando los valores hallados de cN+1 y como las ecuaciones que ”ponde-
ran”tienen una forma similar quedando de la forma
e5cN+1 = −l1cN−3 − l2cN−2 − l3cN−1 − l4cN − l5z2 (10)
finalmente el sistema matricial queda de la forma
1.4.1. c´odigo computacional Crank Nicolson
%% parametros de problema
clc,clear,close all
D=1.8; %coeficiente de difusi´on
L=0.9; %longitud de reactor
U=0.2; %velocidad promedio en x
c_ref=0.1; %concentracion reactivo referencia
K=5; %velocidad reaccion del reactivo
K1=D/(L*U); K2=K*L/U;
z1=0.05; % condicion Neumann x=0
z2=1/K1; %condicion Fourier x=1
%% parametros de simulacion ---previas
x1=0;
xN=1;
h=0.1; %paso espacial
N=round((xN-x1)/h)+1;
k=0.0001; %paso de tiempo
a1=-1/12; a2=4/12; a3=6/12; a4=-20/12; a5=11/12;
b1=-1/12; b2=6/12; b3=-18/12; b4=10/12; b5=3/12;
c1=K1*a1*k/(2*hˆ2); c2=K1*a2*k/(2*hˆ2); c3=K1*a3*k/(2*hˆ2); c4=K1*a4*k/(2*hˆ2); c5=K1*a5*k/(2*hˆ2);
d1=b1*k/(2*h); d2=b2*k/(2*h); d3=b3*k/(2*h); d4=b4*k/(2*h); d5=b5*k/(2*h);
e1=c1-d1; e2=c2-d2; e3=c3-d3; e6=c4-d4-K2/2-1; e5=c5-d5; e7=c4-d4-K2/2+1;
%% parametros para la condici´on frontera Neumann en x=0
f1=-1/(12*h); f2=6/(12*h); f3=-18/(12*h); f4=10/(12*h); f5=3/(12*h);
%coeficientes diferencias finitas 1 derivada -3:1
g1=1/(12*h); g2=-8/(12*h); g3=0/(12*h); g4=8/(12*h); g5=-1/(12*h);
%coeficientes diferencias finitas 1 derivada -2:2
h1=-3/(12*h); h2=-10/(12*h); h3=18/(12*h); h4=-6/(12*h); h5=1/(12*h);
%coeficientes diferencias finitas 1 derivada -1:3
%aproximaciones de valores ficticios anteriores
% i
i1=e1*h2/h1; i2=e1*h3/h1; i3=e1*h4/h1; i4=e1*h5/h1; i5=-e1/h1;
% j
j1=e1*g3/g1+e2*h2/h1-e1*g2*h2/(g1*h1);
j2=e1*g4/g1+e2*h3/h1-e1*g2*h3/(g1*h1);
j3=e1*g5/g1+e2*h4/h1-e1*g2*h4/(g1*h1);
15. j4=e2*h5/h1-e1*g2*h5/(g1*h1);
j5=-e2/h1-e1/g1+e1*g2/(g1*h1);
% k
k1=e1*f4/f1+e2*g3/g1+e3*h2/h1-e1*f2*g3/(f1*g1)-e1*f3*h2/(f1*h1)-e2*g2*h2/(g1*h1)...
-e1*f2*g3/(f1*g1)-e1*f3*h2/(f1*h1)-e2*g2*h2/(g1*h1)+e1*f2*g2*h2/(f1*g1*h1);
k2=e1*f5/f1+e2*g4/g1+e3*h3/h1-e1*f2*g4/(f1*g1)-e1*f3*h3/(f1*h1)-e1*f2*g4/(f1*g1)...
-e1*f3*h3/(f1*h1)-e1*f2*g4/(f1*g1)-e1*f3*h3/(f1*h1)-e2*g2*h3/(g1*h1)+e1*f2*g2*h3/(f1*g1*h1);
k3=e2*g5/g1+e3*h4/h1-e1*f2*g5/(f1*g1)-e1*f3*h4/(f1*h1)-e1*f2*g5/(f1*g1)...
-e1*f3*h4/(f1*h1)-e2*g2*h4/(g1*h1)+e1*f2*g2*h4/(f1*g1*h1);
k4=e3*h5/h1-e1*f3*h5/(f1*h1)-e2*g2*h5/(g1*h1)+e1*f2*g2*h5/(f1*g1*h1);
k5=-e2/g1-e3/h1-e1/f1+e1*f2/(f1*g1)+e1*f3/(f1*h1)+e2*g2/(g1*h1)-e1*f2*g2/(f1*g1*h1);
%% condici´on de frontera Fourier x*=0
% l
l1=e5*f1/f5; l2=e5*f2/f5; l3=e5*f3/f5; l4=e5*f4/f5; l5=-e5/f5;
%% llenado matriz11 contiene informaci´on desde nodo 1 hasta nodo N en tiempo n+1
for i=1:N
matriz1(i,i)=-e6;
if i-1>0
matriz1(i,i-1)=-e3;
end
if i-2>0
matriz1(i,i-2)=-e2;
end
if i-3>0
matriz1(i,i-3)=-e1;
end
if i+1<(N+1)
matriz1(i,i+1)=-e5;
end
end
matrizcom1=zeros(size(matriz1));%complemento matriz tiempo n+1, nodo 1:N-4
matrizcom1([1:3],[1:4])=[k1 k2 k3 k4;j1 j2 j3 j4;i1 i2 i3 i4];
matriz1=matriz1+matrizcom1; %ensamblando matriz tiempo n+1, nodo 1:N-4
vector1=zeros(size(matriz1,1),1); %vector agrega tiempo n+1, nodo 1:N-4
vector1([1:3])=z1*[k5;j5;i5];
vector1(end)=z2*l5; %condicion Fourier en x*=1 en tiempo n+1
%% llenado matriz2 contiene informaci´on desde nodo 1 hasta nodo N en tiempo n
matriz2=zeros(N,N); %matriz tiempo n+1, nodo 1:N-4
for i=1:N
matriz2(i,i)=e7;
if i-1>0
matriz2(i,i-1)=e3;
end
if i-2>0
matriz2(i,i-2)=e2;
end
if i-3>0
matriz2(i,i-3)=e1;
end
if i+1<(N+1)
matriz2(i,i+1)=e5;
end
end
matrizcom2=zeros(size(matriz2));%complemento matriz tiempo n+1, nodo 1:N-4
matrizcom2([1:3],[1:4])=-1*[k1 k2 k3 k4;j1 j2 j3 j4;i1 i2 i3 i4];
matriz2=matriz2+matrizcom2; %ensamblando matriz tiempo n+1, nodo 1:N-4
vector2=zeros(size(matriz2,1),1); %vector agrega tiempo n+1, nodo 1:N-4
vector2([1:3])=z1*-1*[k5;j5;i5];
vector2(end)=z2*l5;%condicion Fourier en x*=1 en tiempo n
%% solucion por matrices, la configuracion matrices es ecuacion nodo
Ctiempon_1=zeros(size(vector1)); %las concentraciones en el tiempo n+1, 1ra parte de la matriz [1:N]
Ctiempon_2=zeros(size(vector2)); %las concentraciones en el tiempo n, 1ra parte de la matriz [1:N]
Ctiempon_n=zeros(N,1);
Ctiempon_n(:,1)=Ctiempon_1; %condiciones iniciales de la funcion en tiempo 0
x=[0:h:1]’; %abscisas
matriz1inv=inv(matriz1);
t=0;
while t<10
Ctiempon_1=matriz1inv*(matriz2*Ctiempon_2+vector2-vector1);
%sobre los ´ındices (xy) x es posici´on ecuacion, y posicion matriz
Ctiempon_2=Ctiempon_1;
Ctiempon_n=Ctiempon_2;
t=t+k;
end
plot(x,Ctiempon_n)
1.4.2. Gr´aficas de resultados
planteado el sistema matricial, se obtuvieron los siguientes resultados
16. Figura 6. valores de concentraci´on para un tiempo t=1s.
Figura 7. valores de concentraci´on para un tiempo t=2s.
Figura 8. valores de concentraci´on para un tiempo t=4s.
17. Figura 9. valores de concentraci´on para un tiempo t=10s.
1.4.3. Comentarios
Podemos ver que la concentraci´on siempre inicia negativa para todos los tiempos
simulados, esto se considera que es debido a las condiciones de frontera que se dieron para
la realizaci´on del problema, y mas exactamente por el signo que se le otorga a la variable
D que representa la difusi´on del proceso cuando este coeficiente seg´un la literatura debe
estar entre 0.00001 y 0.000000001 cm/s dependiendo si se trata de un gas o un s´olido.
De igual manera vemos que la concentraci´on en alrededor de 0.3 m del reactor
se vuelve cero, indicando que se diluye el reactivo en esta longitud del reactor, con esto
concluimos que al final de este mismo la mezcla es perfecta.
Otro punto importante es el espacio entre 0.1 m y 0.2 m ya que en este punto la
concentraci´on es contante y positiva con un valor cercano a 1luego esta concentraci´on
baja a cero linealmente.
Con la entrega del presente se a˜nade un video en el que si visualiza que existe un
periodo corto de variaci´on hasta que finalmente la concentraci´on se estabiliza con un valor
de cero en todo el dominio, posiblemente este problema se refiere a las dos condiciones de
frontera con derivada, que en otras palabras nos dice que hay un flujo entrando y saliendo
del reactor.
Podemos concluir que el planteamiento del problema en sus condiciones esta da-
do para que la concentraci´on empiece negativamente, y que no es un problema que se
acerque a la realidad de lo que pueda suceder en la concentraci´on de un reactivo ya que
normalmente el comportamiento se debe parecer a un exponencial decreciente, indicando
que la concentraci´on disminuye gradualmente a medida que se pasa por el reactor, esta si
seria una soluci´on mas real al problema.
18. 2. Caso 2. Dise˜no ´optimo param´etrico de un resorte helicoidal
2.1. Enunciado
Se requiere dise˜nar un resorte helicoidal de compresi´on que deber´a estar some-
tido a una carga c´ıclica, de forma que cumpliendo con los requerimientos mec´anicos se
logre obtener una geometr´ıa que optimice la cantidad de material empleado, Una repre-
sentaci´on esquem´atica e indicaci´on de dimensiones gen´ericas se presenta en la figura a
continuaci´on.
Figura 10. Esquema de un resorte helicoidal.
De tal manera que se desea encontrar los valores ´optimos de los diferentes par´ame-
tros para que el resorte tenga, en cualquier caso, una masa m´ınima. Espec´ıficamente, se
desea conocer la sensibilidad del modelo de optimizaci´on para diferentes combinaciones
de esfuerzo cortante admisible y frecuencia de carga, para tres valores de carga diferentes.
Los valores cuyas combinaciones se desean explorar son:
Valores de esfuerzo cortante admisible (en ksi): τadm = 60, 65, 70, 75, 80, 85, 90,
95, 100
Valores de frecuencia de carga (en hz): ω0 = 80, 85, 90, 95, 100, 105, 110
Valores de frecuencia de carga (en lbf): P = 8, 12, 16
2.2. Consideraciones
Para una mayor comprensi´on del lector se especifica a continuaci´on la notaci´on
utilizada en esta secci´on del documento.
− P = Carga
− δ = Deformaci´on
− ∆ = Deformaci´on minima
− K = Constante de rigidez
− D = Di´ametro
− d = Di´ametro del alambre
− DExt = Di´ametro externo
− N = Numero de espiras activas
− Q = Numero de espiras inactivas
19. − τ= Esfuerzo cortante maximo
− τadm= Esfuerzo cortante admisible
− ω = Frecuencia natural
− ω0 = Frecuencia de carga
− G = Constante de rigidez del material
− ρ = Densidad del material
− M = Masa del resorte
− V = Volumen del resorte
2.2.1. Relaciones fundamentales
Las relaciones fundamentales para el dise˜no propuesto se resumen a continuaci´on
ley de hooke P= K · δ
Constante elestica K =
d4
G
8D3N
Esfuerzo cortante en un elemento circular curvo τ =
8kPD
πd3
Siendo k =
(4D − d)
(4D − 4d)
+
0,615d
D
Frecuencia natural ω =
d
2πD2N
G
2ρ
2.2.2. Requerimientos iniciales
Los valores de los requerimientos iniciales empleados en el dise˜no del resorte
helicoidal son:
− ∆ Deformaci´on minima = 0.5 in
− DExt Di´ametro externo = 1.5 in
− Q Numero de espiras inactivas = 2
− τadm Esfuerzo cortante admisible = 80 ksi
− ω0 Frecuencia de carga = 100 hz
− G Constante de rigidez del material = 1.15E7 psi
− ρ Densidad del material = 0.283 lb/in3
20. 2.3. Formulaci´on problema de optimizacion
Entendiendo que el requerimiento de dise˜no esta orientado a disminuir la masa del
resorte emplearemos la relaci´on de densidad con lo cual sabiendo que:
ρ =
M
V
donde
V =
πd2
4
(N + Q)πD
Con lo cual podemos decir que la relaci´on para calcular la masa para el resorte es
M = V ρ =
π2
d2
4
(N + Q)Dρ
siendo esta la funci´on objetivo en la formulaci´on de nuestro problema a minimizar
ahora tomando las relaciones anteriormente mencionadas en als consideraciones
de nuestro problema, realizamos la sustituci´on de la constante el´astica en la ley de hooke
con lo cual tendremos
∆ ≤
8PD3
N
d4G
para el esfuerzo cortante admisible tendremos
τadm ≥
8PD
πd3
(4D − d)
(4D − 4d)
+
0,615d
D
para la frecuencia de carga del resorte
ω0 ≤
d
2πD2N
G
2ρ
≤ 0
Como se ilustro en la figura 6 entendemos que el di´ametro externo para el resorte
es la suma del diametro medio de la espira y del diametro del alambre utilizado, lo cual
lo podemos reexpresar como:
DExt ≥ D + d
As´ı mismo se establecen un rango de valores para las dimensiones como el di´ame-
tro del alambre y diametro medio de la espira, esta condici´on puede estar dada por la dis-
ponibilidad de los materiales o referencia o la capacidad tecnologica para conformarlos,
asi pues esto condiciona la solucion de nuestro problema de dise˜no optimo a una region
limitada de valores dimensionales que podemos expresarlo de la siguiente manera:
21. dmin ≤ d ≤ dmax
Dmin ≤ D ≤ Dmax
Nmin ≤ N ≤ Nmax
Donde el diametro minimo del alambre empleado en el dise˜no del resorte sera de
0.05 in y podra tomar un valor maximo de 0.2 in , de manera similar el diametro medio
de la espira puede tener un valor minimo de 0.25 in y uno maximo de 1.3 in, en el caso
del numero de numero de espiras activas se podran utilizar minimo 2 espiras y un maximo
13 espiras en el dise˜no del resorte helicoidal.
una vez realizado este planteamiento podemos ver como el problema esta condi-
cionado a un conjunto de 10 restricciones de factibilidad o de des igualdad, dentro de las
cuales encontramos que tres de estas son restricciones no lineales, y que el conjunto de
variables que componen la formulacion las podemos clasificar de la siguiente manera:
Variables independientes D, d, N
Parametros P, DExt, Q, τadm, ω0, G, ρ, ∆
Variables dependientes M
Finalmente podremos podemos expresar nuestro problema de optimizacion de for-
ma est´andar con lo cual tendremos:
Funci´on Objetivo
MinM(d, D, N) =
π2
d2
4
(N + Q)Dρ (1)
Restricciones
R1 = 1 −
8PD3
N
∆d4G
≤ 0 (2)
R2 =
8PD
τadmπd3
(4D − d)
(4D − 4d)
+
0,615d
D
− 1 ≤ 0 (3)
R3 = 1 −
d
2πωD2N
G
2ρ
≤ 0 (4)
R4 =
D + d
DExt
− 1 ≤ 0 (5)
Dominio de las variables de dise˜no
22. 0,05 in ≤ d ≤ 0,2 in (6)
0,25 in ≤ D ≤ 1,3 in (7)
2 ≤ N ≤ 15 (8)
2.4. Implementacion computacional para la solucion
Para la solucion del problema de dise˜no optimo del resorte helicoidal, se utilizo
el software MATLAB, el cual ofrece una serie de funciones disponibles en el toolbox de
optimizacion, ajustandose a nuestro proposito se empleo la funcion fmincon, en donde
el prop´osito de esta funci´on es encontrar el m´ınimo del valor escalar que devuelve una
funci´on de varias variables no lineal y sujeta a una serie de restricciones, como lo es
nuestro caso.
En donde se definieron como variables de salida x = Masa del resorte [M] y junto
con este fval = vector con los valores de [N, D, d] numero de espiras, Di´ametro medio
de la espira y di´ametro del alambre.Adicionalmente la funci´on la variable exitflag nos
suministrara informaci´on acerca de la convergencia de esta funcion.
Exitflag > 0, indica que la funci´on converge en la soluci´on x.
Exitflag = 0, indica que se ha alcanzado el n´umero m´aximo de evaluaciones per-
mitidas a la funci´on f(x) o de iteracciones de la funci´on fmincon.
Exitflag < 0, indica que la funci´on no converge a una soluci´on.
As´ı mismo definimos la funci´on objetivo myfun expres´andola de la siguiente ma-
nera:
entendi´endose como
x =
x(1)
x(2)
x(3)
=
N
D
d
Ahora el conjunto de restricciones lo expresamos en la funci´on nonlcon de esta
manera:
23. como previamente se definieron el conjunto de restricciones ahora definimos un
vector que contenga los limites inferiores[lb] y superiores[ub] para cada variables, esta-
bleciendo as´ı una regi´on factible de dise˜no para el resorte, as´ı mismo la funci´on a imple-
mentar requiere que sea definido valor de inicio [x0] o punto de partida partida para las
variables [N, D, d].
Para realizar el an´alisis se utilizo el conjunto de valores definidos anteriormente
para esfuerzo cortante admisible, frecuencia de carga y la carga m´axima aplicada.
2.5. An´alisis de resultados
a continuaci´on se exponen los resultados obtenidos de la variaci´on de cada uno de
los par´ametros del modelo respecto a la masa, siendo este el objetivo del dise˜no optimo
para el resorte.
Figura 11. segmento resultados con valor at´ıpico
al revisara lo valores obtenidos para cada una de las combinaciones de par´ametros
encontramos que para el caso de una carga de 8 lb con una frecuencia de aplicaci´on de la
24. carga de 80 hz y un esfuerzo cortante admisible de 100 ksi, vemos como rompe la clara
tendencia a disminuir el valores de el numero de espiras la masa del resorte, y lo que al
parecer era un valor constante para el di´ametro del alambre.
siendo este el ´unico valor at´ıpico en todas las combinaciones posibles ya que ve-
mos como permanece constante el valor de la masa con el cambio de par´ametro de la
frecuencia, donde este valor cambia para los diferentes valores de carga y repiti´endose
con cada variaci´on del cortante admisible
a continuaci´on tenemos las gr´aficas obtenidas y sus respectivo an´alisis para esta-
blecer la relaci´on en la variaci´on de la masa respecto a ala combinaci´on de cada uno de
los par´ametros posibles.
Figura 12. Gr´afica esfuerzo cortante vs. masa del resorte
En la figura 12 se expone la relaci´on del esfuerzo cortante junto con la masa m´ıni-
ma que se puede obtener sujeto unas condiciones de carga dadas, podemos ver como esta
tiene un comportamiento decreciente para el rango de par´ametros establecido de esfuer-
zo cortante admisible para los tres valores de carga, de igual manera esta nos indica una
relaci´on inversamente proporcional para para la magnitud de la masa en relaci´on con el
esfuerzo cortante admisible.
25. Figura 13. Gr´afica de frecuencia de carga vs. masa del resorte, a esfuerzo cortante admisible cons-
tante [60 ksi]
La figura 13 nos muestra el comportamiento de la masa en relaci´on con la frecuen-
cia de aplicaci´on de la carga, con un par´ametro de esfuerzo cortante admisible constante
de 60 ksi, en la cual encontramos que la masa permanece constante en relaci´on a la va-
riaci´on de la frecuencia con la cual se le aplicara la carga al resorte helicoidal,
Figura 14. Gr´afica di´ametro del alambre vs. masa del resorte
En la figura 14 nos muestra lo valores que toma la masa en relaci´on con el dia-
metro del alambre, podemos ver claramente como act´ua la restricci´on del dominio para
el di´ametro del alambre en el limite inferior y de esta manera para el caso en particular
de la carga de 8 lbf para todos las posibles variaciones de esfuerzo cortante admisible la
26. condici´on mas optima para el dise˜no del resorte es utilizar un alambre de 0.05 in, tambi´en
podemos ver como con una mayor asignaci´on de carga al resorte es necesario incrementar
el di´ametro del alambre y por tal raz´on la masa del resorte incrementa,
Figura 15. Gr´afica numero de espiras vs. masa del resorte
En la figura 15 tenemos la relaci´on del numero de espiras activas con la masa,
como es de esperarse a mayor numero de espiras incrementa la masa del resorte para las
tres condiciones de carga dadas,por otra parte de como en el caso del limite inferior para
el di´ametro del alambre de la figura 13, en este caso podemos ver como como act´ua el
limite superior impuesto para el numero de espiras activas, para los valores de carga de
16 y 12 lbf, as´ı mismo para estos valores de carga tenemos que el valor de masa presenta
mayores variaciones, como es en el caso de 16 lbf esta presenta una variaci´on entre 0.07
lb y 0.18 lb, en comparaci´on con la carga de 8 lbf en donde la magnitud de la masa toma
valores aproximados entre 0.05 lb hasta 0.09 lb. siendo esta dos condiciones de carga la
que nos muestran el valor m´aximo[0.018 lb] y m´ınimo [0.018 lb] global que puede tomar
la masa sujeta a ese conjunto de restricciones.
En relaci´on con el di´ametro medio de la espira del resorte junto con el valor de
la masa representado en la figura 16 nuevamente se muestran cada uno de los valores
de carga en todos las combinaciones posibles para lo casos de variaci´on de frecuencia
y cortante admisible, donde nuevamente al igual que en el numero de espiras, la menor
variaci´on en la magnitud de la masa se presenta cuando se tiene una carga m´axima de
8 lfb, en al cual nuevamente se muestran valores aproximados entre 0.05 lb hasta 0.09
lb, as´ı mismo la mayor variaci´on en la magnitud de la masa se tiene cuando se aplica la
carga mayor en este caso de 16 lbf con una variaci´on entre 0.07 lb y 0.18 lb, con limites
globales para la magnitud de la masa de m´aximo[0.018 lb] y m´ınimo [0.018 lb].
27. Figura 16. Gr´afica di´ametro medio de la espira vs. masa del resorte
En t´erminos generales vemos que la mayor variaci´on de la masa del resorte se
presenta cuando aplicamos una carga m´axima de 16 lbf y la menor en aplicaci´on de carga
de magnitud 8 lbf, con lo cual podemos afirmar que existe una relaci´on directamente
proporcional entre la magnitud de la carga m´axima aplicada y la variaci´on esperada en la
masa del resorte obtenida en el proceso de dise˜no optimo.
28. 3. Caso 3. Introducci´on a T´ecnicas de Simulaci´on de Sistemas de Eventos
Discretos
Los eventos discretos tienen una particularidad respecto a los sistemas de tiempo
discretos, y es que en los dos se considera que las variables del modelos tiene cambios en
el trascurso de tiempo, y lo que los diferencia es que para tiempos discretos el tiempo de
cambio de las variables es el mismo para cada cambio, es decir el intervalos de tiempo de
cambio de cada variables es el mismo en la l´ınea de tiempo mientras que en los sistema de
eventos discretos este intervalo de tiempo no es el mismo, estos desde que en un tiempo
finito se tenga un numero finito de eventos, aspecto que pone una mayor dificultad en el
an´alisis de estos tipos de sistemas.
La forma de desarrollar estos tipos de sistemas es realizando una serie de registros
de los eventos que se presentan y guardando el instante de activaci´on de los eventos.En
la siguiente imagen (fig. 1 se presenta la calificaci´on de los sistemas, en la parte inferior
derecha se observa la clasificaci´on que posee los sistemas de eventos discretos.
Figura 17. Clasificaci´on de sistemas de eventos discretos.
Podemos tener como ejemplos de sistemas de eventos discretos sistemas de fabri-
caci´on, el an´alisis de las redes de trafico en una ciudad o de sistemas de servicio.
Un claro ejemplo concreto es el de una maquina dispensadora de gaseosas por
un valor de 900 pesos la lata y solo recibe monedas de 200 y de 500 y si no se le da el
valor exacto rechaza las monedas, si se implementa la l´ogica del problema tendr´ıamos el
siguiente gr´afico:
29. Figura 18. Modelo l´ogico del ejemplo de las lastas de gaseosa.
Pasando esto a un lenguaje de programaci´on se tendr´ıa el desarrollo que se pre-
senta en la figura 11.
Figura 19. Ejemplo maquina de latas de gaseosa en lenguaje de programaci´on java.
Este ejemplo de la lastas de gaseosa aunque es claro y f´acil de entender no se
aproxima a un ejemplo real del que se tenga que dar una soluci´on ya que como se sabe
este tipo de maquinas existen hace bastante tiempo y sus sistemas no son tan restrictivos
como se describe en este ejemplo.
Un segundo ejemplo mas real esta ligado a un sem´aforo que tiene su luz verde
encendida inicialmente por 45 segundos y cambia luego a amarillo por 45 segundos y
luego pasa a rojo durante 55 segundos y se repite ese ciclo, el an´alisis de este problema
se puede desarrollar de dos formas diferentes, si primero modelamos el comportamiento
del sem´aforo tendr´ıamos algo como se observa en la siguiente figura:
30. Figura 20. Comportamiento de el sem´aforo del segundo ejemplo.
La primera forma de desarrollar el problema es observando el ciclo de cada una
de las luces y pensar en la correcci´on del ciclo si este no se cumple o tambi´en se puede
hacer por tiempo en el cual se eval´ua el tiempo de duraci´on de cada luz y se hace una
correcci´on cronometrada todo esto teniendo en cuenta los retrasos acumulados de cada
luz, esta ultima forma de soluci´on es mas compleja que la primera.
Figura 21. Modelo l´ogico de las dos posibles soluciones del ejemplo del sem´aforo.
En lenguaje de programaci´on se tendr´ıa el siguiente desarrollo
Figura 22. Ejemplo sem´aforo en lenguaje de programaci´on CD++.
3.1. Clasificaci´on de las t´ecnicas de modelado
3.1.1. Modelado conceptual
Esta primera clasificaci´on se basa en crear de forma informal un modelo del pro-
blema a solucionar que es mas f´acil de entender y describe de mejor manera lo general
que se va a modelar.
31. 3.1.2. Modelado declarativo
Este segundo tipo se centra en la representaci´on de los estados y de las transiciones
de estos; de esta manera se puede observar mejor el desarrollo de cada una de las entidades
de estudio. en la figura 15 vemos la representaci´on por este modelo donde los arcos son
las transiciones y los v´ertices son los estados.
Figura 23. Modelado declarativo.
3.1.3. Modelado funcional
En este tipo de modelado el sistema se define como una caja negra donde solo se
tiene una se˜nal de entrada y una de salida, este salida depende de la funci´on interna y si
el modelo en continuo o discreto.
3.2. Metodolog´ıa de simulaci´on de EDS
Estas t´ecnicas son recientes ya que el estudio de este tipo de sistemas se puede
decir que es mas prematuro que para otros casos. En la figura 15 se representa un mode-
lado declarativo, este mismo tipo de gr´afico es tambi´en llamado aut´omata, esto acepta o
rechaza las entradas de acuerdo a su transici´on y dependiendo del estado final el aut´omata
aceptara la entrada, en la figura 16 se observa un sistema aut´omata con entrada con estado
inicial 1 y estado final 2
Figura 24. Modelado declarativo.
32. 3.2.1. Rutinas de eventos
Es un conjunto de acciones llamadas por el inicio de un evento, esta lo que hacen
es que describen el sistema en movimiento o din´amico
3.2.2. Trayectoria de un modelo de simulaci´on
La trayectoria de un modelo es el que realiza un modelo simulado, en la siguiente
figura por ejemplo se muestra la trayectoria de un moldeo ejecutado, de igual manera para
realizar la din´amica del modelo se necesita de un modelado de eventos futuros los cuales
deben estar programados para ocurrir, dichos eventos entre mas cercano este se llama
evento pr´oximo.
Figura 25. Simulaci´on de la trayectoria de un modelo.
3.2.3. Pasos b´asicos requeridos para una simulaci´on de eventos discretos.
Los pasos que se deben llevar a cabo para la simulaci´on de este tipo de eventos
son:
Inicio.
Procesamiento de eventos.
Recuperaci´on del evento
Este proceso de simulaci´on manual puede representarse en un diagrama de flujo
como se presenta en la siguiente figura donde se observa claramente el inicio, el procesa-
miento de eventos y la recuperaci´on del evento.
33. Figura 26. Diagrama de flujo del proceso de simulaci´on.
3.3. M´etodos de Simulaci´on de Monte Carlo
El m´etodo de Monte Carlo es un m´etodo num´erico que nos permite simular even-
tos f´ısicos y tambi´en matem´aticos por medio de variables aleatorias, se utilizo para reali-
zar la integraci´on num´erica de integrales de alta dificultad que algunas veces surgen en el
desarrollo de problemas en la ingenier´ıa y las ciencias.
La utilizaci´on de este m´etodo tiene como base la existencia de problemas que tie-
ne un alto nivel de dificultad en la soluci´on anal´ıtica o num´erica y cuando estos dependen
de factores aleatorios que acomplejan aun mas la soluci´on del problema. Es bastante uti-
lizado para mostrar el impacto del riesgo y la incertidumbre en las ´areas financieras de las
empresas y en el desarrollo de proyectos.
3.4. Ejemplo de un evento discreto.
En este ejemplo de evento discreto se propone una difusi´on y agregaci´on limita-
da, que es un proceso que oCurre en modelo qu´ımicos, este fen´omeno ocurre cuando la
semillas se adhieren a otra y va formando un mas grande, este crecimiento normalmente
es irregular, la difusi´on en este evento se ve como un movimiento aleatorio si se tiene en
cuenta la direcci´on del movimiento, inicialmente el sistema unas celdas est´an ocupadas
por las part´ıculas o semillas m´oviles, para el desarrollo se tienen los siguientes par´ame-
tros:
Una part´ıcula puede moverse en direcci´on sur (S), norte (N), este (E) u oeste (W).
Una part´ıcula se convierte fixed si una celda adyacente contiene part´ıculas fixed.
Se ocupar´a una celda vac´ıa si hay al menos una part´ıcula m´ovil intentando mudar-
se, y no hay semilla adyacente a la part´ıcula m´ovil.
Si hay m´as de una part´ıcula movi´endose hacia la misma celda vac´ıa, la direcci´on
de movimiento se usa como prioridad.
Una part´ıcula m´ovil que no se puede mover seleccionar´a una nueva direcci´on al
azar.
Una part´ıcula m´ovil desaparece si se aleja demasiado del centro.
En nuestra implementaci´on, una celda con un valor de 0 est´a vac´ıa, los valores
de 1 a 4 representan una part´ıcula m´ovil y su direcci´on de movimiento, y 5 indica una
34. semilla. Cuando una celda est´a vac´ıa, verifica si hay cualquier part´ıcula m´ovil que desee
moverse a esa celda. Tal part´ıcula m´ovil puede moverse solo si no tiene ninguna semilla
adyacente, de la siguiente manera:
Figura 27. Simulaci´on de la trayectoria de un modelo.
La primera condici´on en esta regla busca celdas vac´ıas. Luego verificamos la celda
a la N, para ver si la part´ıcula quiere mover S (mientras verifica que no est´e junto a una
semilla). El restante de las condiciones comprueban las celdas en S, E y W de forma
similar. Si cualquiera de estas condiciones se cumple, el siguiente paso se elige al azar.
Las siguientes reglas ilustran c´omo resolver conflictos para una part´ıcula que se
est´a intentando mover a una celda arriba. Una part´ıcula m´ovil con direcci´on de movimien-
to 1 (arriba) puede moverse a una celda vac´ıa de arriba si no hay ninguna otra part´ıcula
m´ovil que intenta moverse:
Figura 28. Simulaci´on del ejemplo en CD++.
La primera regla verifica si la celda se est´a moviendo hacia N y si la celda est´a
ocupada. En este caso, la direcci´on se elige al azar. La segunda regla verifica si la celda del
N est´a vac´ıa, en este caso, primero verificamos si la segunda celda del N desea moverse
a la misma celda (si la celda no est´a rodeado de semillas). Se realizan controles similares
en las celdas de S, E y W. Cada vez que una part´ıcula m´ovil se encuentra en una celda
con cualquier part´ıcula fixed adyacente a ella, se convierte en fixed.
Figura 29. Simulaci´on del ejemplo en CD++.
35. Figura 30. Simulaci´on del ejemplo en CD++.
3.5. Ejemplo de un evento discreto.
en este segundo ejemplo vamos a ver otra utilidad que tiene la simulacion de
eventos discretos por medio de un software llamado Arena, este programa ayuda a rea-
lizar simulaciones por medio de diagrama de bloques de procesos de una empresa o de
atencio a usuarios para un determinado servicio, para nuestros ejemplos vamos a realizar
la simulacion de un gasolinera de acuerdo a unos tiempo promedios de despachado.
3.5.1. Problema
La gasolineria Terperl S.A pide realizar un toma de datos de los tiempos de des-
pacho en una de sus principales gasolinerias de Bogot`a, ya que ha notado que ha bajado
su nivel de ganancias otorgadas y quiere saber si el problema est`a en el tiempo de aten-
cion a los usuarios, para esto requiere simular de acuerdo a los tiempo tomados, 1 hora de
trabajo de la gasolinera.
Tiempo promedio de despacho de gasolina extra = 44 s.
Tiempo promedio de despacho de gasolina super = 58 s.
Tiempo promedio de despacho de gasolina diesel = 45 s.
Tiempo de llegada = 58 s.
Se realizo el montaje sobre el software Arena tal como se observa en la siguien-
te figura y sobre cada proceso se inicializo en los datos otorgados en cada procesos de
acuerdo a la gasolina que cada usuario le puso a su coche.
36. Figura 31. Diagrama de bloques en Arena para el ejemplo de la gasolinera.
En la figura 25 se observa el diagrama de bloques que representa el problema a
solucionar, tenemos un bloque de llegada en el cual se consideran los 58 segundos de
acuerdo a los datos tomados (figura 26), luego un bloque de decisi´on donde el usuario
elige el tipo de combustible que utiliza en su coche, ya sea, diesel, extra o super, para esto
se da un porcentaje de decisi´on para cada uno de las tres opciones, para este caso se da
un 40 % a la gasolina extra, un 20 % a la super y el restante (40 %) al diesel tal como se
observa en la figura 27.
Figura 32. Cuadro de setup del bloque de inicio.
Figura 33. Cuadro del setup del bloque de decisi´on con los porcentajes para cada opci´on.
Luego tenemos los bloques de las tres opciones, extra, super y diesel, en este blo-
que con el cuadro del setup (figura 28) determinamos el tiempo de duraci´on de cada uno
de los autos de acuerdo a su elecci´on, todo esto con los datos iniciales; finalmente tenemos
el cuadro de salida que no requiere de ning´un acondicionamiento para el funcionamiento
de la simulaci´on.
37. Figura 34. Cuadro del setup de una de las opciones (extra, super o diesel.)
Luego de la simulaci´on, que se programo para que se hiciera de una hora, tenemos
que el programa nos arroja un informe con una serie de datos importantes (Anexo 1), entre
estos esta el tiempo promedio de atenci´on de los clientes que es de 52 segundos.
Tambi´en tenemos el tiempo de espera en cada opci´on donde podemos concluir
que el mayor tiempo de espera lo tienen el despachador de diesel, ya que tiene tiene un
tiempo de 0.011 segundos que es relativamente alto en comparaci´on con los otros dos
tiempos que que son de 0.004 y 0.0009 segundos para el extra y el super respectivamente,
de esto podemos concluir que siendo el diesel un combustible utilizado para medios de
trasporte publico o de trabajo se necesita minimizar este tiempo de espera ya que este
tipo de usuario tiene que cumplir muchas veces algunos tiempos en sus recorridos y una
espera mayor no le va a beneficiar lo que hace que prefieran asistir a otra gasolinera donde
el despacho sea mas r´apido.
otro dato relevante es el tiempo de utilizaci´on de cada estaci´on, de acuerdo a su es-
pecialidad de combustible (extra, super o diesel) de acuerdo a la siguiente gr´afica tenemos
que el promedio de utilizaci´on de cada estaci´on es el siguiente:
Figura 35. Gr´afico de tiempo de espera de utilizaci´on de cada estaci´on
Se puede concluir que de la misma manera como la estaci´on diesel es la que m´as
tiempo de espera requiere, de igual manera es la que m´as tiempo dura en su utilizaci´on,
adema de esto tambi´en podemos concluir que la mayor´ıa de personas que ingresan a la ga-
solinera van por combustible diesel (figura 34) y que esto tiempos de espera y de servicio
38. mayores deber´ıan mitigarse con una segunda estaci´on de diesel dentro de la gasolinera.
Figura 36. Gr´afico numero de servicios en una hora para cada estaci´on
3.5.2. Comentarios finales
La simulaci´on de eventos discretos es un tema muy amplio y que es relativamente
nuevo si se considera respecto a otro tipo de simulaciones continuas, ademas de esto es
muy utilizado en el desarrollo de procesos en la industria o en la atenci´on de servicios en
una empresa ya que se puede analizar los tiempos de cada actividad y poder determinar
los puntos cr´ıticos para mejorar o el proceso o el servicio.
En cuanto a otras aplicaciones tenemos algunas mas complejas como la simula-
ci´on de procesos qu´ımicos (ejemplo 1) o f´ısicos. En todos los casos nos encontramos con
procesos que no tienen un comportamiento especifico en el tiempo, sino muy por el con-
trario se tienen diferecias de tiempo entre estados del procesos o donde un estado depende
de otra variable y esta a su vez depende de un estado anterior.
Referencias
Facultad de ingenier´ıa - Universidad Nacional de La Plata (1992). APUN-
TES DE : ”DISE ˜NO DE LINEAS ELECTRICAS”. [online] Available at:
https://catedra.ing.unlp.edu.ar/electrotecnia/sispot/Libros202007/le-index.htm [Accessed
26 Mar. 2018].
Gavil´an, M. E. (2006). AN ´ALISIS DEL MOVIMIENTO DE UN COHETE PRO-
PULSADO POR AGUA. Revista Colombiana de F´ısica, 38(1).
Villar, J. I. (2014). C´alculo y dise˜no de cohetes de agua como proyecto did´actico
integrador en mec´anica de los fluidos. In III Congreso Argentino de Ingenier´ıa Aeron´auti-
ca (CAIA 3)(La Plata 2014).
Hern´andez, P. A. Q. (2008). M´etodos de soluci´on de ecuaciones diferenciales y
aplicaciones. Revert´e.
Gershenfeld, N. A. (1999). The nature of mathematical modeling. Cambridge uni-
versity press.
Ogata, K. (2003). Ingenier´ıa de control moderna. Pearson Educaci´on.
Sofia Carlos Alberola, Sergio Gallardo Bermell, Sebasti´an Martorell Alsina
(2013), Modelos compartimentales para el c´alculo de dosis interna.
39. Mar´ıa Jos´e Garc´ıa Mesenguer (1997), An´alisis cin´etico de los sistemas lineales de
compartimentos: aplicaci´on a la evaluaci´on de par´ametros medios.
Byoung Kyu Choi, Donghun Kang (2013), Modeling and simulation of discrete-
event system.
Gabriel A. Wainer (2009), Discrete-event modeling and simulation.