Vous êtes sur la page 1sur 30

M ANUAL AYUDA DE LOS ARCHIVOS DE DATOS NECESARIOS PARA

EJECUTAR EL SIMULADOR DE MOTOR (SIM1D)

Divisin Mecnica Computacional aplicada a motores de combustin interna


Centro Internacional de Mtodos Computacionales en Ingeniera
(CIMEC-INTEC-CONICET)

Ctedra de Motores
Especialidad Ingeniera del Automvil
Escuela de Ingeniera Mecnica (EIM)
Universidad Nacional de Rosario (UNR)

Q chem

Qht
Qht

COOLING
WATER

Julio 2006
El simulador de motor SIM1D requiere de al menos 1 archivo de datos cuyo nombre por el
momento debe ser datos.dat.

Este archivo de texto (editable con cualquier editor de texto) tiene datos que a
continuacin se explican.
Antes de empezar es necesario saber que el smbolo numeral al comienzo de cualquier
lnea equivale a un comentario.

Los datos estn separados por categoras basados en la sentencia NAMELIST de


Fortran90. Es por ello que cada grupo tiene un inicializador y un terminador. A modo de
ejemplo tenemos

&nombre

donde nombre es el rtulo que identifica al tipo de dato que comienza con el smbolo & y
termina con la barra /.
Todo lo que est en el interior son datos que deben estar definidos en el NAMELIST
Ejemplo 1:

Tomaremos el archivo de prueba datos_prueba_1.dat y lo iremos explicando a medida


que lo vayamos recorriendo. En negritas pondremos los trozos del archivos y en italic la
explicacin.

# Motor de 4 cilindros a (iso-octano) llevado a monocilindrico


#
# -------------Versin 1 CILINDRO Y TUBO DE ADMISION Y ESCAPE----------------

Comentarios con la descripcin del ejemplo

#-------------<Datos Generales>---------------#

Comentario identificando que comienzan los datos generales.

&nlist_gral

Comienzo del NAMELIST correspondiente a los datos generales

inicia = .false.

Llave que permite arrancar una rutina desde el comienzo (.true.) o recomenzar una corrida
previamente hecha (.false.) a los fines de continuarla.

ncycle =5

Nmero mximo de ciclos termodinmicos a efectuar. Hay que tener en cuenta que se
requieren algunos ciclos para lograr una solucin lmite o convergida. Esta se evidencia
por una variacin del torque o la potencia de ciclo a ciclo menor que una cierta tolerancia
definida como del 1%.

filein_state = 'motor_01800.state'
filein_spd = 'motor_01800.spd'

Nombre de los archivos que contienen el estado en los nodos (extensin .state) y la
concentracin en porcentaje en masa de combustible, aire y productos para el caso que se
requiere esta informacin, por ejemplos modelos que incluyen dispositivos EGR.

filesave_state = 'motor_'
filesave_spd = 'motor_'

Raz del nombre de los archivos que contendrn los estados en los nodos (extensin .state)
y la concentracin en porcentaje en masa de combustible para toda la gama de regmenes
de giro del motor. Para cada diferente velocidad de giro se le concatena al nombre del
archivo el valor de la rpm, por ejemplo, si en este caso estamos corriendo a 2200 rpm el
archivo se llamar motor_02200 con la extensin correspondiente.

ntubes = 2

Nmero de tubos en la configuracin del motor.

ncyl =1

Nmero de cilindros en la configuracin del motor.

ntank = 0

Nmero de tanques en la configuracin del motor.

njunc = 0

Nmero de uniones en la configuracin del motor.

nvalves = 2

Nmero de diferentes tipos de vlvulas en la configuracin del motor. Normalmente 2 para


poder considerar una vlvula de admisin y otra de escape diferentes. No obstante podra
haber ms si tuviramos el caso de motores con 3 vlvulas por cilindro, 2 en la admisin
distintas entre s y una en el escape.

nswirl = 0
Nmero de vlvulas de swirl en la configuracin del motor. Esta opcin no est muy
operativa en la actualidad. Est en revisin.

nvalves_EGR = 0

Nmero de vlvulas EGR que permiten regular la cantidad de gases de escape


recirculados a la admisin.

nsave =5

Frecuencia con la cual se salva (sobrescribe) el estado y la concentracin de especies en


los archivos filesave_state y filesave_spd

nappend =5

Frecuencia con la cual se apendiza en un archivo el estado en aquellos nodos de la


