Código com erro desconhecido e Delphi 7

21/05/2018

0

Oi pessoal, faltou eu explicar a vocês que esta procedure está em uma biblioteca de procedures que são utilizadas pelo programa principal. Estou enviando novamente a procedure com o erro na sua declaração. Espero que vocês me ajudem, obrigado. Edisson Sávio.


{----------------------------------------------------------------------------------------------------------------}
{ Defining the Temperature in the Field }
{----------------------------------------------------------------------------------------------------------------}

PROCEDURE Field_Temperatures_5_Species_TECNE(imax,jmax:INTEGER;a_char,Tref:DOUBLE;Computational:Computational_data;Physical_properties:Physical_data;General:General_data;Properties:SPEC1;Air:SPEC3;Q:TYPE1;VAR Temperatures:TYPE13); export;

{ This procedure calculates the translational/rotational temperature of the field to all volumes of the computational }
{ mesh. The initial temperature is estimated by the problem's initial condition. Posteriorly, the state equation }
{ involving mixture total energy, mixture internal energy, mixture Cartesian velocity components, and the mixture }
{ formation enthalpy is employed. From the definition of the internal energy [ei = Cv(mixt).(T-Tref)], an expression }
{ for the translational/rotational temperature is obtained. The thermal equilibrium is admited; Due to the thermal }
{ equilibrium hypothesis, the equality of translational and rotational temperatures is assumed and any vibrational }
{ mode is not considered. It is a strong hypothesis, but as initial study is valid. The translational / rotational }
{ temperature is redefined when the magnetic option is active. The Z energy variable should be considered together }
{ with the modulus of the magnetic field. }

TYPE

TYPE20 = ARRAY[1..14] OF DOUBLE;
Primitive_Variables = ^TYPE20;

VAR

f1 : TEXTFILE;
i,j : INTEGER;
Primitive : Primitive_Variables;
Mi_Mag,Cv_mixt,dhf_mixt : ^DOUBLE;

{ Order of Primitive variables }

{ Primitive^[1] = Den; }
{ Primitive^[2] = u; }
{ Primitive^[3] = v; }
{ Primitive^[4] = Z; }
{ Primitive^[5] = Bx; }
{ Primitive^[6] = By; }
{ Primitive^[7] = B; }
{ Primitive^[8] = En; }
{ Primitive^[9] = cs1; }
{ Primitive^[10] = cs2; }
{ Primitive^[11] = cs3; }
{ Primitive^[12] = cs4; }
{ Primitive^[13] = cs5; }
{ Primitive^[14] = ei_int; }

BEGIN

{ Main part of this procedure }

ASSIGNFILE(f1,'TEMPERATURAS.DAT');
REWRITE(f1);

{ Defining pointer }

NEW(Primitive);
NEW(Mi_Mag);
NEW(Cv_mixt);
NEW(dhf_mixt);

{ Volume temperatures }

FOR i := 1 TO (imax-1) DO

FOR j := 1 TO (jmax-1) DO

BEGIN

{ Volume temperatures at the first iteration determined by the initial condition }

IF (Computational.Iter = 0) THEN

{ Nondimensionalized initial temperature of each volume }

Temperatures[i,j,1] := Physical_properties.Temperature/a_char+Tref

ELSE

{ For the other iterations... }

BEGIN

{ Five species model composed of N, O, N2, O2, and NO. }

Primitive^[1] := Q[i,j,1];
Primitive^[2] := Q[i,j,2]/Q[i,j,1];
Primitive^[3] := Q[i,j,3]/Q[i,j,1];

{ Calculation of the mass fractions }

Primitive^[9] := Q[i,j,5]/Q[i,j,1];
Primitive^[10] := Q[i,j,6]/Q[i,j,1];
Primitive^[12] := Q[i,j,7]/Q[i,j,1];
Primitive^[13] := Q[i,j,8]/Q[i,j,1];
Primitive^[11] := 1.0E0-(Primitive^[9]+Primitive^[10]+Primitive^[12]+Primitive^[13]);

{ Calculation of the mixture specific heat at constant volume }

Cv_mixt^ := Primitive^[9]*Properties[1].Heat+Primitive^[10]*Properties[2].Heat+Primitive^[11]*Properties[3].Heat+Primitive^[12]*Properties[4].Heat+Primitive^[13]*Properties[5].Heat;

{ Calculation of the mixture formation enthalpy }

dhf_mixt^ := Primitive^[9]*Properties[1].Enthalpy+Primitive^[10]*Properties[2].Enthalpy+Primitive^[11]*Properties[3].Enthalpy+Primitive^[12]*Properties[4].Enthalpy+Primitive^[13]*Properties[5].Enthalpy;

{ Considering or not the magnetic effect }

IF (General.Magnetic = Gaitonde_1999) THEN

BEGIN

{ Considering magnetic field }

Primitive^[4] := Q[i,j,4]/Q[i,j,1];
Primitive^[5] := Q[i,j,13];
Primitive^[6] := Q[i,j,14];
Primitive^[7] := SQRT(Primitive^[5]*Primitive^[5]+Primitive^[6]*Primitive^[6]);
Mi_Mag^ := 1.0E0;

{ Internal energy considering magnetic field }

Primitive^[14] := Primitive^[4]-dhf_mixt^-0.5E0*(Primitive^[2]*Primitive^[2]+Primitive^[3]*Primitive^[3])-0.5E0*Air.Rb*(Primitive^[7]*Primitive^[7])/(Mi_Mag^*Primitive^[1]);

END

ELSE

BEGIN

{ Magnetic field is not considered }

Primitive^[8] := Q[i,j,4];

{ Internal energy without magnetic field actuation }

Primitive^[14] := Primitive^[8]/Primitive^[1]-dhf_mixt^-0.5E0*(Primitive^[2]*Primitive^[2]+Primitive^[3]*Primitive^[3]);

END;

{ Mixture translational/rotational temperature }

Temperatures[i,j,1] := Primitive^[14]/Cv_mixt^+Tref;

END;

WRITELN(f1,Temperatures[i,j,1]);

END;

{ The volume's temperatures are determined by the above calculations }

CLOSEFILE(f1);

DISPOSE(Primitive);
DISPOSE(Mi_Mag);
DISPOSE(Cv_mixt);
DISPOSE(dhf_mixt);

END;

{----------------------------------------------------------------------------------------------------------------}
Edisson Maciel

Edisson Maciel

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar