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=",")
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]