configuracin definidos para este fin. Estos representan los puntos de muestreo de la
solucin (ver archivo manual_sim1d.pdf). Los nodos de muestreo se definen en las
prximas dos variables.
nnod_sampling = 3

Cantidad de nodos de muestreo que sern usados para visualizar posteriormente la


solucin.

node_sampling = 2 5 6

Numeracin de los nodos de muestreo en la configuracin inicial. En este caso los nodos 2,
5 y 6. (Ver figura con la configuracin al final)

ndf =3

Cantidad de grados de libertad mxima por nodo de la configuracin.

nsp =3

Cantidad de especies mxima por nodo de la configuracin.

nnod_red =9

Cantidad de nodos de la configuracin.

dtheta_rpm = 1.0

Intervalo mximo de ngulo de cigeal entre paso de tiempo. El simulador elige


interiormente un paso de tiempo conforme a criterios fsicos y numricos para garantizar
la estabilidad. Normalmente nunca supera 1 grado de giro del cigeal. Con este valor
uno puede regular esto.

nrpms = 22

Cantidad de velocidades de giro del cigeal a ensayar.

rpms = 2000.00000 2200.00000


2400.00000 2600.00000 2800.00000 3000.00000 3200.00000
3400.00000 3600.00000 3800.00000 4000.00000 4200.00000
4400.00000 4600.00000 4800.00000 5000.00000 5200.00000
5400.00000 5600.00000 5800.00000 6000.00000 6200.00000

Velocidades de giro a ensayar..

Courant = 0.5

Criterio numrico para garantizar la estabilidad temporal. Este valor nunca debe ser
mayor que 1 pero a veces se requiere que sea algo menor. Cuanto ms chico ms preciso
en el tiempo es pero a la vez es ms costoso..
ga = 1.4

Para clculos donde la concentracin no juega ningn role se puede usar un valor de
coeficiente gamma fijado por el usuario.

viscous_flow = 1.0

Llave que permite activar la friccin viscosa en los tubos.

heat_flow = 1.0

Llave que permite activar la transferencia de calor de los tubos con el exterior.

R_gas = 287.0

Constante particular de los gases para el aire.

rho_atm = 1.1647

Densidad atmosfrica.

vel_atm = 0.000

Velocidad de entrada del aire atmosfrico a los tubos.

p_atm = 101330.0
Presin atmosfrica.

T_atm = 303.15

Temperatura atmosfrica.

mfrac_atm = 0.0 0.2200910204 0.7650385386 9.913863271e -3


4.956577746e -3 0.0 0.0 0.0 0.0 0.0 0.0 0.0

Fraccin msica de los distintos componentes del aire atmosfrico (12 especies). En este
momento est fuera de uso. Se prev en el futuro incorporarlo.

ig_order =1

Orden de encendido en el caso pluricilndrico.

write_cylinder_state = .true.

Activa la escritura del estado en cada uno de los cilindros para evaluar su evolucin
temporal.
time_functions_flag

Este flag permite incorporar funciones temporales definidas por el usuario para algunos
de los grados de libertad de algunos de los nodos de la configuracin del motor.

number_time_functions

Cantidad de funciones temporales a ser definidas mediante el NAMELIST correspondiente.


En un prximo ejemplo veremos su uso.

crank_dynamics_flag

Este flag permite incorporar el clculo de la velocidad de giro del motor en funcin de un
torque resistente liberando la imposicin de velocidad de giro fijada por el usuario. Sirve
para evaluar como se comporta dinmicamente el motor ante variaciones de carga.

filein_crank

Este archive permite tomar los parmetros de la dinmica previamente computados si se


desea reiniciar una corrida ya comenzada.

Fin NAMELIST

#-------------<Datos del tubo de Adm.>---------------#

Comentario identificando que ahora se ingresan los datos del o de los tubos de admisin.

&nlist_tube

Comienza el NAMELIST de un tubo

itube = 1

Identificador del tubo

ndiam = 2

Cantidad de dimetros a ingresar para los tubos (interpola en forma lineal a trozos)

xdiam(1) = 0.0d0
xdiam(2) = 1.0d0

Coordenadas porcentuales del largo del tubo en los cuales se ingresar un dimetro.
diam(1) = 0.036
diam(2) = 0.036

Valores de los dimetros correspondientes a las coordenadas ingresadas.

ntwall = 2

Cantidad de diferentes temperaturas de pared a ingresar para los tubos (interpola en


forma lineal a trozos)

