diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-01-20 15:25:21 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-01-20 15:26:32 +0100 |
commit | 7f88b344adb92434814c82c839a513fc1ccf3b11 (patch) | |
tree | e15002aaec442bbc8cc876e3a91703ff092f2a69 /mg2d.h | |
parent | 869ed8e18efc9ee602f45267776cd179c80ec3af (diff) |
mg2d: add a designated error code for reaching maxiter
Allows to reliably distinguish it from other error cases. Also specify
that the values of u are defined for this error code.
Diffstat (limited to 'mg2d.h')
-rw-r--r-- | mg2d.h | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -163,7 +163,9 @@ typedef struct MG2DContext { * Allocated and initialized to zero by the solver in mg2d_solver_alloc(), * owned by the solver. * May be filled by the caller before solving to set the initial guess. - * Afterwards updated in mg2d_solve(). + * Afterwards updated by mg2d_solve() if it returns 0, + * MG2D_ERR_MAXITER_REACHED or MG2D_ERR_DIVERGE. If mg2d_solve() returnes + * another error code, the contents of u are unspecified. */ double *u; /** @@ -265,7 +267,13 @@ MG2DContext *mg2d_solver_alloc_mpi(MPI_Comm comm, const size_t local_start[2], * * This function may be called more than once. * - * @return 0 on success, a negative error code on failure. + * @return + * - 0 on success + * - MG2D_ERR_MAXITER_REACHED if desired tolerance was not reached after + * maximum allowed number of iterations were performed. The final + * value of the solution is still exported in ctx->u. + * - MG2D_ERR_DIVERGE if the iteration process has diverged. + * - another negative error code on other types of failure */ int mg2d_solve(MG2DContext *ctx); /** |