Программа для расчета материального баланса процесса конвертирования медно-никелего штейна, страница 2

writeln(w,'                      !    %    !     %     !    %   !        %       ');

writeln(w,'----------------------+---------+-----------+--------+-----------------');

writeln(w,'                      !         !           !        !                ');

writeln(w,'  1. SiO2             ! ',Fl1:6:3,'  !   ',Fl1:6:3,'  !    -   !    -    ');

writeln(w,'  2. Al2O3*2SiO2*H2O  ! ',Fl2:6:3,'  !   ',SiO2_Fl2:6:3,'  ! ',H2O_Fl2:6:3,' ! ',OST_Fl2:6:3);

writeln(w,'  3. Fe2O3*1.5H2O     ! ',Fl3:6:3,'  !   ',Fe_Fl3:6:3,'  ! ',H2O_Fl3:6:3,' ! ',OST_Fl3:6:3);

writeln(w,'  4. CaO*SiO2         ! ',Fl4:6:3,'  !   ',SiO2_Fl4:6:3,'  !    -   ! ',OST_Fl4:6:3);

writeln(w,'  5. MgO*SiO2         ! ',Fl5:6:3,'  !   ',SiO2_Fl5:6:3,'  !    -   ! ',OST_Fl5:6:3);

writeln(w,'     Прочие           ! ',P_fl:6:3,'  !     -     !    -   ! ',P_fl:6:3);

writeln(w,'----------------------+---------+-----------+--------+-----------------');

writeln(w,'       Итого          ! ',SumFl1:6:3,' !   ',SumFl2:6:3,'  ! ',SumFl3:6:3,' !  ',SumFl4:6:3);

writeln(w,'-----------------------------------------------------------------------');

 end;

 { Расчет вещественного состава и предварительного количества конвертерного

   шлака и файнштейна }

  procedure Sostav_Kshl_Fain;

  begin

 { Расчет вещественного состава конвертнрного шлака и файнштейна }

   x:=0; y:=0; z:=0;

  repeat

   repeat

    repeat

     NiO_k := 1.2726*n*Ni_k1*0.01*y;

   Ni3S2_k := 1.3641*(1-n)*Ni_k1*0.01*y;

    Cu2S_k := 1.2523*Cu_k1*0.01*y;

     CoO_k := 1.2715*Co_k1*0.01*y;

   Fe3O4_k := Fe3O4_k1*0.01*y;

      Fe_f := Fe_f1*0.01*x;

       S_f := S_f1*0.01*x;

       P_f := P_f1*0.01*x;

      Fe_k := Fe_s + Fe_fl*0.01*z - Fe_f;

Ni_Ni3S2_k := (1-n)*Ni_k1*0.01*y;

  Ni_NiO_k := n*Ni_k1*0.01*y;

 S_Ni3S2_k := 0.3641*(1-n)*Ni_k1*0.01*y;

  S_Cu2S_k := 0.2523*Cu_k1*0.01*y;

 Cu_Cu2S_k := Cu_k1*0.01*y;

   O_NiO_k := 0.2725*n*Ni_k1*0.01*y;

   O_CoO_k := 0.2715*Co_k1*0.01*y;

   S_FeS_k := S_k1*0.01*y -  S_Ni3S2_k - S_Cu2S_k;

     FeS_k := 2.7420*S_FeS_k;

  Fe_FeS_k := 0.6353*FeS_k;