xtwall(1) = 0.0d0
xtwall(2) = 1.0d0

Coordenadas porcentuales del largo del tubo en los cuales se ingresar una temperatura
de pared.

Twall(1) = 300.0d0
Twall(2) = 300.0d0

Valores de la temperatura de pared correspondientes a las coordenadas ingresadas.

ncurva = 2

xcurva(1) = 0.0d0
xcurva(2) = 1.0d0

curva(1) = 0.0d0
curva(2) = 0.0d0

Esta opcin an no esta disponible. En el futuro permitir incorporar efectos de curvatura


de los tubos.

nnod = 40

Cantidad de nodos para discretizar el tubo.

long = 0.400

Longitud del tubo.

inod_tube_red(1) = 1
inod_tube_red(2) = 2

Numeracin de los nodos extremos del tubo en la configuracin del motor.

inod_bc(1) = 3
inod_bc(2) = 4
Numeracin de los nodos de referencia de los extremos del tubo en la configuracin del
motor. Cada nodo extremo de un tubo requiere un nodo de referencia del cual tomar o
calcular su estado en funcin del tipo de borde que sea. Ver prxima variable.

type_of_bc(1) = 1
type_of_bc(2) = 0

Identifica el tipo de borde. Si es de tipo 1 significa que all el extremo tomar los valores
impuestos de densidad y presin si es entrada de la atmsfera y presin si es salida a la
atmsfera. Si es de tipo 0 el estado en el nodo extremo se calcula como una funcin del
valor del estado de su nodo vecino interior y de su nodo de referencia (ver variable
indo_bc explicada anteriormente)

Fin NAMELIST

#-------------<Datos del Cilindro>---------------#

Comentario identificando que ahora se ingresan los datos del cilindro.

&nlist_cyl

Comienza el NAMELIST del cilindro

icyl = 1

Identificador del cilindro

node_C= 5

Numeracin del nodo correspondiente al cilindro en la configuracin del motor.

node_I_in= 2
node_E_in= 6

Numeracin de los nodos en la configuracin del motor correspondientes a la admisin y


al escape de los cuales el cilindro tomar los datos.

node_I_out= 4
node_E_out= 8

Numeracin de los nodos en la configuracin del motor correspondientes a la admisin y


al escape en los cuales el cilindro volcar sus resultados. Estos en general son los nodos
de referencia del extremo del tubo inmediato al cilindro por el lado de la admisin y por el
lado del escape.

Bore = 0.08051

Dimetro del cilindro en metros. Todas las medidas lineales son en metros, las de rea en
metros cuadrados y las de volumen en metros cbicos.

crank_radius = 0.0425

Radio del cigueal.

Vol_displacement = 4.0000e-04

Volmen desplazado por el motor.

Vol_clearance = 3.8095e-05

Volmen nocivo del cilindro.

rod_length = 0.128

Longitud de biela

head_chamber_area= 0.0051

Area del cielo de la cmara

piston_area = 0.0051

Area de la cabeza del pistn.

theta_ig_0 = 5.5851e+000

Avance al encendido en radianes

theta_ig_f = 7.8540e+000

Fin de la combustin en radianes

phi = 1.0

Relacin de equivalencia o relacin entre F/A y F/A estequeomtrico. F/A : relacin


combustible / aire.

Q_fuel = 44.0e6
Poder calorfico del combustible.

y = 2.25

Cantidad de tomos de hidrgenos respecto a los tomos de carbono del hidrocarburo.

Twall_cyl = 450

Temperatura de pared del cilindro.

valve_intake =1

Identificador de la vlvula de admisin

valve_exhaust =2

Identificador de la v lvula de escape

type_ig =0

0 para encendido por chispa (Otto) y 1 para encendido por compresin (Diesel)

model_ht =3

Tipo de modelo de prdidas trmicas.

= 1 modelo de ANNAND
= 2 1er modelo de WOSCHNI
= 3 2do modelo de WOSCHNI

En principio no debera haber diferencias sustanciales entre ellos. Se recomienda


cualquiera de ellos.

factor_ht = 1.

Parmetro de ajuste para el m odelo de prdidas trmicas que debe ser ajustado para
lograr que el motor termine erogando una cantidad de potencia similar a aquella relevada
en banco de ensayo previo a introducir los cambios a evaluar. Si el motor es un concept se
debera utilizar aquel que surja de la calibracin con un motor similar en la gama.

comb_var_meth = 0

