reservoirflow.solutions.numerical.FDM.solve#

FDM.solve(threading=False, vectorize=True, check_MB=True, update=True, print_arrays=False, isolver='cgs')#

Solve a single simulation tstep.

Parameters:
  • threading (bool, optional) – _description_

  • vectorize (bool, optional) – _description_

  • check_MB (bool, optional) – _description_

  • update (bool, optional) – _description_

  • print_arrays (bool, optional) – _description_

  • isolver (str, optional) – iterative solver for sparse matrices. Available solvers are [“bicg”, “bicgstab”, “cg”, “cgs”, “gmres”, “lgmres”, “minres”, “qmr”, “gcrotmk”, “tfqmr”]. If None, direct solver is used. Only relevant when argument sparse=True. Option “cgs” is recommended to increase performance while option “minres” is not recommended due to high MB error.

Notes

Direct solutions can also be obtained using matrix dot product (usually slower) as following:

>>> pressures = np.dot(np.linalg.inv(A), d).flatten()