Fe_Fe3O4_k := 0.7236*Fe3O4_k;

 O_Fe3O4_k := 0.2764*Fe3O4_k;

  Fe_FeO_k := Fe_k - Fe_FeS_k - Fe_Fe3O4_k;

   O_FeO_k := 0.2865*Fe_FeO_k;

     FeO_k := 1.2865*Fe_FeO_k;

    SiO2_k := SiO2_k1*0.01*y;

   Al2O3_k := Al2O3_fl*0.01*z;

     CaO_k := CaO_fl*0.01*z;

     MgO_k := MgO_fl*0.01*z;

     P_k := P_s+P_fl*0.01*z-P_f;

      Co_f := Co_s - Co_k1*0.01*y;

      Ni_f := Ni_s - Ni_k1*0.01*y;

      Cu_f := Cu_s - Cu_k1*0.01*y;

 { Расчет предварительного количества файнштейна, конв. шлака и флюса }

  x1 := x;  y1 := y;  z1 := z;

  x := Ni_f + Cu_f + Co_f + Fe_f + S_f + P_f;

  y := NiO_k + Ni3S2_k + Cu2S_k + CoO_k + FeS_k + Fe3O4_k +

       FeO_k + SiO2_k + Al2O3_k + CaO_k + MgO_k + K2O_k + P_k;

  z := SiO2_k1 / SiO2_fl * y;

    until abs(x-x1) <= 0.01;

      until abs(y-y1) <= 0.01;

       until abs(z-z1) <= 0.01;

  j := (0.3641*Ni_f+0.2523*Cu_f+0.5440*Co_f+0.5740*Fe_f-S_f)/

       (0.3641+0.2523*k);

    Cu_met_f := k*j;

    Ni_met_f := j;

   Cu_Cu2S_f := Cu_f - k*j;

   S_Ni3S2_f := 0.3641*(Ni_f -j);

    S_Cu2S_f := 0.2523*(Cu_f - k*j);

     S_CoS_f := 0.5440*Co_f;

     S_FeS_f := 0.5740*Fe_f;

  Ni_Ni3S2_f := Ni_f - j;

     Ni3S2_f := 1.3641*Ni_Ni3S2_f;

      Cu2S_f := 1.2523*Cu_Cu2S_f;

       CoS_f := 1.5440*Co_f;

       FeS_f := 2.7417*S_FeS_f;

   Sumf := Ni3S2_f + Ni_met_f + Cu_met_f + Cu2S_f + CoS_f + FeS_f + P_f;

  Sumf1 := Ni_Ni3S2_f + Ni_met_f + Cu_Cu2S_f + Cu_met_f;

  Sumf2 := S_Ni3S2_f + S_Cu2S_f + S_CoS_f + S_FeS_f;

  Sumf3 := Co_f + Fe_f + P_f;

   Sumk := Ni3S2_k + NiO_k + Cu2S_k + CoO_k + FeS_k + Fe3O4_k + FeO_k +

           SiO2_k + Al2O3_k + CaO_k + MgO_k + K2O_k + P_k;

  Sumk1 := Ni_Ni3S2_k + Ni_NiO_k + Cu_Cu2S_k + Co_k1*0.01*y;

  Sumk2 := Fe_FeS_k + Fe_FeO_k + Fe_Fe3O4_k;

  Sumk3 := S_Ni3S2_k + O_NiO_k + S_Cu2S_k + O_CoO_k + S_FeS_k + O_Fe3O4_k +

           O_FeO_k;

  Sumk4 := SiO2_k + Al2O3_k + CaO_k + MgO_k + K2O_k + P_k;

writeln(w);

writeln(w,x:6:3,' ',y:6:3,' ',z:6:3);

writeln(w,'Файнштейн');

writeln(w,'-----------------------------------------------------------------------------');

writeln(w,' Соединения !    Всего      !    Ni и Cu    !       S       !   остальное   ');

writeln(w,'            !  кг      %    !  кг       %   !  кг       %   !  кг      %    ');

writeln(w,'------------+---------------+---------------+---------------+----------------');

writeln(w,'            !               !               !               !               ');

writeln(w,'   Ni3S2    ! ',Ni3S2_f:6:3,' ',(Ni3S2_f*100/Sumf):6:3,' ! ',Ni_Ni3S2_f:6:3,' ',

(Ni_Ni3S2_f*100/Sumf):6:3,' ! ',S_Ni3S2_f:6:3,' ',(S_Ni3S2_f*100/Sumf):6:3,' !      -      - ');

writeln(w,'   Cu2S     ! ',Cu2S_f:6:3,' ',(Cu2S_f*100/Sumf):6:3,' ! ',Cu_Cu2S_f:6:3,' ',

(Cu_Cu2S_f*100/Sumf):6:3,' ! ',S_Cu2S_f:6:3,' ',(S_Cu2S_f*100/Sumf):6:3,' !      -      - ');

writeln(w,'   CoS      ! ',CoS_f:6:3,' ',(CoS_f*100/Sumf):6:3,' !      -      - ! ',

S_CoS_f:6:3,' ',(S_CoS_f*100/Sumf):6:3,' ! ',Co_f:6:3,' ',(Co_f*100/Sumf):6:3);

writeln(w,'   FeS      ! ',FeS_f:6:3,' ',(FeS_f*100/Sumf):6:3,' !      -      - ! ',

S_FeS_f:6:3,' ',(S_FeS_f*100/Sumf):6:3,' ! ',Fe_f:6:3,' ',(Fe_f*100/Sumf):6:3);

writeln(w,'   Ni_met   ! ',Ni_met_f:6:3,' ',(Ni_met_f*100/Sumf):6:3,' ! ',Ni_met_f:6:3,

' ',(Ni_met_f*100/Sumf):6:3,' !      -      - !      -      - ');

writeln(w,'   Cu_met   ! ',Cu_met_f:6:3,' ',(Cu_met_f*100/Sumf):6:3,' ! ',Cu_met_f:6:3,