Esta llave permite usar un modelo de combustin que tenga una duracin variable con el
rgimen de giro (rpms). Usar 0 salvo que se anime a tocar la rutina agregando aquel que
requiera evaluar y agregarle un identificador apropiado.

/
Fin NAMELIST

#-------------<Datos de los vlvulas>---------------#

Comentario identificando que ahora se ingresan los datos de las vlvulas.

&nlist_valve

Comienza el NAMELIST de las vlvulas

ivalve = 1

Identificador de las vlvulas

Nval = 2

Cantidad de vlvulas. Por ejemplo si el motor tuviera 4 vlvulas por cilindro, 2 de


admisin iguales entre si y 2 de escape iguales entre si, pero distinta entre ellas, entonces,
deberamos ingresar dos juegos de parmetros, uno para la admisin y otro para el escape
y en ambos casos Nval sera 2.

type_dat = 0

Sirve para informarle al programa si el perfil de alzada de vlvula lo calcula con una ley
senoidal (tipo 0), con una apertura y cierre sbito (tipo -1) o si lo ingresa el usuario
proveniente de algn tipo de relevamiento cinemtica del tren de vlvulas (tipo 1).

Dv = 0.030

Dimetro de la vlvula.

Lvmax = 0.009

Alzada de la vlvula.

angle_VO = 12.4442

Angulo de apertura de la vlvula en radianes.

angle_VC = 3.9619

Angulo de cierre de la vlvula en radianes.

file_Cd = 'flow_CD_data_I_01.dat'
Fichero de donde salen los valores del coeficiente de descarga. Estos en general surgen de
hacer una flujometra previa. Si no est este archivo considera que el valor del Cd es
constante y unitario.
file_Lv = 'Lv_I_sen.dat'

Fichero de donde sale la ley de alzada (type_dat = 1). Caso contrario no hace falta este
archivo.

Fin NAMELIST

&nlist_valve
ivalve = 2
Nval = 2
type_dat = 0
Dv = 0.029
Lvmax = 0.008
angle_VO = 8.6394
angle_VC = 0.0873
file_Cd = 'flow_CD_data_E_01.dat'
file_Lv = 'Lv_E_sen.dat'

Idem con la segunda vlvula.

#-------------<Datos del tubo de Escape>---------------#

&nlist_tube
itube = 2
nnod = 14
ndiam = 2
ntwall = 2
ncurva = 2
long = 0.140
xdiam(1) = 0.0d0
xdiam(2) = 1.0d0
diam(1) = 0.032
diam(2) = 0.032
xtwall(1) = 0.0d0
xtwall(2) = 1.0d0
Twall(1) = 400.0d0
Twall(2) = 400.0d0
inod_tube_red(1) = 6
inod_tube_red(2) = 7
inod_bc(1) = 8
inod_bc(2) = 9
type_of_bc(1) = 0
type_of_bc(2) = 1
/

Idem con el tubo de escape.

Como se ve no hace falta que los tubos estn uno a continuacin del otro pero lo que si es
requerido es que todos los elementos estn ingresados en orden de su identificador, o al
menos que el ltimo este al final.
Ejemplo 2:

Tomaremos ahora el archivo de prueba datos_prueba_2.dat y lo iremos explicando a


medida que lo vayamos recorriendo. No repetiremos lo que ya se explic en el ejemplo
anterior.

A modo de clarificar la explicacin previamente presentamos la configuracin del motor


en la siguiente figura:

6 7 8 9 34 37 38
5
1 2 3 4 35 36
6 15 16 17 39 42 43
14 56 60
10 11 12 13 40 41
6 23 24 25 44 47 48
54 55
22
18 19 20 21 45 46
6 31 32 33 52 53
49
30
26 27 28 29 50 51

# ======================================================#
# Ejemplo 2 : Motor Diesel pluricilindrico
#
# ======================================================
# datos generales

&nlist_gral

inicia = .true.
ncycle =3

filesave_state = 'motor_'
filesave_spd = 'motor_'

ntubes = 13
ncyl = 4
ntank = 4
njunc = 1
nvalves = 2
nswirl = 0
nvalves_EGR = 0
Aqu se define un motor que posee 4 cilindros, con 4 tanques, 1 sola union (4 a 1), 2
vlvulas, una para admisin y otra para escape.

nsave =1
nappend =1
ndf =3
nsp =3
nnod_red = 60
nrpms =1
dtheta_rpm = 1.0
rpms = 3500.0 4000.0
rpms = 1000.0

