Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | mg2d: create a per-level logging context | Anton Khirnov | 2020-01-26 |
| | |||
* | mg2d: export the residual norm to the caller | Anton Khirnov | 2020-01-20 |
| | |||
* | mg2d: add a designated error code for reaching maxiter | Anton Khirnov | 2020-01-20 |
| | | | | | Allows to reliably distinguish it from other error cases. Also specify that the values of u are defined for this error code. | ||
* | mg2d: calculate the cfl from continuous diff coeffs | Anton Khirnov | 2019-07-06 |
| | |||
* | mg2d: reduce restriction order to 1 | Anton Khirnov | 2019-06-29 |
| | | | | This seems to work more reliably. | ||
* | egs: sync the residual maximum across components. | Anton Khirnov | 2019-06-29 |
| | |||
* | transfer: implement and use 1D interpolation | Anton Khirnov | 2019-06-29 |
| | | | | Stop abusing "2D of y size 1" for this. | ||
* | mg2d: make init_guess() MPI-aware | Anton Khirnov | 2019-06-29 |
| | | | | API and ABI break. | ||
* | mg2d: add API for specifying singular diff coeffs at the boundaries | Anton Khirnov | 2019-06-13 |
| | | | | API and ABI break. | ||
* | mg2d: relax condition on divergence | Anton Khirnov | 2019-06-13 |
| | |||
* | mg2d: implement multicomponent solves for coarser levels | Anton Khirnov | 2019-06-13 |
| | |||
* | mg2d: do not pass NULL as a dummy MPI datatype | Anton Khirnov | 2019-06-04 |
| | | | | Use MPI_DATATYPE_NULL. | ||
* | mg2d: use the all-comp global residual norm for divergence testing | Anton Khirnov | 2019-06-04 |
| | | | | | Residual may grow dramatically in certain components while globally decreasing. | ||
* | mg2d: export the local component extents in public API | Anton Khirnov | 2019-06-02 |
| | |||
* | mg2d: add support for MPI-based multi-component solves | Anton Khirnov | 2019-05-23 |
| | | | | | For the moment, only the finest component is distributed, any coarser levels are gathered to rank 0. That should change in the future. | ||
* | egs: add support for MPI-based multi-component solves | Anton Khirnov | 2019-05-23 |
| | |||
* | Make the ghost points explicit in prolongation | Anton Khirnov | 2019-05-21 |
| | |||
* | transfer: unify the code for full-weighted transfer | Anton Khirnov | 2019-05-17 |
| | | | | Also, rename the operator names to make more sense. | ||
* | egs: allow the same context to be used for both relaxation and exact solves | Anton Khirnov | 2019-05-06 |
| | |||
* | mg2d: print stats regardless of the selected log level | Anton Khirnov | 2019-04-24 |
| | |||
* | mg2d: set egs init flags properly in all cases | Anton Khirnov | 2019-04-24 |
| | |||
* | egs: merge residual calc and correct when possible | Anton Khirnov | 2019-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 Khirnov | 2019-04-19 |
| | |||
* | mg2d: timer improvements | Anton Khirnov | 2019-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 operators | Anton Khirnov | 2019-04-09 |
| | |||
* | mg2d: do not crash if print_stats() is called before any solves | Anton Khirnov | 2019-04-07 |
| | |||
* | mg2d: add API for interpolating an initial guess from a provided grid | Anton Khirnov | 2019-04-02 |
| | |||
* | mg2d: track the time spent initializing the levels | Anton Khirnov | 2019-04-02 |
| | |||
* | mg2d: extend stats logging | Anton Khirnov | 2019-04-01 |
| | |||
* | egs_exact: do not construct the matrix more often than necessary | Anton Khirnov | 2019-03-26 |
| | | | | It does not change unless the diff coeffs change. | ||
* | egs_exact: avoid explicit matrix transpoe | Anton Khirnov | 2019-03-26 |
| | |||
* | mg2d: do not leak the diff_coeffs interpolator | Anton Khirnov | 2019-03-26 |
| | |||
* | egs: add more timers | Anton Khirnov | 2019-03-25 |
| | |||
* | mg2d: use appropriate full-weighted restriction for 3rd order FDs | Anton Khirnov | 2019-03-25 |
| | |||
* | mg2d: use the new transfer API for inter-grid transfers | Anton Khirnov | 2019-03-25 |
| | |||
* | mg2d: use ndarray for internal arrays | Anton Khirnov | 2019-03-22 |
| | |||
* | ell_grid_solve: switch to ndarray in its external API | Anton Khirnov | 2019-03-22 |
| | |||
* | mg2d: remove unused variable. | Anton Khirnov | 2019-03-18 |
| | |||
* | mg2d: add bicubic prolongation and generic interpolation | Anton Khirnov | 2019-03-18 |
| | |||
* | mg2d: make the refinement depth/exact solve size configurable | Anton Khirnov | 2019-03-11 |
| | | | | API bump | ||
* | mg2d: allocate separate data arrays for the multigrid layer | Anton Khirnov | 2019-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 variable | Anton Khirnov | 2019-03-11 |
| | |||
* | mg2d: refactor levels allocation | Anton Khirnov | 2019-03-04 |
| | | | | This should simplify future improvements. | ||
* | mg2d: be less strict for converging to machine epsilon | Anton Khirnov | 2019-03-04 |
| | |||
* | mg2d: fail if the residual grows too much from the original one | Anton Khirnov | 2019-03-04 |
| | |||
* | mg2d: take into account the factor in front of ∂_xx when computing the CFL ↵ | Anton Khirnov | 2019-03-04 |
| | | | | factor | ||
* | Implement C/r falloff boundary condition. | Anton Khirnov | 2019-03-04 |
| | | | | API bump. | ||
* | mg2d: print a more explicit error message when we reach maxiter | Anton Khirnov | 2019-02-24 |
| | |||
* | Rename fixdiff boundary condition to reflect. | Anton Khirnov | 2019-02-08 |
| | | | | | | | This is what it actually does, we do not support setting arbitrary derivative values. API bump. | ||
* | mg2d: relax the condition on residual convergence | Anton Khirnov | 2019-02-02 |
| | | | | | Apparently in certain cases the residual can briefly grow, even though the process converges after. |