Esempio n. 1
0
for i in np.arange(Nt):
    print("Time step", i, " of ", Nt, " time ", i * deltaT, " deltaT ", deltaT)
    # Update the solution
    production[i] = np.sum(OF.dot(theta)) / total_flow_rate
    theta = IE_solver(M.dot(theta) + rhs)

    if i % export_every == 0:
        print("Export solution at", i)
        advection.split(gb, "theta", theta)

        exporter.export_vtk(
            gb,
            file_name,
            ["theta"],
            time_step=i_export,
            binary=False,
            folder=export_folder,
        )
        step_to_export = np.r_[step_to_export, i]
        i_export += 1

exporter.export_pvd(gb,
                    file_name,
                    step_to_export * deltaT,
                    folder=export_folder)

times = deltaT * np.arange(Nt)
np.savetxt(export_folder + "/production.txt", (times, np.abs(production)),
           delimiter=",")
Esempio n. 2
0
        conc = invM.dot((M_minus_U).dot(conc) + rhs)
        coupler_solver.split(gb, "conc", conc)

        if i % export_every == 0:
            print("Export the solution of the current state")
            export_vtk(gb,
                       file_name, ["conc"],
                       time_step=i_export,
                       folder="simu")

            step_to_export = np.r_[step_to_export, i]
            i_export += 1

        i += 1

    export_pvd(gb, file_name, step_to_export * deltaT, folder="simu")

    step_to_export = np.empty(0)
    i, i_export = 0, 0
    while i * deltaT_r <= T:

        # Update the solution
        conc_r = invM_r.dot((M_minus_U_r).dot(conc_r) + rhs_r)
        coupler_solver.split(gb_r, "conc_r", conc_r)
        if i % export_every == 0:
            print("Export the solution of the current state")
            export_vtk(gb_r,
                       file_name_r, ["conc_r"],
                       time_step=i_export,
                       folder="simu")
            step_to_export = np.r_[step_to_export, i]