Esta situacin en la cual uno define dos veces lo mismo es vlida y toma siempre la ltima.

Courant = 0.8

ga = 1.4
viscous_flow = 1.0
heat_flow = 1.0
R_gas = 287.0
rho_atm = 1.2085
vel_atm = 0.100
p_atm = 101330.0
T_atm = 292.15
mfrac_atm = 0.0 0.2200910204 0.7650385386 9.913863271e -3
4.956577746e -3 0.0 0.0 0.0 0.0 0.0 0.0 0.0
mfrac_atm = 0.0 1.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

ig_order =1342

Aqu vemos como se aplica el orden de encendido, es decir que enciende primero el 1er
cilindro, luego el 3ro, luego el 4to y finalmente el 2do.

nnod_sampling = 4
node_sampling = 34 39 44 49

write_cylinder_state = .true.

time_functions_flag = .true.
number_time_functions = 1

Aqu vemos como se define alguna funcin temporal a aplicar sobre determinado grado de
libertad de un nodo. En este caso hay una sola funcin pero eventualmente podra haber la
cantidad que se desee.
/

filein_state = 'motor_01000.state'
filein_spd = 'motor_01000.spd'

Aqu vemos que si ponemos datos de alg n NAMELIST fuera de los espacios
correspondientes a cada uno de ellos es vlido pero no lo toma al dato. Es como no
ponerlo.

# datos de los tubos


&nlist_tube
itube = 1
ndiam = 2
ntwall = 2
ncurva = 2
nnod = 20
long = 0.200
xdiam(1) = 0.0d0
xdiam(2) = 1.0d0
diam(1) = 0.075
diam(2) = 0.075
xtwall(1) = 0.0d0
xtwall(2) = 1.0d0
Twall(1) = 323.0d0
Twall(2) = 323.0d0
xcurva(1) = 0.0d0
xcurva(2) = 1.0d0
curva(1) = 0.0d0
curva(2) = 0.0d0
inod_tube_red(1) = 1
inod_tube_red(2) = 2
inod_bc(1) = 6
inod_bc(2) = 7
type_of_bc(1) = 1
type_of_bc(2) = 0
/

Aqu vemos cmo se ingresa el primer tubo. Idem ejemplo anterior.

# type_of_bc = 0 (interior) , 1(atm left or right)

Aqu vemos algo que nos indica que se pueden poner comentarios fuera de los NAMELIST
como ayuda memoria.

&nlist_tube
itube = 2
inod_tube_red(1) = 10
inod_tube_red(2) = 11
inod_bc(1) = 57
inod_bc(1) = 6
inod_bc(2) = 15
/

Aqu vemos cmo se ingresa el segundo tubo. No hace falta volver a escribir lo que es
igual al anterior. Solo las diferencias.

&nlist_tube
itube = 3
inod_tube_red(1) = 18
inod_tube_red(2) = 19
inod_bc(1) = 58
inod_bc(1) = 6
inod_bc(2) = 23
/

y similarmente con los restantes tubos que totalizan 13 en este ejemplo.

&nlist_tube
itube = 4
inod_tube_red(1) = 26
inod_tube_red(2) = 27
inod_bc(1) = 59
inod_bc(1) = 6
inod_bc(2) = 31
/

y similarmente con los restantes tubos que totalizan 13 en este ejemplo.

&nlist_tube
itube = 5
nnod = 10
ndiam = 2
ntwall = 2
ncurva = 2
long = 0.100
xdiam(1) = 0.0d0
xdiam(2) = 1.0d0
diam(1) = 0.045
diam(2) = 0.045
xtwall(1) = 0.0d0
xtwall(2) = 1.0d0
Twall(1) = 500.0d0
Twall(2) = 500.0d0
inod_tube_red(1) = 3
inod_tube_red(2) = 4
inod_bc(1) = 8
inod_bc(2) = 9
type_of_bc(1) = 0
type_of_bc(2) = 0
/

&nlist_tube
itube = 6
inod_tube_red(1) = 12
inod_tube_red(2) = 13
inod_bc(1) = 16
inod_bc(2) = 17
/

&nlist_tube
itube = 7
inod_tube_red(1) = 20
inod_tube_red(2) = 21
inod_bc(1) = 24
inod_bc(2) = 25
/

&nlist_tube
itube = 8
inod_tube_red(1) = 28
inod_tube_red(2) = 29
inod_bc(1) = 32
inod_bc(2) = 33
/

