Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Scilab ................................................................................................................................................... 2
Mtodos numricos ........................................................................................................................ 2
Asignatura: Operaciones Unitarias I.............................................................................................. 17
Problema del clculo del dimetro de tubera .......................................................................... 20
Asignatura: Termodinamica Quimica I .......................................................................................... 35
Problemas del calculo del volumen molar en ecuaciones cbicas de estado, utilizando
parmetros de la ecuacin de Van der Waals, Redlich-Kwong, Soave-Redlich-Kwong, Peng-
Robinson; y del calculo del volumen molar mediante la ecuacin de Kammerlingh-Onnes y las
correlaciones para el segundo y el tercer coeficientes del virial. ............................................. 35
Asignatura: Termodinamica Quimica II ......................................................................................... 50
Problema del calculo de la entalpa, entropa y energa de Gibbs residual de un gas puro,
mediante la ecuacin cbica genrica. ..................................................................................... 50
Composicin de equilibrio en reacciones para mezclas de gases ideales. ............................... 62
Python ............................................................................................................................................... 83
Metodos Numericos ...................................................................................................................... 83
Asignatura: Operaciones Unitarias I.............................................................................................. 97
Problema del clculo del dimetro de tubera ........................................................................ 100
Problema del clculo del flujo volumtrico a travs de una tubera ...................................... 104
Problema del clculo de los flujos volumtricos a travs de tuberas en paralelo ................. 110
Asignatura: Termodinamica Quimica I ........................................................................................ 116
Problemas del calculo del volumen molar en ecuaciones cbicas de estado, utilizando
parmetros de la ecuacin de Van der Waals, Redlich-Kwong, Soave-Redlich-Kwong, Peng-
Robinson; y del calculo del volumen molar mediante la ecuacin de Kammerlingh-Onnes y las
correlaciones para el segundo y el tercer coeficientes del virial. ........................................... 116
Asignatura: Termodinamica Quimica II ....................................................................................... 131
Problema del calculo de la entalpa, entropa y energa de Gibbs residual de un gas puro,
mediante la ecuacin cbica genrica. ................................................................................... 131
Composicin de equilibrio en reacciones para mezclas de gases ideales. ............................. 143
Scilab
Mtodos numricos
Programa RomberT
Extrae el primer valor de la lista lfun_pri y asigna el resultado a fun (de izquierda a derecha)
Extrae el segundo valor de la lista y asigna el resultado a lfun_sec
Extrae el tercer valor de la lista y asigna el resultado a pathDir
Asigna a x el valor de a
Evala fun, utilizando como parmetros x, lfun_sec, numc y pathDir y asigna el resultado a
suma
END FOR
Evala fun, utilizando como parmetros b, lfun_sec, numc y pathDir, suma el resultado a
suma y asigna el resultado a suma.
Multiplica suma por h, divdelo por 2, y asigna el resultado a res
Devuelve res
END FUNCTION
Evala la funcin TrapEq, utilizando como parmetros nit, numc, a, b y lfun, y asigna el
resultado a la celda de I en la fila iter + 1, columna 1.
END FOR
Calcula el error porcentual entre los valores de las celdas de I en la fila 1, columna iter +
1 y en la fila 1, columna iter, y asigna el resultado a ea.
END WHILE
Devuelve res
END FUNCTION
Programa rootBracket_3p3
Establece que el signo de fxl y el signo de fxu, son distintos y almacena el resultado en done
IF done no es cierto
IF el ABS(fxu) es mayor que ABS(fxl)
Asigna h a h
Asigna xl a xu
Guarda fxl en fxu
END IF
END IF
IF xu es menor que 0
Asigna el valor de 0 a xu
ELSEIF xl es menor que 0
Asigna el valor de 0 a xl
END IF
Devuelve xl y xu
END FUNCTION
IF err es distinto de 0
Lanza un mensaje de error
END IF
Devuelve y
END FUNCTION
Programa rootNewton.sci
Divide fx0 entre fpv, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv y guarda el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Agrega iterv como primer elemento de vi
Evala rootNewton_cubic2_evalf, utilizando como parmetros a f, param, y x
asigna el resultado a fr; Agrega fr como elemento de f_x
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Agrega 0 como elemento de ve
END IF
WHILE la ABS(diferencia entre r y x) sea mayor que tol AND iterv sea menor o igual que imax
Asigna el valor de r a x
Evala rootNewton_cubic2_evalf, utilizando como parmetros a f, param, y x, y
asigna el resultado a fr
Divide fr entre fpv, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv y guarda el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Extrae el elemento nmero iterv 1 de vx y lo almacena en rv
Agrega iterv como primer elemento de vi
Agrega fr como elemento de f_x
IF rv es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Extrae el elemento nmero iterv 1 de ve y lo almacena como el siguiente elemento de
ve
END IF
END WHILE
IF store es igual a %T
Crea una matriz con un nmero de filas igual a iterv y 4 columnas, y asigna el resultado
a vm
Asigna a la primera columna de vm, los elementos de vi
Asigna a la segunda columna de vm, los elementos de vx
Asigna a la tercera columna de vm, los elementos de f_x
Asigna a la cuarta columna de vm, los elementos de v_e
ELSE
Agrupa en un vector el ltimo valor de iterv (de izquierda a derecha), el ltimo valor de vx,
el ltimo valor de f_x, y el ltimo valor de ve, y asigna el resultado a vm (vector no matriz)
END IF
Devuelve vm
END FUNCTION
FUNCTION rootNewton_cubic2_evalf(f, param, x)
IF param es distinto de 0
Crea una cadena de caracteres donde se evala f, utilizando como parmetros a x, y los
elementos del segundo en delante de param, y asigna el
resultado a y
ELSE
Lanza un mensaje de error
END
IF err es distinto de 0
Lanza un mensaje de error
END
Devuelve y
END FUNCTION
Programa rootRegulaFA2p2.sci
ELSE
Asigna x a xl
Asigna x a xu
END IF
WHILE ABS(la diferencia de xu xl dividida por 2) es mayor que tol AND iterv es menor que
imax
ELSE
Asigna x a xl
Asigna x a xu
END IF
IF store es igual a %T
Crea una matriz con un nmero de filas igual a iterv y 4 columnas, y asigna el resultado
a vm
Asigna a la primera columna de vm, los elementos de vi
Asigna a la segunda columna de vm, los elementos de vx
Asigna a la tercera columna de vm, los elementos de f_x
Asigna a la cuarta columna de vm, los elementos de v_e
ELSE
Agrupa en un vector el valor de iterv (de izquierda a derecha) correspondiente al ltimo
valor de vx, el ltimo valor de f_x, y el ltimo valor de ve, y asigna el resultado a vm (vector
no matriz)
END IF
Devuelve vm
END FUNCTION
IF param es distinto de 0
Crea una cadena de caracteres donde se evala fun, utilizando como parmetros a x y
param, y asigna el resultado a y
IF err es distinto de 0
Lanza un mensaje de error
END
END FUNCTION
Programa rootRegulaFA_mod.sci
ELSE
Asigna x a xl
Asigna x a xu
END IF
Asigna 1 a op
WHILE op es igual a 1
Calcula x, utilizando a xl, xu, fxl y fxu y asigna el resultado a r
Asigna fx a fxw
Evala rootRegulaFA_mod_evalf, utilizando como parmetros a fun, param y x, y
asigna el resultado a fx
IF iu es mayor o igual a 2
Divide fxu entre 2 y asigna el resultado a fxu
END
IF il es mayor o igual a 2
Divide fxl entre 2 y asigna el resultado a fxl
END
ELSE
Asigna x a xl
Asigna x a xu
END IF
END WHILE
IF store es igual a %T
Crea una matriz con un nmero de filas igual a iterv y 4 columnas, y asigna el resultado
a vm
Asigna a la primera columna de vm, los elementos de vi
Asigna a la segunda columna de vm, los elementos de vx
Asigna a la tercera columna de vm, los elementos de f_x
Asigna a la cuarta columna de vm, los elementos de v_e
ELSE
Agrupa en un vector el valor de iterv (de izquierda a derecha) correspondiente al ltimo
valor de vx, el ltimo valor de f_x, y el ltimo valor de ve, y asigna el resultado a vm (vector
no matriz)
END IF
Devuelve vm
END FUNCTION
IF param es distinto de 0
Crea una cadena de caracteres donde se evala fun, utilizando como parmetros a x
y param, y asigna el resultado a y
ELSE
Lanza un mensaje de error
END
IF err es distinto de 0
Lanza un mensaje de error
END
END FUNCTION
Programa rootSecantePlus2Ap3.sci
Asigna 0.001 a h
Utilizando x como valor central y h como paso o espaciamiento entre cada elemento, crea un
vector con cinco elementos, y asigna el resultado xv.
Asigna 1 a i
Devuelve fun
END FUNCTION
Evala fp, utilizando como parmetros a fun, x0 y param, y asigna el resultado a fx_p
Agrega fx a f_x
Asigna x0 a x
Divide fx entre fx_p, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv y guarda el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Agrega el actual valor de iterv como nuevo elemento de vi
Evala rootSecantePlus3A_evalf, utilizando como parmetros a fun, r y param, y asigna
el resultado a fx;
Evala fx_p, utilizando como parmetros a fun, r y param, y asigna el resultado a fx_p
Agrega fx como elemento de f_x
IF r es menor que 0
Asigna 0 a r
END IF
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Agrega 0 como elemento de ve
END IF
Asigna 1 a op
WHILE op es igual a 1
Asigna r a x
Divide fx entre fx_p, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv, y asigna el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Extrae el elemento nmero iterv 1 de vx y lo almacena en rv
Suma 1 a iterv y agrega el resultado a vi
Asigna fx a fxw
Evala rootSecantePlus3A_evalf, utilizando como parmetros a fun, r y param, y asigna el
resultado a fx
Evala fp, utilizando como parmetros a fun, r y param, y asigna el resultado a fx_p
Agrega fx como elemento de f_x
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Agrega el elemento nmero iterv 1 de ve como nuevo elemento de ve
END IF
IF la diferencia r x es real
IF ABS(r x) es menor que tol
Calcula ABS(la diferencia de fxw fx), y asigna el resultado a dif_fx
IF store es igual a %T
Asigna a la primera columna de vm, los elementos de vi
Asigna a la segunda columna de vm, los elementos de vx
Asigna a la tercera columna de vm, los elementos de f_x
Asigna a la cuarta columna de vm, los elementos de v_e
ELSE
Agrupa en un vector el ltimo valor de iterv (de izquierda a derecha), el ltimo valor de vx,
el ltimo valor de f_x, y el ltimo valor de ve, y asigna el resultado a vm (vector no matriz)
END IF
Devuelve vm
END FUNCTION
FUNCTION rootSecantePlus3A_evalf(fun, x, param)
IF param es distinto a 0
Crea una cadena de caracteres donde se evala fun, utilizando como parmetros a x, y
param, y asigna el resultado a y
ELSE
Lanza un mensaje de error
END
IF err es distinto de 0
Lanza un mensaje de error
END
END FUNCTION
Asignatura: Operaciones Unitarias I
Programa f_fric.sce
FUNCTION FD_flujo_laminar(Re)
END FUNCTION
Utilizando la ecuacin de Von Karmn, D y rug, calcula el factor de friccin para fluidos en
rgimen turbulento a travs de tuberas rugosas, y asigna el resultado a fd
Devuelve fd
END FUNCTION
Devuelve una expresin basada en la ecuacin de Colebrook, que utiliza un valor inicial de f,
rug, Re y D. Para obtener f, esta expresin debe ser utilizada en conjunto con un mtodo de
resolucin de ecuaciones no lineales, como el mtodo de la secante
END FUNCTION
END FUNCTION
FUNCTION vel(Q, D)
Eleva D al cuadrado, esto lo multiplica por PI, luego divide 4 * Q por el resultado
anterior, y lo asigna a v.
Devuelve v
END FUNCTION
FUNCTION Q_calc(veloc, D)
Eleva D al cuadrado, esto lo multiplica por 0.25 * PI * veloc, y asigna el resultado a q
Devuelve q
END FUNCTION
IF oph es igual a 2
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
Divide visd por ro, y asigna el resultado a vis_c
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
Divide visd por ro, y asigna el resultado a vis_c
IF Re es menor de 2300
Evala FD_flujo_laminar, utilizando como parmetro a Re, y el resultado lo asigna a f1D.
Devuelve f1D
Programa D_TS_calc.py
IF op es diferente de None
Asigna el primer elemento de op a oph; Asigna el segundo elemento de op a opv
IF oph es igual a 2
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
END IF
IF opv es igual a 2
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a vis_c
END IF
END IF
Evala la funcin calc_fdarcy_col, utilizando como parmetros a parRe, Q, D, rug, dir1, y op, y
asigna el resultado a f1D.
Evala la funcin vel, utilizando como parmetros a Q y D, y asignando el resultado a v2
Utilizando el balance general de energa mecnica, un valor inicial de D y las variables f1D, L,
v2, construye una expresin a ser resuelta junto con un mtodo de resolucin de ecuaciones
no lineales, como el mtodo de la secante.
END FUNCTION
FUNCTION calc_DTs(hDar, parRe, L, Q, rug, g, dir1, op)
Asigna 20 a imax
Agrupa a parRe, L, par_calcd, Q, rug, g, dir1 y op en un vector y asigna el resultado a
param_hDar
Asigna 2.54E-2 a D0
Evala rootSecantePlus2A, utilizando como parmetros a D0, D_fun, param_hDar, tol =
0.001, imax, store = %T, y asigna el resultado a vri
Devuelve vri
END FUNCTION
Programa Prin_2_D_c.sce
IF hay disponibilidad del valor equivalente en metros de las prdidas del sistema
Asigna 9.8 a g
Evala la funcin calc_DTs, utilizando como parmetros a prop_fl, parRe, L, Q, rug, g, dir1 y op,
y asigna el resultado a vri
Calcula el nmero de filas y columnas de vri, y asigna el resultado a s1;
IF la longitud de s1 es igual a 1
Extrae el segundo elemento del vector vri, y asigna el resultado a D
Programa Fl_vol_TubS_calc.sce
IF la longidud de op es igual a 2
Asigna el primer elemento de op a oph; Asigna el segundo elemento de op a opv
IF oph es igual a 2
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
IF opv es igual a 2
Asigna el primer elemento de parRe a ro
END
Calcula el valor equivalente en metros de las prdidas del sistema, utilizando p1, p2, z1,
z2, ro y el balance general de energa mecnica, y asigna el resultado a hDar
ELSEIF oph es igual a 1
Asigna par_calcd a hDar
END IF
END IF
Utilizando las ecuaciones para perdidas primarias y secundarias, un valor inicial de v2 y las
variables f1D, L y D, construye una expresin a ser resuelta junto con un mtodo de
resolucin de ecuaciones no lineales, como el mtodo de la secante.
END FUNCTION
IF la longitud de op es igual a 2
Asigna el primer elemento de op a oph; Asigna el segundo elemento de op a opv
IF oph es igual a 2
IF z1 es mayor que z2
Estima un valor inicial de v2, utilizando z1 y z2 y asigna el resultado a v20
END IF
Devuelve vri
END FUNCTION
Programa Prin2_fl_vol.sce
IF hay disponibilidad del valor equivalente en metros de las prdidas del sistema
Asigna 9.8 a g
Imprime un mensaje, pidiendo el dimetro de la tubera, y asigna el resultado a D
Evala la funcin calc_fl_vol, utilizando como parmetros a parRe, prop_fl, prop_tub, g, dir1 y
op, y asigna el resultado a vri
Utilizando la funcin de Scilab size, calcula la dimensin de vri y asigna el resultado a s1;
Extrae el primer elemento de s1 y lo asigna a f1;
Programa Fl_vol_par_calc5.sce
FUNCTION h(fric_t, v, g)
Calcula la longitud del vector fric_t, crea un vector de ceros con igual longitud y asigna el
resultado a h_v
FOR la variable i se encuentra entre 0 y el valor numrico de la longitud del vector fric_t
Utilizando la ecuacin para el clculo de prdidas primarias y secundarias, calcula la carga
y asigna el resultado al elemento i de h_v
END FOR
Devuelve h_v
END FUNCTION
FUNCTION desvh(h_v)
Promedia los elementos de h y asigna el resultado a h_prom
Asigna 0 a desv
Divide desv entre la longitud del vector h y lo eleva a 0.5 y devuelve el resultado
END FUNCTION
Devuelve vel_qv
END FUNCTION
IF i es igual a 1
Agrupa i, fd en un vector y asigna el resultado a tabs1
Agrupa i, v en un vector y asigna el resultado a tabs2
Agrupa i, Qs y el resultado de la suma de los elementos del vector Qs en un vector, y lo
asigna a tabs3
Evalua la funcion ftot, utilizando como parmetros a fd, L, Di, y sumK, y asigna el resultado
a fric_t
Evalua la funcion h, utilizando como parametros a fric_t, veloc_v1, y g
Calcula el promedio de los elementos de h_tub y asigna el resultado a h_prom
IF i es igual a n_max
Sale del ciclo FOR
END IF
END IF
END FOR
Devuelve Qs
END FUNCTION
Programa Prin2_tub_par.sce
Asigna 9.8 a g
Imprime un mensaje, pidiendo el caudal total del sistema de tuberas en paralelo, y asigna el
resultado a caudal
Llama a Qs_calc, utilizando como parmetros a D, parRe, caudal, rug, L, g, sumK, y dir1 y guarda
el resultado en caudales_tubs.
Imprime caudales_tubs
Asignatura: Termodinamica Quimica I
Problemas del calculo del volumen molar en ecuaciones cbicas de estado, utilizando
parmetros de la ecuacin de Van der Waals, Redlich-Kwong, Soave-Redlich-Kwong, Peng-
Robinson; y del calculo del volumen molar mediante la ecuacin de Kammerlingh-Onnes y
las correlaciones para el segundo y el tercer coeficientes del virial.
Programa fv2.py
Devuelve fun
END FUNCTION
Calcula la derivada con respecto a z, de la ecuacin de estado del virial truncada hasta
el tercer termino y utilizando z, Bs, Cs y facpt, con el fin de utilizar el resultado como
parmetro en la funcion rootNewton_cubic2 y la guarda en fun
Devuelve fun
END FUNCTION
Devuelve fun
END FUNCTION
Devuelve fun
END FUNCTION
SELECT opn
CASE A
Asigna 1 a alf
Asigna 1/8 a ome
Asigna 27/64 a psi
Asigna 0 a sig
Asigna 0 a epsi
CASE B
Eleva tr a -0.5 y asigna el resultado a alf
Asigna 0.08664 a ome
Asigna 0.42748 a psi
Asigna 1 a sig
Asigna 0 a epsi
END SELECT
Asigna 1 a z0
Asigna 0.00001 a tol
Asigna 100 a imax
IF opn es igual a E
IF op es igual 1 OR op es igual a 3
IF op es igual a 1
Asigna 0.0005 a h
Evalua rootRegula2, utilizando como parametros a z0, fcg, dat, h, tol, imax, r_prin y
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a lz
ELSE
Evalua rootNewton_cubic2, utilizando como parametros a z0, fcg, dfcg, dat, ddat, tol,
imax, y store = False y asigna el resultado a vm
END IF
ELSE
Divide pr entre tr y asigna el resultado a facpt
Utilizando Bs, Cs, facpt, z0 y la ecuacin del virial truncada hasta el tercer trmino,
calcula un nuevo valor de z
Utilizando Bs, Cs, facpt, z0 y la ecuacin del virial truncada hasta el tercer trmino,
calcula un nuevo valor de z
Calcula el valor absoluto de la diferencia z z0 y asigna el resultado a dif
END WHILE
Asigna z a lz
END IF
ELSE
Multiplica ome y pr, esto lo multiplica por tr y el resultado lo asigna bet
Multiplica psi y alf, esto lo divide por el producto de ome y tr, y el resultado lo asigna a q
Asigna 1 a z0v
IF op es igual a 1 OR op es igual a 3
IF op es igual a 1
Asigna 0.0005 a h
Evalua rootRegula2, utilizando como parametros a z0v, ffz, cof, h, tol, imax, r_prin
y store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zv
Asigna zv a lz
ELSE
Evalua rootNewton_cubic2, utilizando como parametros a z0v, ffz, dffz, cof, dcof, tol,
imax, y store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zv
Asigna zv a lz
END IF
ELSE
Utiliza la ecuacin dada en Smith, Van Ness & Abbott para el clculo de z de vapor,
mediante el mtodo de sustitucin sucesiva y el resultado lo asigna a zv
Asigna It a it1
IF op_extra es igual a 1
Asigna bet a z0l
IF op es igual a 1 OR op es igual a 3
IF op es igual a 1
Evalua rootRegula2, utilizando como parametros a z0l, ffz, cof, h, tol, imax, r_prin y
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zl
ELSE
Evalua rootNewton_cubic2, utilizando como parametros a z0l, ffz, dffz, cof, dcof, tol,
imax, y store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zl
Agrupa en una tupla a zv, zl, bet, q, sig y epsi
END IF
ELSE
Utiliza la ecuacin dada en Smith, Van Ness & Abbott para el clculo de z de lquido,
mediante el mtodo de sustitucin sucesiva y el resultado lo asigna a zl
END IF
END IF
END IF
Devuelve lz
END FUNCTION
Programa prueba_sat.py
END FUNCTION
FUNCTION calc_pres(t, tc, pold, pc, op, opn, op_extra, r_prin, fac, zcat0)
Evala fv2, utilizando como parmetros a t, tc, pnew, pc, op, opn, op_extra, r_prin y fac
y asigna el resultado a zcat
END WHILE
Devuelve pnew
END FUNCTION
FUNCTION pres_sat_cubic(t, tc, pold, pc, op, opn, op_extra, r_prin, zcat0, fac)
IF zcat es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
Asigna pnew a pr
ELSE
Asigna pold a pr
END IF
Evala calc_pres, utilizando como parmetros a t, tc, pr, pc, op, opn, op_extra, r_prin,
fac, zcat0 y lo asigna a pnew
ELSE
Asigna 3 a zeval
Evala la funcin fv2, utilizando los parmetros t, tc, pnew, pc, op, opn, op_extra,
r_prin y fac y asigna el resultado a zcat0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
Asigna pnew a pr
Evala calc_pres, utilizando los parmetros t, tc, pr, pc, op, opn, op_extra, r_prin, fac y
zcat0, y asigna el resultado a pnew
END IF
Devuelve pnew
END FUNCTION
Asigna 83.14 a r
IF opn es distinto de E
IF consat es igual a 1
IF t es menor que tc
Evala la funcin desc_region_cubic_first, utilizando los parmetros t, tc, p, pc, op,
opn y r_prin
END IF
Imprime un mensaje, pidiendo el factor acntrico del fluido, y asigna el resultado a fac
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna el
resultado a zcat
Multiplica zcat , r, t, esto lo divide entre p, y asigna el resultado a vol_vap
Imprime zcat y vol_vap
END IF
END FUNCTION
Asigna 83.14 a r
Asigna 1 a op_extra
END IF
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna el
resultado a zcat0
IF zcat0 es distinto de 0
Extrae el primer elemento de zcat0 y lo asigna a zv;
Extrae el segundo elemento de zcat0 y lo asigna a zl
Calcula ABS(zv zl), lo eleva al cuadrado y asigna el resultado a difz
Asigna 83.14 a r
Asigna 1 a op_extra
IF op es distinto de 2
IF opn es igual a C OR opn es igual a D
Imprime un mensaje, pidiendo el factor acntrico del fluido, y asigna el resultado a fac
END IF
IF t es menor que tc
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna
el resultado a zcat0
Extrae el primer elemento de zcat0 y lo asigna a zv;
Extrae el segundo elemento de zcat0 y lo asigna a zl
Asigna p a pold
Evalua pres_sat_cubic, utilizando como parametros a t, tc, pold, pc, op, opn, op_extra,
fac, r_prin, zcat0 y asigna el resultado a pr
Evalua calc_phi_lv_cubic, utilizando como parametros a zcat0 y opn y asigna el resultado
a tab
ELSEIF op es igual a 2
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna
el resultado a zcat0
IF zcat es distinto de 0
Extrae el primer elemento de zcat0 y lo asigna a zv;
Extrae el segundo elemento de zcat0 y lo asigna a zl
Asigna p a pold
Evalua pres_sat_cubic, utilizando como parametros a t, tc, pold, pc, op, opn, op_extra,
fac, r_prin, zcat0 y asigna el resultado a pr
Evalua calc_phi_lv_cubic, utilizando como parametros a zcat0 y opn y asigna el
resultado a tab
Extrae el primer elemento de tab y lo asigna a phi_v
Calcula el producto p*phi_v y el producto pr*phi_v, calcula la diferencia
p*phi pr*phi_v y lo asigna a dif_fug
IF dif_fug es mayor que 0.001
IF p es mayor que pr
Imprime un mensaje indicando que la sustancia se encuentra en la regin de
liquido comprimido
ELSEIF p es menor que pr
Imprime un mensaje, indicando que la sustancia se encuentra en la regin de
vapor sobrecalentado
Calcula el volumen de vapor con zv, r, t y p.
Imprime zv y vol_vap
ELSE
IF se desea los volmenes y factores de compresibilidad de liquido y vapor
saturado
Calcula el volumen de vapor saturado con zv, r, t y p y lo asigna a vol_vap
Calcula el volumen de vapor saturado con zl, r, t y p y lo asigna a vol_liq
Imprime zv, zl, vol_vap y vol_liq
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna
el resultado a zcat0
Programa cal_fz
Imprime un mensaje, pidiendo el mtodo de resolucin para la ecuacin cubica del volumen, y
asigna el resultado a op
Imprime un mensaje, pidiendo el factor acntrico del fluido, y asigna el resultado a fac
Problema del calculo de la entalpa, entropa y energa de Gibbs residual de un gas puro,
mediante la ecuacin cbica genrica.
Programa fv2.py
Devuelve fun
END FUNCTION
Devuelve fun
END FUNCTION
Asigna 1 a z0v
Evalua rootNewton_cubic2, utilizando como parametros a z0v, ffz, dffz, cof, dcof, tol, imax,
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zv
Agrupa en una lista a zv, zl, bet, q, sig y epsi en una lista y el resultado lo asigna a lz
IF t es menor que tc
Asigna bet a z0l
Evalua rootNewton_cubic2, utilizando como parametros a z0l, ffz, dffz, cof, dcof, tol, imax,
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zl
Agrupa en una lista a zv, zl, bet, q, sig y epsi en una lista y el resultado lo asigna a lz
END IF
Devuelve lz
END FUNCTION
Programa prueba_sat.py
Evala fv2, utilizando como parmetros a t, tc, pnew, pc, opn, r_prin y fac
y asigna el resultado a zcat
END WHILE
Devuelve pnew
END FUNCTION
IF zcat es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
ELSE
Asigna pold a pr
END IF
Evala calc_pres, utilizando como parmetros a t, tc, pr, pc, opn, r_prin, fac y zcat0 y
lo asigna a pnew
ELSE
Asigna 3 a zeval
Evala la funcin fv2, utilizando los parmetros t, tc, pnew, pc, opn, r_prin y fac y
asigna el resultado a zcat0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
Asigna pnew a pr
Evala calc_pres, utilizando los parmetros t, tc, pr, pc, opn, r_prin, fac y zcat0, y asigna
el resultado a pnew
END IF
Devuelve pnew
END FUNCTION
Evalua fv2, utilizando como parametros a t, tc, p, pc, opn, r_prin y fac y asigna el
resultado a zcat0
IF t es menor que tc
Asigna p a pold
Evalua pres_sat_cubic, utilizando como parametros a t, tc, pold, pc, opn, fac, r_prin,
zcat0 y asigna el resultado a pr
Evalua calc_phi_lv_cubic, utilizando como parametros a zcat0 y opn y asigna el resultado
a tab
ELSE
Agrupa a zcat0 y fac en un vector, y la asigna a lz
END IF
END IF
ELSE
Agrupa a zcat0 y fac en una vector, y la asigna a lz
END IF
Devuelve lz
END FUNCTION
Programa Hr_Sr_calc.py
END FUNCTION
Asigna 0.001 a h
Utilizando tr como valor central y h como paso o espaciamiento entre cada elemento, crea un
vector con cinco elementos, y asigna el resultado trv.
Utilizando la frmula de diferencias finitas centradas de cinco puntos y fxv, calcula la derivada
de f en x, y asigna el resultado a fun
END FUNCTION
END IF
END FUNCTION
END FUNCTION
Calcula la entalpia residual dada en la ecuacin 6.67 de Smith, Van Ness & Abbott,
utilizando a zv, dlalf, q, I, Rcons y t, y asigna el resultado a Hr
Devuelve Hr
END FUNCTION
Devuelve Sr
END FUNCTION
IF lz es diferente de 0
Asigna el segundo elemento de lz a fac
Agrupa en una tupla a opn y fac y asigna el resultado a param
IF la longitud de lz es igual a 5
Asigna el primer elemento de zcat a zv;
Asigna el segundo elemento de zcat a bet;
Asigna el tercer elemento de zcat a q;
Asigna el cuarto elemento de zcat a sig;
Asigna el quinto elemento de zcat a epsi;
ELSE
Asigna 0 a res
END IF
Devuelve res
END FUNCTION
Programa Hr_Sr_prin.py
Evalua a desc_region_cubic, utilizando como parametros a t, tc, p, pc, opn y r_prin y asigna el
resultado a lz
Evalua a Hr_Sr_imp, utilizando como parametros a lz, t, tc, p, pc y opn y asigna el resultado a
res
IF res es distinto de 0
Asigna el primer elemento de res a Hr; Asigna el segundo elemento de res a Sr
ELSE
Imprime un mensaje indicando se introduzcan nuevas condiciones de termperatura y presin
END IF
Composicin de equilibrio en reacciones para mezclas de gases ideales.
Programa CalcDH_DS.py
Devuelve y
END FUNCTION
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores a0, a1, a2, a3 y a4 y la
temperatura t, segn la ecucion dada por Poling, Prausnitz & OConnell y asigna el
resultado a y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 7ma ed., pag. 2 182 y asigna el resultado a
y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 7ma ed., pag. 2 182 y asigna el resultado a
y
Devuelve y
END FUNCTION
FUNCTION cpH_Perry7_3(t, l1)
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3 y C4 y la
temperatura t, segn la ecucion dada por Perry, 7ma ed., pag. 2 182 y asigna el resultado a
y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 8va ed., pag. 2 175 y asigna el resultado a
y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 8va ed., pag. 2 181 y asigna el resultado a
y
Devuelve y
END FUNCTION
IF numc es igual a 1
Evalua el primer elemento de lf_cpH (una funcion), utilizando como parametros a t y
el segundo elemento lf_cpH
END FUNCTION
IF numc es igual a 1
Evalua el primer elemento de lf_cpS (una funcion), utilizando como parametros a t y
el segundo elemento lf_cpS, dividido entre t
END IF
Devuelve y
END FUNCTION
Programa cK.py
Evalua Romberg, utilizando como parametros a numc, T0, T, lf_cpS_evalf, itemRom y tol, y
asigna el resultado a IntS
Divide el primer elemento de IntH entre Rcons y asigna el resultado a delS
IF el elemento i de lv es distinto de 0
Eleva el elemento i de compv al elemento i de lv, y el resultado lo multiplica por fc
ELSEIF el elemento i de lv es igual a 0
Multiplica fc por 1, y el resultado lo asigna a fc
END IF
END FOR
Utilizando la ecuacin 13.28 dada por Smith, Van Ness y Abbott, y las variables K, P, v y fc,
construye una expresin a ser resuelta junto con un mtodo de resolucin de ecuaciones no
lineales, como el mtodo de la secante y la guarda en fun.
Devuelve fun
END FUNCTION
END IF
END IF
END FOR
Asigna 0 a cont
Calcula la longitud de e_limit y lo asigna a lnr
Crea una matriz de ceros con lnr filas y n columnas y asigna el resultado a mol_rxn
Crea una lista vacia y la asigna a e_res
Crea una lista vacia y la asigna a iv2
END FUNCTION
FUNCTION defConsEq(datc, T, P, v, pathDir)
Calcula la constante de equilibrio, utilizando la ecuacin 13.15 de Smith, Van Ness &
Abbott y lo asigna a K
IF numI es distinto de 0
IF i es mayor que numP2
Suma 1 a i, le resta numP2, lo convierte a una cadena de caracteres, esto es
agregado al carcter I y asigna el resultado a st1
END IF
END IF
END FOR
Evalua consEq, utilizando como parametros n, T, T0, lf_cpH, lf_cpS, pathDir, itemRom,
delHrxn0 y delGrxn0, y asigna el resultado a K
END IF
END IF
Devuelve a K
END FUNCTION
Programa ccp_ing.py
Imprime un mensaje pidiendo el libro, del cual se obtendrn las constantes para las
capacidade calorficas en funcion de la temperatura y guarda el resultado en bk
IF bk es entero y es 1, 2, 3, 4 o 5
Continua con las siguientes lneas de cdigo
ELSE
Vuelve a pedir bk
END IF
IF bk es igual a 3
Pide el tipo de ecuacin de capacidad calorfica a utilizar y guarda el resultado en eco
IF eco es distinto a A, B, o C
Vuelve a pedir eco
ELSE
Continua con las siguientes lneas de cdigo
END IF
ELSEIF bk es igual a 4
Pide el tipo de ecuacin de capacidad calorfica a utilizar y guarda el resultado en eco
IF eco es distinto a A o B
Vuelve a pedir eco
ELSE
Continua con las siguientes lneas de cdigo
END IF
END IF
IF bk es igual a 1
Imprime un mensaje pidiendo 4 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 2
Imprime un mensaje pidiendo 5 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 3
IF eco es igual a A
Imprime un mensaje pidiendo 5 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 4
IF eco es igual a A
Imprime un mensaje pidiendo 5 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 5
Imprime un mensaje pidiendo 3 constantes y asigna el resultado en la lista ccp
END FUNCTION
Programa func_cad.py
FUNCTION cad_comp_imp(car, n)
Utiliza i y car para construir parte de una cadena de caracteres a evaluar y la asigna a
st2t
Agrega st2t como nuevo elemento de la lista st2
Une st3 y el elemento i de st1 en una cadena de caracteres a imprimir y asigna el resultado
a st3
Une st4 y el elemento i de st2 en una cadena de caracteres a evaluar y asigna el resultado a
st4
END FOR
END FUNCTION
(En esta funcion se toman en cuenta la posibilidad de que n sea igual o mayor de 2 elementos, o
que i se encuentre al principio, medio o final de la cadena de caracteres final)
Imprime sf_aux1
IF no es posible evaluar st2 dentro de la funcion input (resultado asignado a c_st), o si los
elementos de c_st, separados como sub-cadenas de caracteres y agrupados dentro de la lista
ctem no son de punto flotante, o si el numero de elementos ingresados es menor que n, o si
cualquiera de los elementos ingresados es menor que 0
Asigna ctem a c
Devuelve c
END FUNCTION
Imprime sf_aux1
IF no es posible evaluar st2 dentro de la funcion input (resultado asignado a c_st), o si los
elementos de c_st, separados como sub-cadenas de caracteres y agrupados dentro de la lista
ctem no son de punto flotante, o si el numero de elementos ingresados es menor que n, o si
cualquiera de los elementos ingresados es mayor que 0
Asigna ctem a c
Devuelve c
END FUNCTION
FUNCTION func_def(car, n)
Une el elemento i de st2 y st4 en una cadena de caracteres a evaluar y asigna el resultado
a st4
END FOR
Devuelve st4
END FUNCTION
FUNCTION func_cad_impH(car, lv, n)
Une el elemento i de st2 y st4 en una cadena de caracteres a evaluar y asigna el resultado
a st4
END FOR
Devuelve st4
END FUNCTION
Une el elemento i de st2 y st4 en una cadena de caracteres a evaluar y asigna el resultado
a st4
END FOR
Devuelve st4
END FUNCTION
Calc_EqC.py
Asigna R a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numR, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a CantR
Asigna vR a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ingR, utilizando como parametros a numR, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a vR
Asigna P a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numP, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a CantP
Asigna vP a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numR, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a vP
Asigna 0 a numI
IF CmI es igual a 1
Imprime un mensaje, requiriendo ingresar el numero de compuestos inertes presentes
Asigna I a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numP, car, sf_aux1, sf_aux2 y sf_aux3 y
asigna el resultado a CantIn
Evalua rootRegula_FA_mod, utilizando como parametros a e0, comEq, param, bracket, tol,
imax, store = True y asigna el resultado a vm1
Calcula las dimensiones de vm1 y las guarda en s1
IF la longitud de s1 es igual a 1
Asigna el segundo elemento de vm1 a e_eq
ELSEIF la longitud de s1 es igual a 2
Resta 1 al primer elemento de de s1 y lo asigna a f1
Extrae el elemento de la fila f1, columna 1 de vm1 y lo asigna a e_eq
END IF
Crea una lista vacia y la asigna a molv; Crea una lista vacia y la asigna a compv
Imprime e_eq
Asigna R a car
Evalua cad_comp_imp, utilizando a car y numR, y asigna el resultado a catR_car
Asigna el primer elemento de catR_car a stRcar;
Crea una cadena de caracteres con el segundo elemento de catRcar, y asigna el resultado a
stReval
Imprime un mensaje, donde se utiliza a stRc como cadena de caracteres a imprimir y a stReval
como cadena de caracteres a evaluar como codigo
Asigna P a car
Evalua cad_comp_imp, utilizando a car y numP, y asigna el resultado a catP_car
Asigna el primer elemento de catP_car a stPcar;
Crea una cadena de caracteres con el segundo elemento de catPcar, y asigna el resultado a
stPeval
Imprime un mensaje, donde se utiliza a stPc como cadena de caracteres a imprimir y a stPeval
como cadena de caracteres a evaluar como codigo
Asigna cR a car
Evalua cad_comp_imp, utilizando a car y numR, y asigna el resultado a catR_car
Asigna el primer elemento de catR_car a stRcar;
Crea una cadena de caracteres con el segundo elemento de catRcar, y asigna el resultado a
stReval
Crea una cadena de caracteres, utilizando a stPcar y la asigna a stPc
Imprime un mensaje, donde se utiliza a stRc como cadena de caracteres a imprimir y a stReval
como cadena de caracteres a evaluar como codigo
Asigna cP a car
Evalua cad_comp_imp, utilizando a car y numP, y asigna el resultado a catP_car
Asigna el primer elemento de catP_car a stPcar;
Crea una cadena de caracteres con el segundo elemento de catPcar, y asigna el resultado a
stPeval
Crea una cadena de caracteres, utilizando a stPcar y la asigna a stPc
Imprime un mensaje, donde se utiliza a stPc como cadena de caracteres a imprimir y a stPeval
como cadena de caracteres a evaluar como codigo
IF CmI es igual a 1
Metodos Numericos
Programa RomberT.py
Extrae el primer valor de la lfun_pri y asigna el resultado a fun (de izquierda a derecha)
Extrae el segundo valor de la lista y asigna el resultado a lfun_sec
Extrae el tercer valor de la lista y asigna el resultado a pathDir
Asigna a x el valor de a
Evala fun, utilizando como parmetros x, lfun_sec, numc y pathDir y asigna el resultado a
suma
END FOR
Evala fun, utilizando como parmetros x, lfun_sec, numc y pathDir, suma el resultado a
suma y asigna el resultado a suma.
Multiplica suma por h, divdelo por 2, y asigna el resultado a res
Devuelve res
END FUNCTION
Evala la funcin TrapEq, utilizando como parmetros nit, numc, a, b y lfun, y asigna el
resultado a la celda de I en la columna 0, fila 0.
Asigna a iter el valor de 0
Asigna a ea el valor de 10; Multiplica tol por 100 y asigna el resultado a es
Evala la funcin TrapEq, utilizando como parmetros nit, numc, a, b y lfun, y asigna el
resultado a la celda de I en la fila iterI + 1, columna 0.
END FOR
Calcula el error porcentual entre los valores de las celdas de I en la fila 0, columna iterI +
1 y en la fila 0, columna iterI, y asigna el resultado a ea.
END WHILE
Devuelve res
END FUNCTION
Programa rootBracket_3p3.py
Asigna el valor de x0 a xl
Establece que el signo de fxl y el signo de fxu, son distintos y almacena el resultado en done
IF done no es cierto
IF el ABS(fxu) es mayor que ABS(fxl)
Asigna h a h
Asigna xl a xu
Guarda fxl en fxu
END
END
IF xu es menor que 0
Asigna el valor de 0 a xu
ELSEIF xl es menor que 0
Asigna el valor de 0 a xl
END IF
Devuelve xl y xu
END FUNCTION
ELSE
Evala func, utilizando como parmetro a x, y guarda el resultado en y
END
Devuelve y
END FUNCTION
Programa rootNewton_cubic2.py
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Suma 1 a iterv y agrega el resultado a vi
Evala rootNewton_cubic2_evalf, utilizando como parmetros a f, x0, arg y asigna el
resultado a fr; Agrega fr como elemento de f_x
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Agrega 0 como elemento de ve
END IF
WHILE la ABS(diferencia entre r y x) sea mayor que tol AND iterv sea menor o igual que imax
Asigna el valor de r a x
Evala rootNewton_cubic2_evalf, utilizando como parmetros a f, x, arg y asigna el
resultado a fr
Divide fx entre fpv, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv y guarda el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Extrae el elemento nmero iterv 1 de vx y lo almacena en rv
Suma 1 a iterv y agrega el resultado a vi
Agrega fr como elemento de f_x
IF rv es distinto de 0
Agrega
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Extrae el elemento nmero iterv 1 de ve y lo almacena como el siguiente elemento de
ve
END IF
END FUNCTION
ELSE
Evala func, utilizando como parmetro a x, y guarda el resultado en y
END
Devuelve y
END FUNCTION
Programa rootRegulaFA2p2.py
ELSE
Asigna x a xl
Asigna x a xu
END IF
WHILE ABS(la diferencia de xu xl dividida por 2) es mayor que tol AND iterv es menor que
imax
ELSE
Asigna x a xl
Asigna x a xu
END IF
Devuelve vm
END FUNCTION
Devuelve y
END FUNCTION
Programa rootRegulaFA_mod.py
ELSE
Asigna x a xl
Asigna x a xu
END IF
Asigna 1 a op
WHILE op es igual a 1
Calcula x, utilizando a xl, xu, fxl y fxu
Asigna fx a fxw
Evala rootRegulaFA_mod_evalf, utilizando como parmetros a __comprob_f__ y x, y
asigna el resultado a fx
IF el signo de fxl y el signo de fxu son iguales
Asigna x a xl
Asigna fx a fxl
Suma 1 a iu y asigna el resultado a iu
IF iu es mayor o igual a 2
Divide fxu entre 2 y asigna el resultado a fxu
END
IF il es mayor o igual a 2
Divide fxl entre 2 y asigna el resultado a fxl
END
ELSE
Asigna x a xl
Asigna x a xu
END IF
Devuelve vm
END FUNCTION
FUNCTION rootRegulaFA_mod_evalf(__comprob_f__, x)
ELSE
Evala func, utilizando como parmetro a x, y guarda el resultado en y
END
Devuelve y
END FUNCTION
Programa rootSecantePlus2Ap2.py
Asigna 0.001 a h
Utilizando x como valor central y h como paso o espaciamiento entre cada elemento, crea un
vector con cinco elementos, y asigna el resultado xv.
Utilizando la frmula de diferencias finitas centradas de cinco puntos y xv, calcula la derivada
de f en x, y asigna el resultado a fun
Devuelve fun
END FUNCTION
Evala fp, utilizando como parmetros a x0, func y param, y asigna el resultado a fx_p
Agrega fx a f_x
Asigna x0 a x
Divide fx entre fx_p, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv y guarda el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Suma 1 a iterv y agrega el resultado a vi
Evala rootSecantePlus2A_evalf, utilizando como parmetros a func, r, param y asigna el
resultado a fx;
Evala fx_p, utilizando como parmetros a r, func y param, y asigna el resultado a fx_p
Agrega fx como elemento de f_x
IF r es menor que 0
Asigna 0 a r
END IF
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Agrega 0 como elemento de ve
END IF
Asigna 1 a op
WHILE op es igual a 1
Asigna r a x
Divide fx entre fx_p, resta el resultado a x0, luego guarda este valor en r
Suma 1 a iterv, y asigna el resultado a iterv
Agrega r a vx
Extrae el elemento nmero iterv de vx y lo almacena en rn
Extrae el elemento nmero iterv 1 de vx y lo almacena en rv
Suma 1 a iterv y agrega el resultado a vi
Asigna fx a fxw
Evala rootSecantePlus2A_evalf, utilizando como parmetros a func, r, param y asigna el
resultado a fx
Evala fp, utilizando como parmetros a r, func y param, y asigna el resultado a fx_p
Agrega fx como elemento de f_x
Calcula ABS(la diferencia de fxw fx), y asigna el resultado a dif_fx
IF rn es distinto de 0
Calcula el error porcentual entre rv y rn, y lo agrega a ve
ELSE
Agrega el elemento nmero iterv 1 de ve como nuevo elemento de ve
END IF
Devuelve vm
END FUNCTION
ELSE
Evala func, utilizando como parmetro a x, y guarda el resultado en y
END
Devuelve y
END FUNCTION
Asignatura: Operaciones Unitarias I
Programa f_fric.py
CLASS FDarcy()
END FUNCTION
FUNCTION FD_flujoturc_tub_rug_VK(self)
Llama al atributo self.D y asigna dicho valor a D;
Llama al atributo self.rug y asigna dicho valor a rug;
Utilizando la ecuacin de Von Karmn, D y rug, calcula el factor de friccin para fluidos en
rgimen turbulento a travs de tuberas rugosas, y asigna el resultado a fd
Devuelve fd
END FUNCTION
Devuelve una expresin basada en la ecuacin de Colebrook, que utiliza a rug, Re, D y un
valor inicial de f,. Para obtener f, esta expresin debe ser utilizada en conjunto con un
mtodo de resolucin de ecuaciones no lineales, como el mtodo de la secante
END FUNCTION
FUNCTION vel(self)
Llama al atributo Q y asigna el resultado a Q; Llama al atributo D y asigna el resultado a D;
Eleva D al cuadrado, esto lo multiplica por PI, luego divide 4 * Q por el resultado
anterior, y lo asigna a v.
Devuelve v
END FUNCTION
END FUNCTION
IF la longitud de op es igual a 2
Si es as, asigna el primer elemento de op a oph, y el segundo elemento de op a opv
IF oph es igual a 2
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
Divide visd por ro, y asigna el resultado a vis_c
ELSE
Asigna op a opv
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
Divide visd por ro, y asigna el resultado a vis_c
ELSEIF opv es igual a 2
Asigna parRe a vis_c
END IF
END IF
IF Re es menor de 2300
Llama a FDarcy, utilizando como parmetros a Q, D y rug, y guarda el resultado en el
objeto fdar0
Evala fdar0.FD_flujo_laminar y asigna el resultado a fdar0. (fdar0 hereda las funciones
definidas para la clase FDarcy).
Devuelve f1D
IF la longitud de s1 es igual a 1
Extrae el segundo elemento del vector vri, y asigna el resultado a f1D
END IF
Devuelve f1D
END IF
END FUNCTION
END CLASS
Problema del clculo del dimetro de tubera
Programa D_TS_calc.py
IF op es diferente de None
Asigna el primer elemento de op a oph; Asigna el segundo elemento de op a opv
IF oph es igual a 2
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
END IF
IF opv es igual a 2
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a vis_c
END IF
END IF
Llama a la clase FDarcy, utilizando como argumentos a Q, D y rug, y asigna el resultado a objf
Evala la funcin ojbf.calc_fdarcy_col, utilizando como parmetros a parRe, dir y op, y asigna
el resultado a f1D.
Evala la funcin objf.vel, asignando el resultado a v2
Utilizando las ecuaciones para perdidas primarias y secundarias, un valor inicial de D y las
variables f1D, L, v2, construye una expresin a ser resuelta junto con un mtodo de
resolucin de ecuaciones no lineales, como el mtodo de la secante y la guarda en fun.
Devuelve fun
END FUNCTION
Asigna 20 a imax
Agrupa a parRe, L, par_calcd, Q, rug, g, dir1 y op en una tupla y asigna el resultado a
param_hDar
Asigna 2.54E-2 a D0
Evala rootSecantePlus2A, utilizando como parmetros a D0, D_fun, param_hDar, tol =
0.001, imax, store = True, y asigna el resultado a vri
Devuelve vri
END FUNCTION
Programa Prin_2_D_c.py
IF hay disponibilidad del valor equivalente en metros de las prdidas del sistema
Imprime un mensaje, pidiendo este dato y asigna el resultado a prop_fl
Asigna 9.8 a g
IF la longitud de s1 es igual a 1
Extrae el segundo elemento del vector vri, y asigna el resultado a D
Programa Fl_vol_TubS_calc.py
IF op es diferente de None
Asigna el primer elemento de op a oph; Asigna el segundo elemento de op a opv
IF oph es igual a 2
IF opv es igual a 1
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a visd
IF opv es igual a 2
Asigna el primer elemento de parRe a ro, y el segundo elemento de parRe a vis_c
END
Calcula el valor equivalente en metros de las prdidas del sistema, utilizando p1, p2, z1,
z2, ro y el balance general de energa mecnica, y asigna el resultado a hDar
END IF
Utilizando las ecuaciones para perdidas primarias y secundarias, un valor inicial de v2 y las
variables f1D, L y D, construye una expresin a ser resuelta junto con un mtodo de
resolucin de ecuaciones no lineales, como el mtodo de la secante, y la guarda en fun.
Devuelve fun
END FUNCTION
IF op es diferente de None
Asigna el primer elemento de op a oph; Asigna el segundo elemento de op a opv
IF oph es igual a 2
IF z1 es mayor que z2
Estima un valor inicial de v2, utilizando z1 y z2 y asigna el resultado a v20
END IF
Devuelve vri
END FUNCTION
Programa Prin2_fl_vol.py
IF hay disponibilidad del valor equivalente en metros de las prdidas del sistema
Asigna 9.8 a g
Evala la funcin calc_fl_vol, utilizando como parmetros a parRe, prop_fl, prop_tub, g, dir1 y
op, y asigna el resultado a vri
IF la longitud de s1 es igual a 1
Extrae el segundo elemento del vector vri, y asigna el resultado a v2
Programa Fl_vol_par_calc7.py
CLASS fl_vol_tub_par()
Calcula la longitud del vector D, le suma 1, crea un vector de ceros con igual longitud y
asigna el resultado al atributo self.tabs1de la clase fl_tub_par.
Calcula la longitud del vector D, le suma 1, crea un vector de ceros con igual longitud y
asigna el resultado al atributo self.tabs2 de la clase fl_tub_par.
Calcula la longitud del vector D, le suma 1, crea un vector de ceros con igual longitud y
asigna el resultado al atributo self.tabs3 de la clase fl_tub_par.
Calcula la longitud del vector D, le suma 1, crea un vector de ceros con igual longitud y
asigna el resultado al atributo self.tabs4 de la clase fl_tub_par.
END FUNCTION
FOR la variable i se encuentra entre 0 y el valor numrico de la longitud del vector fric_t
Utilizando la ecuacin para el clculo de prdidas primarias y secundarias, calcula la carga
y asigna el resultado al elemento i de h_v
END FOR
Devuelve h_v
END FUNCTION
FUNCTION desvh(self, h)
Promedia los elementos de h y asigna el resultado a h_prom
Asigna 0 a desv
Divide desv entre la longitude del vector h y lo eleva a 0.5 y devuelve el resultado
END FUNCTION
Devuelve vel_qv
END FUNCTION
FUNCTION Qs_calc(self)
Llama al atributo self.direc y asigna el resultado a dir1
Establece la ruta del directorio de f_fric.py, y asigna el resultado a dir_fric
Llama al atributo self.D y asigna dicho valor a D;
Llama al atributo self.caudal y asigna dicho valor a caudal;
Llama al atributo self.rug y asigna dicho valor a rug;
Llama al atributo self.Re y asigna dicho valor a Re
Llama al atributo self.g y asigna dicho valor a g;
Llama al atributo self.op y asigna dicho valor a op;
Asigna 20 a n_max
Divide caudal entre la longitud del vector D, y asigna el resultado a Q0
Almacena el valor de Q0 en cada uno de los elementos de un arreglo con longitud igual al
de D y asigna el resultado a
Evalua la funcion self.ftot, utilizando como parmetro a fd, y asigna el resultado a fric_t
Evalua la funcion self.h, utilizando como parametros a fric_t, veloc_v1, y g
Calcula el promedio de los elementos de h_tub y asigna el resultado a h_prom
ELSE
FOR la variable j se encuentre entre 0 y la longitud de D
Divide el elemento j de Qs entre Q_t y lo multiplica por caudal
END FOR
IF i es igual a n_max
Sale del ciclo FOR
END IF
END IF
END FOR
END CLASS
Programa Prin2_Tub_par.py
Asigna 9.8 a g
Imprime un mensaje, pidiendo el caudal total del sistema de tuberas en paralelo, y asigna el
resultado a caudal
Llama a fl_vol_tub_par, utilizando como parmetros a D, L, sumK, rug, caudal, parRe, g y dir1, y
guarda el resultado en el objeto obj_fl_par.
Problemas del calculo del volumen molar en ecuaciones cbicas de estado, utilizando
parmetros de la ecuacin de Van der Waals, Redlich-Kwong, Soave-Redlich-Kwong, Peng-
Robinson; y del calculo del volumen molar mediante la ecuacin de Kammerlingh-Onnes y
las correlaciones para el segundo y el tercer coeficientes del virial.
Programa fv2.py
Devuelve fun
END FUNCTION
Devuelve fun
END FUNCTION
FUNCTION ffz(z, cof)
Devuelve fun
END FUNCTION
Devuelve fun
END FUNCTION
ELSE
IF opn es igual a C
Asigna arg a fac
Utilizando la ecuacin de estado de Soave-Redlich-Kwong, calcula la variable alfa y
asigna el resultado a alf
Asigna 0.08664 a ome
Asigna 0.42748 a psi
Asigna 1 a sig
Asigna 0 a epsi
Asigna 1 a z0
Asigna 0.00001 a tol
Asigna 100 a imax
IF opn es igual a E
IF op es igual 1 OR op es igual a 3
IF op es igual a 1
Asigna 0.0005 a h
Evalua rootRegula2, utilizando como parametros a z0, fcg, dat, h, tol, imax, r_prin y
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a lz
ELSE
Evalua rootNewton_cubic2, utilizando como parametros a z0, fcg, dfcg, dat, tol, imax,
y store = False y asigna el resultado a vm
END IF
ELSE
Divide pr entre tr y asigna el resultado a facpt
Utilizando Bs, Cs, facpt, z0 y la ecuacin del virial truncada hasta el tercer trmino,
calcula un nuevo valor de z
Utilizando Bs, Cs, facpt, z0 y la ecuacin del virial truncada hasta el tercer trmino,
calcula un nuevo valor de z
Calcula el valor absoluto de la diferencia z z0 y asigna el resultado a dif
END WHILE
Asigna z a lz
END IF
ELSE
Multiplica ome y pr, esto lo multiplica por tr y el resultado lo asigna bet
Multiplica psi y alf, esto lo divide por el producto de ome y tr, y el resultado lo asigna a q
Asigna 1 a z0v
IF op es igual a 1 OR op es igual a 3
IF op es igual a 1
Asigna 0.0005 a h
Evalua rootRegula2, utilizando como parametros a z0v, ffz, cof, h, tol, imax, r_prin
y store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zv
Asigna zv a lz
ELSE
Evalua rootNewton_cubic2, utilizando como parametros a z0v, ffz, dffz, cof, tol,
imax, y store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zv
Asigna zv a lz
END IF
ELSE
Utiliza la ecuacin dada en Smith, Van Ness & Abbott para el clculo de z de vapor,
mediante el mtodo de sustitucin sucesiva y el resultado lo asigna a zv
Asigna It a it1
IF op_extra es igual a 1
Asigna bet a z0l
IF op es igual a 1 OR op es igual a 3
IF op es igual a 1
Evalua rootRegula2, utilizando como parametros a z0l, ffz, cof, h, tol, imax, r_prin y
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zl
ELSE
Evalua rootNewton_cubic2, utilizando como parametros a z0l, ffz, dffz, cof, tol,
imax, y store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zl
Agrupa en una tupla a zv, zl, bet, q, sig y epsi
END IF
ELSE
Utiliza la ecuacin dada en Smith, Van Ness & Abbott para el clculo de z de lquido,
mediante el mtodo de sustitucin sucesiva y el resultado lo asigna a zl
END IF
END IF
END IF
Devuelve lz
END FUNCTION
Programa prueba_sat.py
FUNCTION calc_pres(t, tc, pold, pc, op, opn, op_extra, r_prin, fac, zcat0)
END WHILE
Devuelve pnew
END FUNCTION
FUNCTION pres_sat_cubic(t, tc, pold, pc, op, opn, op_extra, fac, r_prin, zcat0)
IF zcat es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
IF difz0 es mayor que 0.0001
Asigna 1 a zeval
END IF
END IF
END WHILE
Evala calc_pres, utilizando como parmetros a t, tc, pold, pc, op, opn, op_extra, r_prin,
fac, zcat0 y lo asigna a pnew
END IF
ELSE
Asigna 3 a zeval
Evala la funcin fv2, utilizando los parmetros t, tc, pnew, pc, op, opn, op_extra,
r_prin y fac y asigna el resultado a zcat0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
Evala calc_pres, utilizando los parmetros t, tc, pold, pc, op, opn, op_extra, r_prin, fac y
zcat0, y asigna el resultado a pnew
END IF
Devuelve pnew
END FUNCTION
Asigna 83.14 a r
IF opn es distinto de E
IF consat es igual a 1
IF t es menor que tc
Evala la funcin desc_region_cubic_first, utilizando los parmetros t, tc, p, pc, op,
opn y r_prin
END IF
ELSE
Asigna 3 a op_extra; Asigna 83.14 a r
Imprime un mensaje, pidiendo el factor acntrico del fluido, y asigna el resultado a fac
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna el
resultado a zcat
Multiplica zcat , r, t, esto lo divide entre p, y asigna el resultado a vol_vap
Imprime zcat y vol_vap
END IF
END FUNCTION
Asigna 83.14 a r
Asigna 1 a op_extra
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna el
resultado a zcat0
IF zcat0 es distinto de 0
Extrae el primer elemento de zcat0 y lo asigna a zv;
Extrae el segundo elemento de zcat0 y lo asigna a zl
Asigna 83.14 a r
Asigna 1 a op_extra
IF t es menor que tc
IF op es distinto de 2
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna
el resultado a zcat0
Extrae el primer elemento de zcat0 y lo asigna a zv;
Extrae el segundo elemento de zcat0 y lo asigna a zl
Asigna p a pold
Evalua pres_sat_cubic, utilizando como parametros a t, tc, pold, pc, op, opn, op_extra,
fac, r_prin, zcat0 y asigna el resultado a pr
Evalua calc_phi_lv_cubic, utilizando como parametros a zcat0 y opn y asigna el resultado
a tab
ELSEIF op es igual a 2
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna
el resultado a zcat0
IF zcat es distinto de 0
Extrae el primer elemento de zcat0 y lo asigna a zv;
Extrae el segundo elemento de zcat0 y lo asigna a zl
Asigna p a pold
Evalua pres_sat_cubic, utilizando como parametros a t, tc, pold, pc, op, opn, op_extra,
fac, r_prin, zcat0 y asigna el resultado a pr
Evalua calc_phi_lv_cubic, utilizando como parametros a zcat0 y opn y asigna el
resultado a tab
Extrae el primer elemento de tab y lo asigna a phi_v
Calcula el producto p*phi_v y el producto pr*phi_v, calcula la diferencia
p*phi pr*phi_v y lo asigna a dif_fug
Evala fv2, utilizando los parmetros t, tc, p, pc, op, opn, op_extra, r_prin y fac, y asigna
el resultado a zcat0
Calcula el volumen de vapor saturado con zv, r, t y p.
Imprime zv y vol_vap
END IF
END IF
END FUNCTION
Programa cal_fz
Imprime un mensaje, pidiendo el mtodo de resolucin para la ecuacin cubica del volumen, y
asigna el resultado a op
Evalua la funcion desc_region, utilizando como parametros a t, tc, p, pc, op, opn, consat y
r_prin
Asignatura: Termodinamica Quimica II
Problema del calculo de la entalpa, entropa y energa de Gibbs residual de un gas puro,
mediante la ecuacin cbica genrica.
Programa fv2.py
Devuelve fun
END FUNCTION
Devuelve fun
END FUNCTION
ELSE
IF opn es igual a C
Asigna arg a fac
Utilizando la ecuacin de estado de Soave-Redlich-Kwong, calcula la variable alfa y
asigna el resultado a alf
Asigna 0.08664 a ome
Asigna 0.42748 a psi
Asigna 1 a sig
Asigna 0 a epsi
Asigna 1 a z0v
Evalua rootNewton_cubic2, utilizando como parametros a z0v, ffz, dffz, cof, tol, imax,
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zv
Agrupa en una lista a zv, zl, bet, q, sig y epsi en una lista y el resultado lo asigna a lz
IF t es menor que tc
Asigna bet a z0l
Evalua rootNewton_cubic2, utilizando como parametros a z0l, ffz, dffz, cof, tol, imax,
store = False y asigna el resultado a vm
Extrae el segundo elemento de vm y lo asigna a zl
Agrupa en una lista a zv, zl, bet, q, sig y epsi en una lista y el resultado lo asigna a lz
END IF
Devuelve lz
END FUNCTION
Programa prueba_sat.py
Evala fv2, utilizando como parmetros a t, tc, pnew, pc, opn, r_prin y fac
y asigna el resultado a zcat
END WHILE
Devuelve pnew
END FUNCTION
IF zcat es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
IF difz0 es mayor que 0.0001
Asigna 1 a zeval
END IF
END IF
END WHILE
Asigna pnew a pr
ELSE
Asigna pold a pr
END IF
Evala calc_pres, utilizando como parmetros a t, tc, pr, pc, opn, r_prin, fac y zcat0 y
lo asigna a pnew
ELSE
Asigna 3 a zeval
Evala la funcin fv2, utilizando los parmetros t, tc, pnew, pc, opn, r_prin y fac y
asigna el resultado a zcat0
IF zcat0 es diferente de 0
Extrae el primer elemento de zcat0 y lo asigna a zv0;
Extrae el segundo elemento de zcat0 y lo asigna a zl0;
Calcula ABS(zv0 zl0), lo eleva al cuadrado y asigna el resultado a difz0
Asigna pnew a pr
Evala calc_pres, utilizando los parmetros t, tc, pr, pc, opn, r_prin, fac y zcat0, y asigna
el resultado a pnew
END IF
Devuelve pnew
END FUNCTION
Evalua fv2, utilizando como parametros a t, tc, p, pc, opn, r_prin y fac y asigna el
resultado a zcat
IF t es menor que tc
Evala fv2, utilizando los parmetros t, tc, p, pc, opn, r_prin y fac, y asigna el resultado a
zcat0
Asigna p a pold
Evalua pres_sat_cubic, utilizando como parametros a t, tc, pold, pc, opn, fac, r_prin,
zcat0 y asigna el resultado a pr
Evalua calc_phi_lv_cubic, utilizando como parametros a zcat0 y opn y asigna el resultado
a tab
ELSE
Agrupa a zcat0 y fac en una lista, y la asigna a lz
END IF
END IF
ELSE
Agrupa a zcat0 y fac en una lista, y la asigna a lz
END IF
Devuelve lz
END FUNCTION
Programa Hr_Sr_calc.py
Devuelve y
END FUNCTION
Asigna 0.001 a h
Utilizando tr como valor central y h como paso o espaciamiento entre cada elemento, crea un
vector con cinco elementos, y asigna el resultado trv.
Utilizando la frmula de diferencias finitas centradas de cinco puntos y fxv, calcula la derivada
de f en x, y asigna el resultado a fun
END FUNCTION
ELSE
IF opn es igual a C
Asigna arg a fac
Utilizando la ecuacin de estado de Soave-Redlich-Kwong, calcula la variable alfa y
asigna el resultado a alf
END IF
END FUNCTION
Calcula la entalpia residual dada en la ecuacin 6.67 de Smith, Van Ness & Abbott,
utilizando a zv, dlalf, q, I, Rcons y t, y asigna el resultado a Hr
Devuelve Hr
END FUNCTION
Calcula la entropia residual dada en la ecuacin 6.68 de Smith, Van Ness & Abbott,
utilizando a zv, dlalf, bet, q, I, Rcons y t, y asigna el resultado a Sr
Devuelve Sr
END FUNCTION
IF lz es diferente de 0
Asigna el segundo elemento de lz a fac
Agrupa en una tupla a opn y fac y asigna el resultado a param
IF la longitud de lz es igual a 5
Asigna el primer elemento de zcat a zv;
Asigna el segundo elemento de zcat a bet;
Asigna el tercer elemento de zcat a q;
Asigna el cuarto elemento de zcat a sig;
Asigna el quinto elemento de zcat a epsi;
ELSE
Asigna 0 a res
END IF
Devuelve res
END FUNCTION
Programa Hr_Sr_prin.py
Evalua a desc_region_cubic, utilizando como parametros a t, tc, p, pc, opn y r_prin y asigna el
resultado a lz
Evalua a Hr_Sr_imp, utilizando como parametros a lz, t, tc, p, pc y opn y asigna el resultado a
res
IF res es distinto de 0
Asigna el primer elemento de res a Hr; Asigna el segundo elemento de res a Sr
ELSE
Imprime un mensaje indicando se introduzcan nuevas condiciones de termperatura y presin
END IF
Composicin de equilibrio en reacciones para mezclas de gases ideales.
Programa CalcDH_DS.py
Devuelve y
END FUNCTION
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores a0, a1, a2, a3 y a4 y la
temperatura t, segn la ecucion dada por Poling, Prausnitz & OConnell y asigna el
resultado a y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 7ma ed., pag. 2 182 y asigna el resultado a
y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 7ma ed., pag. 2 182 y asigna el resultado a
y
Devuelve y
END FUNCTION
FUNCTION cpH_Perry7_3(t, l1)
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3 y C4 y la
temperatura t, segn la ecucion dada por Perry, 7ma ed., pag. 2 182 y asigna el resultado a
y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 8va ed., pag. 2 175 y asigna el resultado a
y
Devuelve y
END FUNCTION
Calcula la capacidad calorfica de gas ideal, con los factores C1, C2, C3, C4 y C5 y la
temperatura t, segn la ecucion dada por Perry, 8va ed., pag. 2 181 y asigna el resultado a
y
Devuelve y
END FUNCTION
IF numc es igual a 1
Evalua el primer elemento de lf_cpH (una funcion), utilizando como parametros a t y
el segundo elemento lf_cpH
Devuelve y
END FUNCTION
IF numc es igual a 1
Evalua el primer elemento de lf_cpS (una funcion), utilizando como parametros a t y
el segundo elemento lf_cpS, dividido entre t
Devuelve y
END FUNCTION
Programa cK.py
Evalua Romberg, utilizando como parametros a numc, T0, T, lf_cpS_evalf, itemRom y tol, y
Asigna el resultado a IntS
Divide el primer elemento de IntH entre Rcons y asigna el resultado a delS
Devuelve K
END FUNCTION
FUNCTION comEq(e, mol_ini, lv, K, P)
IF el elemento i de lv es distinto de 0
Eleva el elemento i de compv al elemento i de lv, y el resultado lo multiplica por fc
ELSEIF el elemento i de lv es igual a 0
Multiplica fc por 1, y el resultado lo asigna a fc
END IF
END FOR
Utilizando la ecuacin 13.28 dada por Smith, Van Ness y Abbott, y las variables K, P, v y fc,
construye una expresin a ser resuelta junto con un mtodo de resolucin de ecuaciones no
lineales, como el mtodo de la secante y la guarda en fun.
Devuelve fun
END FUNCTION
END IF
END IF
END FOR
Asigna 0 a cont
Calcula la longitud de e_limit y lo asigna a lnr
Crea una matriz de ceros con lnr filas y n columnas y asigna el resultado a mol_rxn
Crea una lista vacia y la asigna a e_res
Crea una lista vacia y la asigna a iv2
END FUNCTION
Calcula la constante de equilibrio, utilizando la ecuacin 13.15 de Smith, Van Ness &
Abbott y lo asigna a K
IF numI es distinto de 0
IF i es mayor que numP2
Suma 1 a i, le resta numP2, lo convierte a una cadena de caracteres, esto es
agregado al carcter I y asigna el resultado a st1
END IF
END IF
Evalua ccp_ing, utilizando como parametros a pathDir, st1 y Rcons y el resultado
lo asigna como nuevo elemento de catalog
END FOR
Evalua consEq, utilizando como parametros n, T, T0, lf_cpH, lf_cpS, pathDir, itemRom,
delHrxn0 y delGrxn0, y asigna el resultado a K
END IF
END IF
Devuelve a K
END FUNCTION
Programa ccp_ing.py
Imprime un mensaje pidiendo el libro, del cual se obtendrn las constantes para las
capacidade calorficas en funcion de la temperatura y guarda el resultado en bk
IF bk es entero y es 1, 2, 3, 4 o 5
Continua con las siguientes lneas de cdigo
ELSE
Vuelve a pedir bk
END IF
IF bk es igual a 3
Pide el tipo de ecuacin de capacidad calorfica a utilizar y guarda el resultado en eco
IF eco es distinto a A, B, o C
Vuelve a pedir eco
ELSE
Continua con las siguientes lneas de cdigo
END IF
ELSEIF bk es igual a 4
Pide el tipo de ecuacin de capacidad calorfica a utilizar y guarda el resultado en eco
IF eco es distinto a A o B
Vuelve a pedir eco
ELSE
Continua con las siguientes lneas de cdigo
END IF
END IF
IF bk es igual a 1
Imprime un mensaje pidiendo 4 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 2
Imprime un mensaje pidiendo 5 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 3
IF eco es igual a A
Imprime un mensaje pidiendo 5 constantes y asigna el resultado en la lista ccp
IF los elementos de ccp no son de punto flotante o su numero es diferente de 5
Vuelve a pedir las constantes
ELSE
Continua con las siguientes lneas de codigo
END IF
Agrupa en una lista a ccp y cpH_Perry7_1, y asigna el resultado a catg1
Devuelve a catg1
ELSEIF bk es igual a 4
IF eco es igual a A
Imprime un mensaje pidiendo 5 constantes y asigna el resultado en la lista ccp
ELSEIF bk es igual a 5
Imprime un mensaje pidiendo 3 constantes y asigna el resultado en la lista ccp
END FUNCTION
Programa func_cad.py
FUNCTION cad_comp_imp(car, n)
Utiliza i y car para construir parte de una cadena de caracteres a evaluar y la asigna a
st2t
Agrega st2t como nuevo elemento de la lista st2
Une st3 y el elemento i de st1 en una cadena de caracteres a imprimir y asigna el resultado
a st3
Une st4 y el elemento i de st2 en una cadena de caracteres a evaluar y asigna el resultado a
st4
END FOR
Agrupa en una lista a st3 y st4 y lo devuelve
END FUNCTION
(En esta funcion se toman en cuenta la posibilidad de que n sea igual o mayor de 2 elementos, o
que i se encuentre al principio, medio o final de la cadena de caracteres final)
Imprime sf_aux1
IF no es posible evaluar st2 dentro de la funcion input (resultado asignado a c_st), o si los
elementos de c_st, separados como sub-cadenas de caracteres y agrupados dentro de la lista
ctem no son de punto flotante, o si el numero de elementos ingresados es menor que n, o si
cualquiera de los elementos ingresados es menor que 0
Asigna ctem a c
Devuelve c
END FUNCTION
Imprime sf_aux1
IF no es posible evaluar st2 dentro de la funcion input (resultado asignado a c_st), o si los
elementos de c_st, separados como sub-cadenas de caracteres y agrupados dentro de la lista
ctem no son de punto flotante, o si el numero de elementos ingresados es menor que n, o si
cualquiera de los elementos ingresados es mayor que 0
Asigna ctem a c
Devuelve c
END FUNCTION
FUNCTION func_def(car, n)
Une el elemento i de st2 y st4 en una cadena de caracteres a evaluar y asigna el resultado
a st4
END FOR
Devuelve st4
END FUNCTION
FUNCTION func_cad_impH(car, lv, n)
Une el elemento i de st2 y st4 en una cadena de caracteres a evaluar y asigna el resultado
a st4
END FOR
Devuelve st4
END FUNCTION
Une el elemento i de st2 y st4 en una cadena de caracteres a evaluar y asigna el resultado
a st4
END FOR
Devuelve st4
END FUNCTION
Calc_EqC.py
Asigna R a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numR, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a CantR
Asigna vR a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ingR, utilizando como parametros a numR, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a vR
Asigna P a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numP, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a CantP
Asigna vP a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numR, car, sf_aux1, sf_aux2 y sf_aux3 y asigna
el resultado a vP
Asigna 0 a numI
IF CmI es igual a 1
Imprime un mensaje, requiriendo ingresar el numero de compuestos inertes presentes
Asigna I a car
Crea una cadena de caracteres y la asigna a sf_aux1
Crea una cadena de caracteres y la asigna a sf_aux2
Crea una cadena de caracteres y la asigna a sf_aux3
Evalua com_ing, utilizando como parametros a numP, car, sf_aux1, sf_aux2 y sf_aux3 y
asigna el resultado a CantIn
Evalua rootRegula_FA_mod, utilizando como parametros a e0, comEq, param, bracket, tol,
imax, store = True y asigna el resultado a vm1
Calcula las dimensiones de vm1 y las guarda en s1
IF la longitud de s1 es igual a 1
Asigna el segundo elemento de vm1 a e_eq
ELSEIF la longitud de s1 es igual a 2
Resta 1 al primer elemento de de s1 y lo asigna a f1
Extrae el elemento de la fila f1, columna 1 de vm1 y lo asigna a e_eq
END IF
Crea una lista vacia y la asigna a molv; Crea una lista vacia y la asigna a compv
Imprime e_eq
Asigna R a car
Evalua cad_comp_imp, utilizando a car y numR, y asigna el resultado a catR_car
Asigna el primer elemento de catR_car a stRcar;
Crea una cadena de caracteres con el segundo elemento de catRcar, y asigna el resultado a
stReval
Imprime un mensaje, donde se utiliza a stRc como cadena de caracteres a imprimir y a stReval
como cadena de caracteres a evaluar como codigo
Asigna P a car
Evalua cad_comp_imp, utilizando a car y numP, y asigna el resultado a catP_car
Asigna el primer elemento de catP_car a stPcar;
Crea una cadena de caracteres con el segundo elemento de catPcar, y asigna el resultado a
stPeval
Imprime un mensaje, donde se utiliza a stPc como cadena de caracteres a imprimir y a stPeval
como cadena de caracteres a evaluar como codigo
Asigna cR a car
Evalua cad_comp_imp, utilizando a car y numR, y asigna el resultado a catR_car
Asigna el primer elemento de catR_car a stRcar;
Crea una cadena de caracteres con el segundo elemento de catRcar, y asigna el resultado a
stReval
Crea una cadena de caracteres, utilizando a stPcar y la asigna a stPc
Imprime un mensaje, donde se utiliza a stRc como cadena de caracteres a imprimir y a stReval
como cadena de caracteres a evaluar como codigo
Asigna cP a car
Evalua cad_comp_imp, utilizando a car y numP, y asigna el resultado a catP_car
Asigna el primer elemento de catP_car a stPcar;
Crea una cadena de caracteres con el segundo elemento de catPcar, y asigna el resultado a
stPeval
Crea una cadena de caracteres, utilizando a stPcar y la asigna a stPc
Imprime un mensaje, donde se utiliza a stPc como cadena de caracteres a imprimir y a stPeval
como cadena de caracteres a evaluar como codigo
IF CmI es igual a 1
Asigna I a car
Evalua cad_comp_imp, utilizando como parametros a car y numI, y asigna el resultado
catI_car
Asigna el primer elemento de catI_car a stIcar;
Crea una cadena de caracteres con el segundo elemento de catIcar, y asigna el resultado a
stIc
Crea una cadena de caracteres, utilizando a stIcar y la asigna a stIc
Imprime un mensaje, donde se utiliza a stIc como cadena de caracteres a imprimir y a
stIeval como cadena de caracteres a evaluar como codigo