public void count() throws IOException {
        Solver noweZadanieMES;
        String curDir = System.getProperty("user.dir");
        FileWriter fr = new FileWriter(
                curDir + "/OutputData.txt");
        String dane;
        dane = "***********************************************************";
        fr.write(dane + "\r\n");
        dane = cut(" " + "Czas") + "   " + cut("Środek") + "  "
                + cut("Powierzchnia") + "  " + cut("dT");
        fr.write(dane + "\r\n" + "\r\n");
        double x = 0.0;
        for (int i = 0; i < nh; i++) {
            vrtxCoordX[i] = x;
            vrtxTemp[i] = TempBegin;
            x += dR;
        }
        dTmax = 0.0;
        Tau = 0.0;

        for (int iTime = 0; iTime < nTime; iTime++) {

            for (int i = 0; i < nh; i++) {
                aC[i] = 0.0;
                aD[i] = 0.0;
                aE[i] = 0.0;
                aB[i] = 0.0;
            }

            TempAir = t1;
            if (Tau >= Tau1)
                TempAir = t2;

            for (int ie = 0; ie < ne; ie++) {
                r[0] = vrtxCoordX[ie];
                r[1] = vrtxCoordX[ie + 1];
                TempTau[0] = vrtxTemp[ie];
                TempTau[1] = vrtxTemp[ie + 1];
                dR = r[1] - r[0];

                Alfa = 0.0;
                if (ie == ne - 1)
                    Alfa = AlfaAir;

                P[0] = 0.0;
                P[1] = 0.0;
                H[0][0] = 0.0;
                H[0][1] = 0.0;
                H[1][1] = 0.0;
                H[1][0] = 0.0;

                for (int ip = 0; ip < Np; ip++) {

                    Rp = N1[ip] * r[0] + N2[ip] * r[1];
                    TpTau = N1[ip] * TempTau[0] + N2[ip] * TempTau[1];
                    H[0][0] += K * Rp * W[ip] / dR + C * Ro * dR * Rp * W[ip]
                            * N1[ip] * N1[ip] / dTau;
                    H[0][1] += -K * Rp * W[ip] / dR + C * Ro * dR * Rp * W[ip]
                            * N1[ip] * N2[ip] / dTau;
                    H[1][0] = H[0][1];
                    H[1][1] += K * Rp * W[ip] / dR + C * Ro * dR * Rp * W[ip]
                            * N2[ip] * N2[ip] / dTau + 2 * Alfa * Rmax;
                    P[0] += C * Ro * dR * TpTau * Rp * W[ip] * N1[ip] / dTau;
                    P[1] += C * Ro * dR * TpTau * Rp * W[ip] * N2[ip] / dTau
                            + 2 * Alfa * Rmax * TempAir;
                }

                aD[ie] += H[0][0];
                aD[ie + 1] += H[1][1];
                aE[ie] += H[0][1];
                aC[ie + 1] += H[1][0];
                aB[ie] += P[0];
                aB[ie + 1] += P[1];
            }

            noweZadanieMES = new Solver(aB, aC, aD, aE);
            vrtxTemp = noweZadanieMES.solve();

            dT = Math.abs(vrtxTemp[0] - vrtxTemp[nh - 1]);
            if (dT > dTmax)
                dTmax = dT;
            dane = " " + cut(Double.toString(Tau)) + "  "
                    + cut(Double.toString(vrtxTemp[0])) + "  "
                    + cut(Double.toString(vrtxTemp[nh - 1])) + "  "
                    + cut(Double.toString(dT));
            System.out.println(dane);

            fr.write(dane + "\r\n");
            Tau += dTau;

        }
        fr.close();
    }