&nlist_tube
itube = 9
nnod = 25
ndiam = 2
ntwall = 2
ncurva = 2
long = 0.250
xdiam(1) = 0.0d0
xdiam(2) = 1.0d0
diam(1) = 0.044
diam(2) = 0.044
xtwall(1) = 0.0d0
xtwall(2) = 1.0d0
Twall(1) = 500.0d0
Twall(2) = 500.0d0
inod_tube_red(1) = 35
inod_tube_red(2) = 36
inod_bc(1) = 37
inod_bc(2) = 38
type_of_bc(1) = 0
type_of_bc(2) = 0
/

&nlist_tube
itube = 10
inod_tube_red(1) = 40
inod_tube_red(2) = 41
inod_bc(1) = 42
inod_bc(2) = 43
/

&nlist_tube
itube = 11
inod_tube_red(1) = 45
inod_tube_red(2) = 46
inod_bc(1) = 47
inod_bc(2) = 48
/

&nlist_tube
itube = 12
inod_tube_red(1) = 50
inod_tube_red(2) = 51
inod_bc(1) = 52
inod_bc(2) = 53
/

&nlist_tube
itube = 13
nnod = 70
long = 0.700
xdiam(1) = 0.0d0
xdiam(2) = 1.0d0
diam(1) = 0.044
diam(2) = 0.044
xtwall(1) = 0.0d0
xtwall(2) = 1.0d0
Twall(1) = 500.0d0
Twall(2) = 500.0d0
inod_tube_red(1) = 54
inod_tube_red(2) = 55
inod_bc(1) = 56
inod_bc(2) = 60
type_of_bc(1) = 0
type_of_bc(2) = 1
/

Aqu vemos cmo se ingresa el ltimo de los 13 tubos. Como mencionamos en el primer
ejemplo es requisito que el ltimo tubo sea ingresado ltimo, los restantes pueden estar en
cualquier orden. No obstante siempre conviene que el orden sea efectuado tomando
ventaja de la similitud de datos de los tubos entre s.

&nlist_cyl
icyl = 1
node_C= 34
node_I_in= 4
node_E_in= 35
node_I_out= 9
node_E_out= 37
Bore = 0.105
crank_radius = 0.0685
Vol_displacement = 1.186e-003
Vol_clearance = 7.461e-005
rod_length = 0.202
head_chamber_area= 8.659e -003
piston_area = 8.659e -003
theta_ig_0 = 6.1086e+000
theta_ig_f = 8.5521e+000
phi = 0.419
phi = 0.700

Q_fuel = 42.5e6
y = 2.25
Twall_cyl = 450

type_ig =1
model_ht =2
comb_var_meth = 0
factor_ht = 2.5

valve_intake = 1
valve_exhaust = 2
/

Aqu vemos cmo se ingresa el primer cilindro. Los datos ya fueron todos explicados en el
ejemplo previo.

&nlist_cyl
icyl = 2
node_C= 39
node_I_in= 13
node_E_in= 40
node_I_out= 17
node_E_out= 42
/

&nlist_cyl
icyl = 3
node_C= 44
node_I_in= 21
node_E_in= 45
node_I_out= 25
node_E_out= 47
/

&nlist_cyl
icyl = 4
node_C= 49
node_I_in= 29
node_E_in= 50
node_I_out= 33
node_E_out= 52
/
Aqu vemos cmo se ingresa el ltimo cilindro y se ve cmo se saca provecho de la
similitud de datos para ingresar la menor cantidad de datos posibles.

&nlist_valve
ivalve = 1
Nval = 2
type_dat = 0
Dv = 0.0449
Lvmax = 0.0111
angle_VO = 12.514
angle_VC = 3.5605
file_Cd = 'flow_CD_data_I.dat'
/

file_Lv = 'Lv_I.dat'

&nlist_valve
ivalve = 2
Nval = 2
type_dat = 0
Dv = 0.0409
Lvmax = 0.01122
angle_VO = 8.8488e+000
angle_VC = 3.4907e-002
file_Cd = 'flow_CD_data_E.dat'
/

file_Lv = 'Lv_E.dat'

Aqu vemos cmo se ingresan las vlvulas. Notar que al poner type_dat=0 se usa un perfil
de alzada de vlvula senoidal y el file_Lv definido fuera del NAMELIST de las v lvulas no
tiene ningn efecto.

&nlist_junc

Aqu vemos cmo se ingresa una unin.

ijunc = 1

Identificador de la unin.

