Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | egs: add higher-order finite difference operators | Anton Khirnov | 2020-07-13 |
| | |||
* | Switch to external ndarray library. | Anton Khirnov | 2020-06-25 |
| | |||
* | 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 |
| | |||
* | 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 |
| | |||
* | egs: handle falloff boundaries properly with multiple components | Anton Khirnov | 2019-06-02 |
| | |||
* | 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 |
| | |||
* | egs: simplify condition | Anton Khirnov | 2019-05-16 |
| | |||
* | egs: allow the same context to be used for both relaxation and exact solves | Anton Khirnov | 2019-05-06 |
| | |||
* | 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. | ||
* | 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 |
| | |||
* | egs: drop unused function parameters | Anton Khirnov | 2019-04-19 |
| | |||
* | egs: do not assume the same stride for all arrays | Anton Khirnov | 2019-04-17 |
| | | | | Also, allocate all the diff coeffs together. | ||
* | egs: optimize the correction step | Anton Khirnov | 2019-04-02 |
| | |||
* | egs: optimize applying reflection boundaries | 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 |
| | |||
* | egs_exact: get rid of an unnecessary function parameter | Anton Khirnov | 2019-03-25 |
| | |||
* | egs_exact: parallelize matrix construction | Anton Khirnov | 2019-03-25 |
| | |||
* | egs: reindent | Anton Khirnov | 2019-03-25 |
| | |||
* | egs: add more timers | Anton Khirnov | 2019-03-25 |
| | |||
* | egs: only apply the fixval condition when it is non-zero and on init | Anton Khirnov | 2019-03-25 |
| | | | | | | | Both u and residual are initialized to zero on alloc and the residual is not computed on the fixval boundaries. The value of u will thus never change there, so we do not need to impose the condition there except at the very beginning. | ||
* | egs: apply the boundary conditions in the correct order | Anton Khirnov | 2019-03-25 |
| | | | | Drop the hack that just ran through the loop twice. | ||
* | egs: zero u on allocation | Anton Khirnov | 2019-03-25 |
| | | | | This will be useful in later commits. | ||
* | ell_grid_solve: switch to ndarray in its external API | Anton Khirnov | 2019-03-22 |
| | |||
* | ell_grid_solve: use ndarray API for allocating internal arrays | Anton Khirnov | 2019-03-21 |
| | |||
* | ell_grid_solve: use BiCGSTAB to speed up exact solves | Anton Khirnov | 2019-03-18 |
| | |||
* | ell_grid_solve: remove unused variable | Anton Khirnov | 2019-03-11 |
| | |||
* | ell_grid_solve: initialize diff_coeffs to 0 | Anton Khirnov | 2019-03-04 |
| | | | | Prevents the uninitialized items from affecting interpolation. | ||
* | Implement C/r falloff boundary condition. | Anton Khirnov | 2019-03-04 |
| | | | | API bump. | ||
* | ell_grid_solve: do not read from outside of allocated boundary values | Anton Khirnov | 2019-02-24 |
| | |||
* | ell_grid_solve: do not read from possibly-uninitialized boundary layer | Anton Khirnov | 2019-02-08 |
| | |||
* | 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. | ||
* | ell_grid_solve: use the new boundary API to simplify code | Anton Khirnov | 2019-02-06 |
| | |||
* | Change the meaning of boundary location to make more sense. | Anton Khirnov | 2019-02-05 |
| | | | | API bump. | ||
* | mg2d: print stats properly for exact solves | Anton Khirnov | 2019-02-02 |
| | |||
* | ell_grid_solve: split residual computation into its own file | Anton Khirnov | 2019-01-30 |
| | |||
* | mg2d: account for effect of the ~u term on the relaxation factor | Anton Khirnov | 2019-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 mismatch | Anton Khirnov | 2019-01-29 |
| | |||
* | ell_grid_solve: remove unused variables | Anton Khirnov | 2019-01-29 |
| |