Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROCEDIMIENTOS
Una función de EES es un segmento de código que acepta una o más entradas y devuelve un
único resultado asociado con el nombre de función. Un procedimiento de EES es similar a una
función, pero puede devolver uno o más resultados y se accede a ella por la instrucción Call. El
código que se emplea en funciones y procedimientos es dramáticamente diferente del código
utilizado en la parte principal de un programa de EES; funciones y procedimientos utilizan
instrucciones de asignación en lugar de igualdades. Funciones y procedimientos proporcionan
varias ventajas importantes. En primer lugar, hacen que sea más fácil para programar un modelo
grande al permitir que el código que se divide en varias partes más pequeñas que son cada uno
más fácil de entender y depurar. En segundo lugar, EES funciones y procedimientos permite el
uso de sentencias de lógica de programación, como por ejemplo, la repetición, hasta e
instrucciones GOTO If-Then-Else, que no se pueden utilizar en el cuerpo principal de EES. En
tercer lugar, las funciones y procedimientos se pueden guardar en un archivo después de que
hayan sido depurado y comprobado, que les permite ser re-utilizados en otros programas de la
EEE o en un archivo de biblioteca, como se explica en el capítulo 11. Este capítulo presenta las
capacidades básicas de las funciones y procedimientos. Subprogramas y módulos comparten
algunas de las ventajas de las funciones y procedimientos, pero utilizan ecuaciones en lugar de
asignaciones como se discutió en el capítulo 10.
Esta declaración no puede ser una ecuación válida, ya que la variable X no puede ser igual a X +
1. Si se introduce este contenido en la ventanilla de las ecuaciones EES, intentará resolver
numéricamente, usando los métodos descritos en la sección 5.1. Con los criterios de parada por
defecto, EES encontrará una solución de X = 5x1017. Con este valor de X, el residual (que está
relacionada con la diferencia entre el
lados izquierdo y derecho de la ecuación) es menor que la tolerancia predeterminada; Por lo
tanto, parece EES ser una solución válida. Sin embargo, esto probablemente no es la solución
que se pretendía.
X: = X
+1
Este requisito se ha relajado en las versiones actuales de EES por la aplicación de la opción
Permitir = diálogo en la función / procedimiento ecuaciones que se pueden seleccionar en la
pestaña Opciones de las preferencias como se muestra en La Figura 3-1. Esta opción está
seleccionada por defecto y provoca EES para aceptar tanto el signo igual y el operador de
asignación de funciones y procedimientos.
Figura 3-1: Preferencias de diálogo que muestra la opción que permite el signo = para instrucciones de
asignación.
Las sentencias de asignación son mucho más estructurados que las ecuaciones. Cada declaración
incluida en una función o procedimiento debe estar dispuesto de manera que la variable que se
está asignando un valor aparece por sí mismo en el lado izquierdo de la declaración. Las
instrucciones se ejecutan exactamente en el orden en que se introducen. Una ventaja principal de
instrucciones de asignación es que permiten el uso de construcciones lógicas, tales como estados
de Si-THEN-ELSE, como se describe en la Sección 3.4.
3.2funciones
EES funciones internas se pueden escribir directamente en la ventana de ecuaciones. Las funciones
externas pueden ser escritos en cualquier lenguaje compilado, como se discutió en el Capítulo 19.
Formato de las
funciones
Las funciones internas deben tener el formato como se
muestra a continuación:
Capítulo 3: Funciones y 83
Procedimientos
Function_Name función (Entrada 1, Entrada 2, ..., N
de entrada)
instrucción de asignación (s) - nota de que uno de ellos debe tener la forma:
Function_Name = ...
Fin
al
Una función debe tener al menos un argumento y debe ser llamado con el mismo número de
argumentos que aparecen en la declaración de la función. Los nombres de los argumentos en la
necesidad declaración llamando no coincidir con el nombre de los argumentos de la declaración
de la función; Sólo su orden importa. Los estados dentro de la función sólo puede referirse a
variables que se pasan a la función como argumentos de entrada o previamente definidos dentro
de la función en sí. Todas las variables utilizadas en el cuerpo de una función local de la función,
excepto las variables globales en el cuerpo principal de un programa de EES que se han definido
usando la directiva $ Común, que se describe en la Sección
14.3. Las funciones devuelven el valor asignado en la declaración Function_Name = ... en el
cuerpo de la función.
Las funciones pueden referirse a cualquier otra función incorporada, procedimiento o otras
entidades de programas que se han cargado mediante un archivo de biblioteca (véase el Capítulo
11). Sin embargo funciones no pueden llamarse a sí mismos, es decir, que no se pueden utilizar de
forma recursiva. Las funciones no pueden llamar a un módulo pero pueden llamar subprogramas
(descritos en el Capítulo 10). Funciones (y procedimientos) debe utilizar la configuración del
sistema unidad que se establecen en el programa principal. sistema de unidad diferente para cada
función o procedimiento no se puede especificar.
La función que devuelve el factor de fricción f será llamado f_Darcy. Un listado de la función sigue.
Función f_Darcy (Re, RR) f = 8 * ((8 / Re) ^ 12 + ((2.457 * ln (1 / ((7 / Re) ^ 0.9 + 0.27 * (RR)))) ^ 16+
(37530 /Re)^16)^(-1.5))^(1/12)
f_Darcy =
extremo f
La función que deben aparecer en la parte superior de la ventana de ecuaciones, antes que
cualquiera de las ecuaciones de la sección principal del programa EES. La función se accede por
su nombre con los valores previstos número de Reynolds y la rugosidad relativa. El siguiente
código, introducida después de la declaración de la función:
dará lugar a la solución mostrada en la ventana Figura 3-2(un). Tenga en cuenta que además de la
lengüeta principal que muestra las variables en la ventana de ecuaciones ahora hay una segunda
pestaña con una etiqueta que corresponde al área de trabajo de función. Al seleccionar la pestaña
f_Darcy muestra la ventana se muestra en SolucionesFigura 3-2(B), que contiene los valores de
las variables en el espacio de trabajo de función durante la última llamada a la función.
(a) (si)
Figura 3-2: Soluciones de ventana que muestra (a) principal y (b) f_Darcy pestañas.
Capítulo 3: Funciones y 85
Procedimientos
Segundo ejemplo de una función
Como un segundo ejemplo, vamos a desarrollar una función que implementa la ecuación de Peng-
Robinson de estado, mostrados en la Ec. (3-2), con el fin de estimar la presión de un fluido (P)
dado su volumen específico
(V) y la temperatura (T). VerKlein y Nellis (2012) para más información sobre esta y otras
ecuaciones de estado.
RT un
PAG (3-2)
v - b v v si si v
- b
Para el fluido de interés, los parámetros en la ecuación de Peng-Robinson de estado son R = 188,9
J / kg-K, a = 70,89 N-m4 / kg2 y b = 0,0006059 m3 / kg. La función se llama PR y se coloca en la
parte superior de la ventana de ecuaciones:
Función PR (v, T)
R = 188,9 [J / kg-K]
a = 70,89 [Nm ^ 4 / kg ^
2] b = 0,0006059 [m ^ 3
/ kg]
PR = R * T / (vb) -a / (v * (v + b) + b *
(VB)) End
Tenga en cuenta que las unidades de las constantes se especifican entre corchetes, como se discute
en la Sección
1.5. La función de PR se llama con el fin de estimar la presión en v = 0,1 m3 / kg y T = 325 K
con el código siguiente:
(a) (si)
Figura 3-3: (a) pestaña principal de la ventana Soluciones que muestra advertencias unitarios y (b) PR
lengüeta de la función que muestra las unidades establecidas para cada variable.
86 Capítulo 3: Funciones y
Procedimientos
Tenga en cuenta que incluso con las unidades de todas las variables en la ventana de ecuaciones
ajustado correctamente, EES sigue reportando varios problemas posibles de la unidad. Elija la
fecha de unidades con el fin de visualizar las unidades de diálogo Check muestran enLa Figura 3-
4. Las advertencias unidad del resultado del hecho de que las unidades de las variables utilizadas
en el espacio de trabajo de la función de PR no se han fijado y por lo tanto son incompatibles
entre sí y también incompatibles con las unidades de los argumentos que se pasan hacia atrás y
adelante entre la función y la Ventana de ecuaciones . cheques EES la consistencia unidad de las
variables en las funciones y procedimientos (y los módulos y subprogramas, que se analizan en el
Capítulo 10), así como las variables en la ventana de ecuaciones. Seleccione la pestaña de PR en
la ventana de Soluciones y especificar las unidades de cada una de las variables en el espacio de
trabajo de relaciones públicas, como se muestra enFigura 3-3(si). Tenga en cuenta que las
unidades de cada una de las variables internas al espacio de trabajo PR (a, b, y R), así como los
argumentos de entrada (V y T) y la salida (PR) deben estar ajustados en la advertencia
consistencia unidad de evitar.
3.3procedimientos
procedimientos EES son muy similares a las funciones de la EEE, a excepción de que permiten
múltiples salidas y deben ser accedidos usando el comando Llamar.
Formato de
Procedimientos
El formato de un procedimiento se muestra
a continuación:
salida) sentencia (s) Asignación - Tenga en cuenta que algunos de estos debe tener la
forma:
Salida 1 = 2
= salida ... ...
...
Salida M = Fin ...
Las funciones pueden referirse a cualquier otra función incorporada, procedimiento o otras
entidades de programas que se han cargado utilizando un archivo de biblioteca (Capítulo 11). Sin
embargo procedimientos, como funciones, no pueden llamarse a sí mismos. Los procedimientos no
pueden llamar a un módulo pero pueden llamar a subprogramas (descritos en el capítulo 10).
Ejemplo de un
Procedimiento
Vamos a ilustrar el uso de un procedimiento con un ejemplo sencillo que se encuentra el
producto, ratio, suma y diferencia (M, D, A, S) de dos valores (X e Y):
Una instrucción Call válida para Procedimiento de prueba se muestra más arriba es:
Cuando se ejecuta este código, EES asignará X e Y en Procedimiento de prueba a ser 33 y 44,
respectivamente. Se evaluará cada una de las cuatro salidas y asignarlos a los cuatro valores en
la lista de salida: producto, cociente, Suma y Diferencia. Una pestaña en la ventana de
Soluciones muestra las variables de la ventana principal Ecuaciones y el espacio de trabajo para
el procedimiento de prueba, como se muestra en Figura 3-6.
Capítulo 3: Funciones y 89
Procedimientos
(a) (si)
Figura 3-6: fichas de la ventana solución para (a) Ventana Ecuación principal y (b) el espacio de trabajo para
el procedimiento de Prueba.
Llamada de Prueba (X, Y: producto, cociente, 88, 32) "Llamada alternativa al procedimiento de
prueba"
En este caso, se especifican los valores de las dos últimas salidas. Estas salidas son la suma y
diferencia de las entradas, X y Y. EES intentará determinar los valores de las entradas X e Y que
proporcionan las salidas especificadas, utilizando iteración si es necesario. Después de la resolución,
la ventana Solución aparecerá como se muestran en la Figura 3-7.
Figura 3-7: Ventana Solución que muestra los resultados locales para el Procedimiento Prueba.
Al igual que las funciones de la EEE, los procedimientos se pueden guardar por separado y
utilizados en otros programas de EES. La manera más conveniente de hacerlo es guardar el
procedimiento como un archivo de biblioteca, como se detalla en el capítulo
11. EES soporta ambos procedimientos internos y externos. Los procedimientos internos se
introducen directamente en la parte superior de la ventana de ecuaciones, como se describe en
esta sección. Los procedimientos externos están escritos en un lenguaje de alto nivel como C,
Pascal o FORTRAN y llamaron de EES. La instrucción Call para ambos tipos de procedimientos
es idéntico. Capítulo 19 proporciona instrucciones para la escritura y el uso de funciones y
procedimientos externos.
90 Capítulo 3: Funciones y
Procedimientos
Si (prueba condicional)
Declaración
Entonces (s)
Más
Declaración
(s) EndIf
La principal diferencia entre estos dos formatos es que el formato de varias líneas permite que una
o más sentencias de asignación o instrucciones lógicas que se ejecutarán en función del resultado
de la prueba condicional, mientras que el formato de una sola línea permite sólo una instrucción a
ser ejecutada. Las palabras clave más y EndIf que aparecen en el formato de varias líneas cada
uno debe aparecer en una línea por sí mismo, como se muestra arriba. La sangría puede ser
utilizado para hacer la lógica fluya más clara. Múltiple línea Si-then-else puede incluir
declaraciones If-Then-Else adicional, que prevé la evaluación condicional anidada.
Los paréntesis alrededor de la prueba condicional suelen ser opcionales, pero se recomiendan para
la lectura de la claridad. Sin embargo, hay situaciones en las cuales se requieren los paréntesis con
el fin de obtener el resultado deseado. EES procesa las operaciones lógicas de izquierda a derecha
a menos paréntesis se proporcionan con el fin de cambiar el orden de análisis. Tenga en cuenta
que los paréntesis alrededor del (x> 0) y (y <> 3) se requieren en el siguiente de una sola línea If-
Then-Else comunicado con el fin de reemplazar el valor predeterminado orden de izquierda a
derecha procesamiento lógico:
Todas las variables, excepto las variables de cadena () utilizados en EES se representan con los
números reales de coma flotante de 10 bytes que proporcionan 20 cifras significativas de
precisión numérica. EES no proporciona número entero tipos de datos. Por esta razón, se debe
tener cuidado cuando se utiliza el operador = relacional, como dos valores pueden ser bastante
cerca uno del otro, pero no exactamente iguales. La <= o> = operadores generalmente deben
usarse en lugar del operador =. Alternativamente, las funciones de la Ronda y trunc se pueden
utilizar para asegurar que un valor es exactamente igual a un número entero. Las variables de
cadena deben ser comparados con el operador =.
Las declaraciones
de retorno
La declaración de retorno sólo se puede utilizar dentro de las funciones y procedimientos. Cuando
EES se encuentra con una instrucción Return, que saldrá de la función o procedimiento y el
control continúa en el punto en el que recibió el nombre de función o procedimiento. La sentencia
return se utiliza en construcciones lógicas con los If-Then-Else o repeat-until declaraciones.
El siguiente ejemplo se desarrolla una función llamada Nusselt que utiliza la lógica para
proporcionar el valor apropiado del número de Nusselt no dimensional para el flujo totalmente
desarrollado en una tubería circular sometido a una constante de flujo de calor, dado el número de
Reynolds (Re), el número de Prandtl (Pr ), y la rugosidad relativa (RR). Los usos de función
correlaciones se presentan en Nellis y Klein
(2009)1. Para el flujo laminar (Re <2,300), el número de Nusselt es una constante:
Nu 4.36 (3-3)
La función comienza mediante la asignación de Nusselt un valor consistente con flujo laminar y el
uso de la
instrucción de retorno para volver al programa principal, si Re <2300.
92 Capítulo 3: Funciones y
Procedimientos
1
Tenga en cuenta que la biblioteca de Transferencia de Calor, discutido en el capítulo 12, ofrece una versión
mucho más potente de esta función, así como otras funciones y procedimientos basados en el libro de texto
Transferencia de Nellis y Klein calor.
Capítulo 3: Funciones y 93
Procedimientos
Para flujo turbulento (Re> 2300), el factor de fricción se calcula de acuerdo con:
2
F
2 RR - 5,02 2 RR 13 (3-4)
10
Re
10
log
7.54 Re 7.54
F
Re 1000Pr
Nu
8
(3-5)
112.7 Pr 1 8
23
Tenga en cuenta que la correlación Gnielinski sólo es válida para 2300 <Re <5x106. La función
continúa mediante el uso de las ecuaciones. (3-4) y (3-5) para asignar Nusselt un valor que es
consistente con flujo turbulento. La sentencia return se utiliza para volver al programa de llamada
si el número de Reynolds es inferior a 5x106.
Una mejor manera de manejar esta situación es el uso de los procedimientos de advertencia o
error, que se describen en la sección 3.7. La función se ensaya a diferentes números de Reynolds:
"Probar la función"
Nu # _laminar = Nusselt (1000,0.7,0.001) "Prueba de flujo laminar"
Nu # _turbulent = Nusselt (5000,0.7,0.001) "Prueba de flujo turbulento"
Nu # _outofRange = Nusselt (6E6,0.7,0.001) "Prueba de fuera de alcance"
Ir a la línea #
donde la línea # es una etiqueta de declaración de que debe ser un número entero entre 1 y 30000.
etiquetas Declaración de preceder a una instrucción de asignación y se separan de la declaración
de dos puntos (:). Una etiqueta de declaración también puede aparecer en una línea por sí mismo.
La instrucción GoTo se debe utilizar con IF-THEN-ELSE declaraciones para ser útil.
La función siguiente ilustra el uso de Goto y declaraciones If-Then-Else en el cálculo del factorial
de un valor suministrado como argumento.
La función informativa se prueba y se compara con el valor devuelto por la función incorporada en
Factorial en EES.
Repetir
Declaración (s)
...
Hasta (prueba condicional)
Función de Datos
(N)
Hecho: = 1 "factorial"
Si (n = 0), entonces de regreso "Comprobar para N = 0"
Repetir
Hecho: = Fact * N "Comenzar con el argumento"
N: = N-1; "El argumento de decremento por uno"
Hasta (N <= 1)
Fin
al
Función PR (v,
T)
R = 188,9 [J / kg-K]
a = 70,89 [Nm ^ 4 / kg ^
2] b = 0,0006059 [m ^ 3
/ kg]
PR = R * T / (vb) -a / (v * (v + b) + b *
(VB)) End
En algunos casos, puede que no sepa las unidades de las variables en una función o procedimiento
hasta que se ejecuta. La función de PR anteriormente, por ejemplo, está escrito con la expectativa de
que será llamada con el sistema de unidades EES configurado para unidades SI estándar de m, K, J, y
Pa. Sería bueno para ser capaz de tener este trabajo función correctamente cuando se llama desde un
programa de EES que está utilizando cualquier conjunto de unidades. Esto es particularmente
importante para aquellas funciones o procedimientos que se colocan en las bibliotecas. Esta
96 Capítulo 3: Funciones y
capacidad puede ser implementado utilizando la función unitSystem $.
Procedimientos
donde Dimensión $ es una cadena que contiene la dimensión de interés. La función unitSystem $
devuelve la cadena Unidad $ que contiene las unidades esperadas de la dimensión de la
configuración del sistema unidad que EES está configurado para trabajar. Los ajustes del sistema
unidad se pueden especificar como se discute en la Sección 1.5 utilizando la directiva unitSystem
$ en el Principal cuerpo del programa EES o en la ficha Sistema de unidades del cuadro de
diálogo Preferencias.
Función PR (v,
T)
"Obtener los ajustes de la unidad en EES"
v $ = $ unitSystem ( 'Volumen') "V $ es las unidades de volumen específico que
EES se ajusta en" T $ = $ unitSystem ( 'Temperatura') "T $ es la unidad de temperatura que
EES se establece en" P $ = unitSystem $ ( 'presión') "P $ es que las unidades de presión
EES se ajusta en"
Los cálculos se llevan a cabo en unidades del SI de base, como antes, con el fin de obtener la
presión predicha por la ecuación de Peng-Robinson de estado en unidades del SI de base (PR_SI).
"Realizar cálculos"
R = 188,9 [J / kg-K]
a = 70,89 [Nm ^ 4 / kg
^ 2] b = 0,0006059 [m ^
3 / kg]
PR_SI = R * T_SI / (v_SI-b) -a / (v_SI * (v_SI + b) + b * (v_SI-b)) "Presión, en Pa"
La función ahora se puede utilizar con cualquier configuración de la unidad de EES. Por ejemplo,
en el código a continuación las unidades se establecen en el sistema de unidades Inglés.
98 Capítulo 3: Funciones y
Procedimientos
Las unidades de las variables en la función de espacio de trabajo de relaciones públicas deben
establecerse en la página apropiada de la ventana de información variable, como se muestran en la
Figura 3-9.
Tenga en cuenta que las unidades de variables tales como a, b, y T_SI todo se puede ajustar de
una manera directa, ya que no son ambiguas; se trata de variables que estarán en unidades SI
básicas, independientemente de los ajustes de la unidad de EES. Sin embargo, no hay manera de
saber en general, las unidades de variables tales como V, T y PR ya que estas variables tendrán
unidades que sean consistentes con los ajustes de la unidad en EES. Por lo tanto, las unidades de
estas variables se establecen utilizando las cuerdas v $, T $ y P $, respectivamente, de modo que
se ajusta automáticamente según la configuración de la unidad EES actuales.
Hay, sin embargo, varios problemas potenciales con este código. Por ejemplo, si cambia N
de 5 a 150, verá el mensaje de error espectáculon en la figura 3-10.
Figura 3-10: Mensaje de error que aparece cuando se intenta llamar a la función SumSquares con norte =
150.
¿Por qué EES resolver este programa cuando N = 5, pero no cuando N = 150? La explicación de
este problema requiere una comprensión de cómo maneja EES las ecuaciones que se introducen
en la ventana de ecuaciones. Todas las ecuaciones en EES se compilan; Es decir, que se
traducen en una forma interna que minimiza el esfuerzo computacional requerido para
evaluarlas. EES se inicia en la parte superior de la ventana de ecuaciones y compila las
ecuaciones de uno en uno. La ventana de ecuaciones comienza con la declaración de la función
de SumSquares. Sin embargo, EES no puede conocer el valor de N que será proporcionada a la
función como un argumento. Sin conocer el valor de N, EES no puede compilar las ecuaciones
que definen la función.
Cuando EES no conoce el valor de un límite de índice de matriz, se asume que es 100 por
defecto. El A [1..N] que aparece en la declaración de la función para SumSquares está por lo
tanto interpretarse como un [1..100] cuando se compila la función. Cualquier valor de N que es
inferior o igual a 100 funcionará correctamente cuando esta función se llama, pero la función
falla cuando N es mayor que 100.
Hay varias maneras de resolver este problema. En primer lugar, podría cambiar el límite superior
del índice de la matriz a ser 200 en la declaración de la función.
Capítulo 3: Funciones y 10
SumSquares de función (N, A [1..200])
Procedimientos 1
10 Capítulo 3: Funciones y
2 Procedimientos
Ahora, el programa va a resolver cuando n se fija en 150 o cualquier valor que es menor que o
igual a 200 porque EES está reservando 200 elementos para la matriz A en la función. Tenga en
cuenta que el índice de matriz superior no necesita ser igual al tamaño de la matriz proporcionada
a la función en el programa de llamada (aunque eso es deseable). Sólo tiene que ser mayor que el
tamaño de la matriz proporcionada por el programa de llamada. El tamaño de la matriz máximo
admisible que se puede pasar a una función de esta manera es 2000 en la implementación actual
de EES.
Este método de pasar información a una función no es también conveniente porque el valor de N
no es ajustable. Si el límite superior se establece en 200 en la directiva $ Común, se emitirá un
mensaje de error. Del mismo modo, si N es cambiado a 50 en el programa de llamada a
continuación, un mensaje de error será emitido. El ejemplo anterior requiere N a cambiarse tanto
en el programa principal y la función de si se cambia su valor.
Capítulo 3: Funciones y 10
Procedimientos 3
El uso de la directiva $ constante para establecer
los límites de matriz
Probablemente la mejor alternativa es utilizar una constante global para establecer el límite de
matriz. constantes globales se pueden definir usando la directiva $ constante, como se discute en
la Sección 1.9. Las constantes deben tener # como el último carácter en su nombre. En el
ejemplo siguiente, el tamaño de la matriz es especificado por la constante N global # y se utiliza
para establecer el límite superior de la matriz pasa a la función. Debido a que el valor de la
constante es conocida en el momento en que las ecuaciones se compilan, el tamaño de la matriz
se puede asignar correctamente. Sólo el valor de N # en las necesidades del programa a ser
cambiado para adaptarse a diferentes tamaños de matriz.
duplico i = 1, N #
X [i] = i "Establecer el valor de los elementos de la matriz"
fina
l
SS = SumSquares (X [1..N #]) "Llame a la suma de los cuadrados de función"
El siguiente ejemplo calcula la temperatura de un objeto que está inicialmente en Tini y se somete
a la convección y la radiación a partir de un entorno a T∞. El área de superficie del objeto es
medida y la capacidad de calor total es C. El coeficiente de transferencia de calor por convección
es h y el objeto
se supone que tiene una emisividad de ε = 1. Suponiendo que el objeto está a una temperatura
uniforme,
la tasa de tiempo de cambio de su temperatura está
dada por:
4
4
El uso de la técnica de Euler para integrar la ecuación. (3-6) conduce a la temperatura en el índice i
+ 1:
Una h T T UN T 4 T 4
Ty
s yo
t
yo s
Tyo1 (3-9)
o C
Repetir
tiempo [i + 1] = tiempo [i] + DTIME
T [i + 1] = T [i] + (A_S * h_bar * (T_infinity-T [i]) + A_S * sigma # * (T_infinity ^ 4-T
[i] ^ 4)) * DTIME / C i: = i + 1
Hasta (i> N)
Temp = T [N + 1]
Fin
al
lo que lleva al resultado T_final = 449 K. Tenga en cuenta que las unidades de las variables
utilizadas en el Temp de la función se pueden establecer más fácilmente ser la selección de la
opción TEMP Función del menú desplegable en el cuadro de diálogo de información variable y
seleccionando de-la Exposición opción de variables de matriz. De esta manera, todas las unidades
en las matrices T [] y hora [] se pueden especificar al mismo tiempo, como se muestra en la figura
3-11.
Las matrices T [] y hora [] no se pasan de la parte posterior del espacio de trabajo función para el
programa EES. Las variables de matriz desde la última llamada a la función están disponibles
mediante el examen de la pestaña de temperatura de la ventana de soluciones, como se muestran
en la figura 3-12.
$ Arrays En
DTIME: = duración / N "Hora de caminar"
T [1]: = T_ini "Temperatura inicial"
tiempo [1]:
= 0 i: = 1
Repetir
tiempo [i + 1] = tiempo [i] + DTIME
T [i + 1] = T [i] + (A_S * h_bar * (T_infinity-T [i]) + A_S * sigma # * (T_infinity ^ 4-T
[i] ^ 4)) * DTIME / C i: = i + 1
Hasta (i> N)
Temp = T [N
Fin + 1]
al
(a) (si)
Figura 3-13: (a) de la ventana Arrays para la Temperatura función y la temperatura (b) como una función del
tiempo.
El procedimiento de alerta puede ser llamada con una cadena de alerta previsto en
función de:
donde la cadena contendría un mensaje descriptivo sobre el problema. En este caso, EES generará
el mensaje de advertencia contenida en la cadena. El procedimiento de alerta también se puede
llamar tanto con una cadena de advertencia y una variable numérica, de acuerdo con:
donde Y es un número o una variable numérica. En este caso, los caracteres XXX en la cadena
serán reemplazados por el valor de la Y. parámetro Si una opción de formato (por ejemplo, F1
para decimal fijo con una cifra significativa en la llamada anterior) sigue a los personajes XXX
entonces la visualización de la variable Y será formateado en consecuencia. Si no se proporciona
ningún formato, se asume formato automático. El procedimiento de alerta puede ser llamada con
una cadena de advertencia y una variable de cadena, de acuerdo con:
donde Y $ es una variable de cadena. En este caso, la cadena contenida en Y $ reemplazará los
caracteres XXX $ cuando se emite la advertencia. Por último, el procedimiento de alerta se puede
llamar con sólo una variable numérica:
Call Advertencia
(Y)
En este caso, EES generará el siguiente mensaje de advertencia genérica: "Un mensaje de
advertencia se emitió debido al valor XXX en ZZZ". Donde los personajes XXX será reemplazado
con el valor de Y y el ZZZ caracteres serán reemplazados por el nombre de la función o
procedimiento en el que aparece la instrucción de llamada de advertencia.
Como un ejemplo, una llamada al procedimiento de alerta ha sido añadido a la función de Nusselt
104 Capítulo 3: Funciones y
que fue presentado en la Sección 3.4. El procedimiento Procedimientos
de alerta se llama si el número de
Reynolds proporcionada por el usuario está fuera de la gama de la correlación.
Capítulo 3: Funciones y 105
Procedimientos
Función de Nusselt (Re, Pr,
RR)
"Flujo laminar asumir es"
Nusselt = 4,36 [-] "Flujo laminar número de Nusselt"
si (Re <2,300) a continuación, volver "Retorno si el flujo es laminar"
se mostrará la advertencia muestrann en la figura 3-15 (Siempre que las advertencias están
habilitados).
Figura 3-15: Mensaje de advertencia aparece cuando la función Nusselt se llama con Re = 6E6.
Figura 3-17: Mensaje de error aparece cuando se llama a la función Nusselt con Re = 6E6.
Al hacer clic en el botón Rastreo mostrará la línea que inició el mensaje de error siempre que el
código se encuentra en la ventana de ecuaciones en lugar de en un archivo de biblioteca
almacenada en el disco
referencias
Churchill, SW 1977, 'Factor de fricción abarca todos los regímenes de flujo de fluidos,' Chem.
Ing. (Rugby, Reino Unido) 84 (24), pp.91-91.
Klein, SA y Nellis, GF, Termodinámica, Cambridge University Press, Nueva York, (2012). Nellis,
GF, y Klein, SA, transferencia de calor, Cambridge University Press, Nueva York, (2009).