nnod_junc = 5
Nmero de tubos que confluyen a la unin, en este caso por ser una unin 4 a 1 son 5..

modelo_junc = 1

Identificador del tipo de modelo de la unin.

tubes_to_junc(1) = 9
tubes_to_junc(2) = 10
tubes_to_junc(3) = 11
tubes_to_junc(4) = 12
tubes_to_junc(5) = 13

Los 5 Identificadores de tubos que confluyen a la unin.

nodes_out(1) = 38
nodes_out(2) = 43
nodes_out(3) = 48
nodes_out(4) = 53
nodes_out(5) = 56

Los 5 Identificadores de nodos en los cuales se escribe la solucin del modelo de la unin y
que sirven como nodos de referencia para los nodos extremos de los tubos conectados a la
unin.

type_end(1) = +1
type_end(2) = +1
type_end(3) = +1
type_end(4) = +1
type_end(5) = -1

Los 5 Identificadores del tipo de extremo de la unin. Asumiendo que los tubos son
unidimensionales, que el sentido positivo +x se dirige desde la admisin hacia el escape, el
type_end(j) del tubo j-simo vinculado a la unin nos dice el sentido de su normal exterior,
es decir si es +1 significa que la normal exterior al tubo se dirige hacia el escape mientras
que si su valor es -1 se dirige hacia la admisin.

&nlist_tank

NAMELIST correspondiente al elemento tanque.

itank = 1

Identificador del tanque.

nnod_tank = 2

Cantidad de tubos que confluyen al tanque.

node_tank_C = 5

Numeracin del nodo que almacena el estado del tanque.

tubes_to_tank(1) = 1
tubes_to_tank(2) = 5

Tubos que confluyen al tanque.

nodes_tank_out(1) = 7
nodes_tank_out(2) = 8

Nodos que almacenan la solucin del elemento tanque y que luego sern usados como
estados de referencia para los tubos que confluyen al mismo.

type_end_tank(1) = +1
type_end_tank(2) = -1

Tipo de extremo del tanque, similar al caso de la unin.

volume = 0.018

Volumen del tanque


Cd_ports = 1.0 1.0

Coeficientes de descarga para cada entrada/salida del tanque

h_film = 300

Coeficiente pelicular de conveccin del tanque para transferencia de calor con el exterior.

Area_wall = 8.64e-2

Area de conveccin del tanque para transferencia de calor con el exterior.

T_wall = 323

Temperatura de la pared del tanque para transferencia de calor con el exterior.

&nlist_tank
itank = 2
nnod_tank = 2
node_tank_C = 14
tubes_to_tank(1) = 2
tubes_to_tank(2) = 6
nodes_tank_out(1) = 15
nodes_tank_out(2) = 16
/

&nlist_tank
itank = 3
nnod_tank = 2
node_tank_C = 22
tubes_to_tank(1) = 3
tubes_to_tank(2) = 7
nodes_tank_out(1) = 23
nodes_tank_out(2) = 24
/

&nlist_tank
itank = 4
nnod_tank = 2
node_tank_C = 30
tubes_to_tank(1) = 4
tubes_to_tank(2) = 8
nodes_tank_out(1) = 31
nodes_tank_out(2) = 32
/
&nlist_time_fun

NAMELIST correspondiente a las funciones temporales que puede ingresar el usuario.

i_time _fun = 1

Identificador de la function

node_time_fun = 6

Nodo al que se le aplica la funcin

dof_time_fun = 3

Grado de libertad del nodo al que se le aplica la funcin

coefs_time_fun = 0.0 0.0 0.0 2.0e+05

Coeficientes que se requieren para definir la funcin.

type_function = 'Sin'

Tipo de funcin a aplicar.

