aboutsummaryrefslogtreecommitdiff
path: root/mg2d.c
Commit message (Collapse)AuthorAge
* egs: allow the same context to be used for both relaxation and exact solvesAnton Khirnov2019-05-06
|
* mg2d: print stats regardless of the selected log levelAnton Khirnov2019-04-24
|
* mg2d: set egs init flags properly in all casesAnton Khirnov2019-04-24
|
* egs: merge residual calc and correct when possibleAnton Khirnov2019-04-24
| | | | | Also, merge the reflect boundary condition into residual calc+add. Improves performance due to better locality.
* Add and use a new timer API.Anton Khirnov2019-04-19
|
* mg2d: timer improvementsAnton Khirnov2019-04-19
| | | | | | Rename time_relax to time_solve, since it is also used for the exact solver. Properly include all the reinits.
* mg2d: add higher-order interpolation operatorsAnton Khirnov2019-04-09
|
* mg2d: do not crash if print_stats() is called before any solvesAnton Khirnov2019-04-07
|
* mg2d: add API for interpolating an initial guess from a provided gridAnton Khirnov2019-04-02
|
* mg2d: track the time spent initializing the levelsAnton Khirnov2019-04-02
|
* mg2d: extend stats loggingAnton Khirnov2019-04-01
|
* egs_exact: do not construct the matrix more often than necessaryAnton Khirnov2019-03-26
| | | | It does not change unless the diff coeffs change.
* egs_exact: avoid explicit matrix transpoeAnton Khirnov2019-03-26
|
* mg2d: do not leak the diff_coeffs interpolatorAnton Khirnov2019-03-26
|
* egs: add more timersAnton Khirnov2019-03-25
|
* mg2d: use appropriate full-weighted restriction for 3rd order FDsAnton Khirnov2019-03-25
|
* mg2d: use the new transfer API for inter-grid transfersAnton Khirnov2019-03-25
|
* mg2d: use ndarray for internal arraysAnton Khirnov2019-03-22
|
* ell_grid_solve: switch to ndarray in its external APIAnton Khirnov2019-03-22
|
* mg2d: remove unused variable.Anton Khirnov2019-03-18
|
* mg2d: add bicubic prolongation and generic interpolationAnton Khirnov2019-03-18
|
* mg2d: make the refinement depth/exact solve size configurableAnton Khirnov2019-03-11
| | | | API bump
* mg2d: allocate separate data arrays for the multigrid layerAnton Khirnov2019-03-11
| | | | | | | Do not use those from the topmost level directly. This introduces an additional copy, but allows us to decouple level allocation from the solver allocation.
* mg2d: remove unused variableAnton Khirnov2019-03-11
|
* mg2d: refactor levels allocationAnton Khirnov2019-03-04
| | | | This should simplify future improvements.
* mg2d: be less strict for converging to machine epsilonAnton Khirnov2019-03-04
|
* mg2d: fail if the residual grows too much from the original oneAnton Khirnov2019-03-04
|
* mg2d: take into account the factor in front of ∂_xx when computing the CFL ↵Anton Khirnov2019-03-04
| | | | factor
* Implement C/r falloff boundary condition.Anton Khirnov2019-03-04
| | | | API bump.
* mg2d: print a more explicit error message when we reach maxiterAnton Khirnov2019-02-24
|
* Rename fixdiff boundary condition to reflect.Anton Khirnov2019-02-08
| | | | | | | This is what it actually does, we do not support setting arbitrary derivative values. API bump.
* mg2d: relax the condition on residual convergenceAnton Khirnov2019-02-02
| | | | | Apparently in certain cases the residual can briefly grow, even though the process converges after.
* mg2d: print stats properly for exact solvesAnton Khirnov2019-02-02
|
* mg2d: account for effect of the ~u term on the relaxation factorAnton Khirnov2019-01-29
| | | | | The maximum allowed time step in the presence of a -K * u term goes like 2 (dx ** 2) / (4 + K (dx ** 2))
* Fix callback type mismatchAnton Khirnov2019-01-29
|
* mg2d: fail when a full multigrid iteration does not reduce the residualAnton Khirnov2019-01-29
|
* Solve the discretized system exactly on the coarsest level.Anton Khirnov2019-01-26
|
* ell_relax -> ell_grid_solveAnton Khirnov2019-01-26
| | | | | Generalize the API to allow for multiple solver types. This is done in preparation for the exact linear system inversion solver.
* mg2d: factor out the boundary condition-related APIAnton Khirnov2019-01-25
|
* Stop duplicating some constants between ell_relax and mg2d.Anton Khirnov2019-01-25
|
* mg2d: split the constant definitions into their own headerAnton Khirnov2019-01-25
| | | | This will allow sharing them with ell_relax.
* mg2d: log the convergence factors after relax/correctAnton Khirnov2019-01-22
|
* mg2d: fix typoAnton Khirnov2019-01-21
| | | | | Do nb_relax_post steps in the post-correct relaxation phase, not nb_relax_pre.
* mg2d: failer earlier when relaxation does not convergeAnton Khirnov2019-01-21
|
* mg2d: check and propagate the error from mg_solve_subgrid()Anton Khirnov2019-01-21
|
* mg2d: factor out the relaxation step callAnton Khirnov2019-01-16
|
* mg2d: add a context variable to control the log levelAnton Khirnov2019-01-16
| | | | | | Simpler to use than overriding the log callback. API bump.
* mg2d: add a function for getting maximum supported fd_stencilAnton Khirnov2019-01-16
| | | | | | | This is needed for the caller to know the number of boundary zones that can be filled. API bump.
* ell_relax: compute the residual norm in residual_calc()Anton Khirnov2019-01-13
| | | | It is cheap and avoids an extra step in mg2d.
* mg2d: make the cfl factor runtime-configurableAnton Khirnov2019-01-13
|