Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | egs: add higher-order finite difference operatorsfd8 | Anton Khirnov | 2020-01-26 |
| | |||
* | bicgstab: drop unused label | Anton Khirnov | 2020-01-26 |
| | |||
* | common: print the source location in mg2di_assert() | Anton Khirnov | 2020-01-26 |
| | |||
* | 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. | ||
* | transfer: slightly relax the domain overlap check | Anton Khirnov | 2020-01-20 |
| | | | | | Allow the destination domain to be outside the source by a small margin (1e-12). | ||
* | common: do not interpret printf sequences in mg2di_assert() | Anton Khirnov | 2019-07-10 |
| | |||
* | 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: reduce the max number of BiCGSTAB iterations to 4 | Anton Khirnov | 2019-06-29 |
| | | | | | Since we typically do many multigrid iterations per step, being more aggressive about a full inverse gives better performance. | ||
* | 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. | ||
* | implement several relax steps per sync | Anton Khirnov | 2019-06-29 |
| | |||
* | egs: make array allocation more readable | Anton Khirnov | 2019-06-29 |
| | |||
* | egs: allocate mpi sync parameters only after we know the fd stencil | Anton Khirnov | 2019-06-18 |
| | | | | | Also, forbid it to change after first init. That is not ever used and allowing it unnecessarily complicates the logic. | ||
* | egs: skip boundary corners for inter-component boundaries | Anton Khirnov | 2019-06-18 |
| | |||
* | egs: simplify reflection boundary handling | Anton Khirnov | 2019-06-14 |
| | |||
* | rescalc: improve reflection boundary conditions | Anton Khirnov | 2019-06-14 |
| | | | | | Make parameter names more clear/consistent, document them, implement missing 1U boundary. | ||
* | egs: constify a function argument | Anton Khirnov | 2019-06-14 |
| | |||
* | 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 |
| | |||
* | ndarray: fix handling SLICE_NULL | 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 |
| | |||
* | egs: handle falloff boundaries properly with multiple components | 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 |
| | |||
* | mg2d_test: scale the tolerance with step size | Anton Khirnov | 2019-05-23 |
| | |||
* | transfer: allow optional extrapolation | Anton Khirnov | 2019-05-23 |
| | |||
* | Make the ghost points explicit in prolongation | Anton Khirnov | 2019-05-21 |
| | |||
* | transfer: implement fw4 | Anton Khirnov | 2019-05-17 |
| | |||
* | transfer: allow grids that do not start at coordinate zero | Anton Khirnov | 2019-05-17 |
| | |||
* | transfer: unify the code for full-weighted transfer | Anton Khirnov | 2019-05-17 |
| | | | | Also, rename the operator names to make more sense. | ||
* | transfer: add API documentation | Anton Khirnov | 2019-05-17 |
| | |||
* | egs: simplify condition | Anton Khirnov | 2019-05-16 |
| | |||
* | relax_test: fix getting the residual norm | Anton Khirnov | 2019-05-12 |
| | |||
* | transfer: fix non-contiguous interpolation | Anton Khirnov | 2019-05-06 |
| | |||
* | 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. | ||
* | ndarray: add proper argument parenthetisation in macros | Anton Khirnov | 2019-04-24 |
| | |||
* | egs: parallelize diff_coeffs premult operation | Anton Khirnov | 2019-04-23 |
| | |||
* | egs: premultiply diff_coeffs with the denominator in init | Anton Khirnov | 2019-04-19 |
| | | | | | | Do not do it at every residual calc, which also allows us to get rid of an extra parameter (and reduce the number of registers used in x86 SIMD). | ||
* | 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. |