En este caso se esta aplicando a la presin del nodo 6 (entrada de la admisin una funcin
senoidal cuyos coeficientes, en el orden que se los presentan representan:
1. Amplitude (amplitude)
2. Frequency (frecuencia)
3. Phase (fase)
4. vmean (valor medio)

Es decir que aqu es simplemente un valor medio sin oscilacin. Equivale a pensar que a la
entrada de la admisin hay un turbo que eleva la presin de admisin a un valor de 2 bars.

Otras posibles funciones son


type_function = 'Ramp'

1. t0 (tiempo inicial)
2. tf (tiempo final)
3. Amplitude (amplitud)
4. vmean (valor medio)

type_function = 'Pol'
Un polinomio de tercer grado en el tiempo (4 coeficientes).
INTERPRETACION DE LOS ARCHIVOS DE RESULTADOS

El simulador SIM1D genera para cada rpm archivo que tienen un nombre compuesto por
su raz ingresada por el usuario en las variables filesave_state y filesave_spd , cuya
extensiones son .state y .spd respectivamente.

Archivo filename.state

3 columnas que se corresponden con la (densidad,velocidad,presin) para los nodos de los


elementos 1D y (densidad,presin,temperatura) para los nodos 0D como el cilindro y el
tanque.

Archivo filename.spd

3 columnas que se corresponden con las fracciones msicas de combustible, oxidante y


producto. Por el momento solo se lo usa para incluir vlvulas EGR.

Archivo filename.cyl_h

6 columnas que corresponden a:

1. identificador del cilindro


2. tiempo en segundos
3. masa de combustible en kg
4. masa de aire en kg
5. masa de producto en kg
6. porcentaje de EGR (si se lo tiene en cuenta)

Archivo filename.histo

5 columnas que corresponden a:

1. identificador del nodo de muestreo (definido por el usuario como node_sampling)


2. tiempo en segundos
3. 3 columnas con el estado del nodo, su interpretacin depende de si es un nodo de un
elemento 0D o 1D.

Archivo filename.sal

9 columnas que corresponden a:

1. flujo msico en la admisin


2. flujo msico en el escape
3. volmen instantneo del cilindro
4. 3 columnas con la masa de combustible,aire y productos dentro del cilindro
5. flujo de calor por prdidas trmicas
6. aporte de calor por la combustin
7. Torque

Archivo filename.crank

2 columnas que corresponden al ngulo de cigueal y la velocidad de giro en rpm del


motor cuando se usa la modalidad de ingresar un torque resistente en lugar de imponer la
velocidad de giro del motor.
POSTPROCESAMIENTO DE LOS ARCHIVOS DE RESULTADOS

Para poder postprocesar la versin del simulador SIM1D se debe contar con un software
que permita levantar datos de ficheros y tenga capacidades grficas para poder realizar al
menos curvas XY. Aqu proponemos la versin libre (GNU) de Matlab llamada Octave,
pero eso queda a criterio del usuario.
En caso de usar Octave incluimos dos rutinas para poder automticamente realizar las
siguientes curvas:

Curva caracterstica de torque vs rpm,


Idem para potencia vs rpm
Curva para poder evaluar el flujo msico de carga a travs de las vlvulas en
funcin del ngulo de cigeal para el ltimo ciclo computado. Esta curva se
grafica para cada rpm
Diagrama indicado para cada rgimen de giro

Ejecutar la rutina post.m (la cual internamente llama a la rutina post_sim1d.m).


Antes de ejecutarla debe editar la rutina post.m con cualquier editor de texto y acomodar
los siguientes datos que se piden. A modo de ejemplo ponemos lo siguiente:

fileroot = 'motor_';
rpms = (5000:200:5800)

donde fileroot representa la raz del nombre de los archivos generador por el simulador.
Ese nombre debe coincidir con la variable filesave que se ingresa en el archivo de datos.
El usuario puede ver que el simulador genera una serie de archivos cuyo nombre siempre
empieza con lo que esta definido en filesave (o sea fileroot para el post.m) acompaado de
una serie de caracteres que representan la velocidad de giro, ya que la salida son archivos
separados para cada velocidad en rpm.
La variable rpms del post.m representa el vector de velocidades de giro a procesar escrito
en sintaxis Octave (es decir sea v un vector , entonces v=(vs:dv:vf) representa un vector
que arranca del valor vs, genera elementos cada dv hasta el valor vf)

La rutina post.m continua con una variable post que es aquella que calcula todo lo que se
necesita para el postproceso. Inicialmente debe estar en 1 (post=1) pero una vez calculado
puede ponerse en 0 (post=0) para poder graficar algunas curvas que dependen de las rpms
sin tener que volver a hacer los clculos de postprocesamiento ya hechos y guardados en
memoria.

Dentro del trozo del programa post.m que empieza en


if post



end
se hace el clculo de todo el postprocesamiento y se grafica las curvas de torque y
potencia. A continuacin se grafican los flujos msicos y el diagrama indicado. Estos dos
ltimos dependen de las rpms as que hay que introducir el valor en la variable rpm_p
para hacerlo. Si se quiere otra rpm habiendo ya calculado una hay que poner la variable
post en 0 y cambiar la rpm_p.

Vous aimerez peut-être aussi