summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* egs: add higher-order finite difference operatorsfd8Anton Khirnov2020-01-26
|
* bicgstab: drop unused labelAnton Khirnov2020-01-26
|
* common: print the source location in mg2di_assert()Anton Khirnov2020-01-26
|
* mg2d: create a per-level logging contextAnton Khirnov2020-01-26
|
* mg2d: export the residual norm to the callerAnton Khirnov2020-01-20
|
* mg2d: add a designated error code for reaching maxiterAnton Khirnov2020-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 checkAnton Khirnov2020-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 Khirnov2019-07-10
|
* mg2d: calculate the cfl from continuous diff coeffsAnton Khirnov2019-07-06
|
* mg2d: reduce restriction order to 1Anton Khirnov2019-06-29
| | | | This seems to work more reliably.
* egs: reduce the max number of BiCGSTAB iterations to 4Anton Khirnov2019-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 Khirnov2019-06-29
|
* transfer: implement and use 1D interpolationAnton Khirnov2019-06-29
| | | | Stop abusing "2D of y size 1" for this.
* mg2d: make init_guess() MPI-awareAnton Khirnov2019-06-29
| | | | API and ABI break.
* implement several relax steps per syncAnton Khirnov2019-06-29
|
* egs: make array allocation more readableAnton Khirnov2019-06-29
|
* egs: allocate mpi sync parameters only after we know the fd stencilAnton Khirnov2019-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 boundariesAnton Khirnov2019-06-18
|
* egs: simplify reflection boundary handlingAnton Khirnov2019-06-14
|
* rescalc: improve reflection boundary conditionsAnton Khirnov2019-06-14
| | | | | Make parameter names more clear/consistent, document them, implement missing 1U boundary.
* egs: constify a function argumentAnton Khirnov2019-06-14
|
* mg2d: add API for specifying singular diff coeffs at the boundariesAnton Khirnov2019-06-13
| | | | API and ABI break.
* mg2d: relax condition on divergenceAnton Khirnov2019-06-13
|
* ndarray: fix handling SLICE_NULLAnton Khirnov2019-06-13
|
* mg2d: implement multicomponent solves for coarser levelsAnton Khirnov2019-06-13
|
* mg2d: do not pass NULL as a dummy MPI datatypeAnton Khirnov2019-06-04
| | | | Use MPI_DATATYPE_NULL.
* mg2d: use the all-comp global residual norm for divergence testingAnton Khirnov2019-06-04
| | | | | Residual may grow dramatically in certain components while globally decreasing.
* mg2d: export the local component extents in public APIAnton Khirnov2019-06-02
|
* egs: handle falloff boundaries properly with multiple componentsAnton Khirnov2019-06-02
|
* mg2d: add support for MPI-based multi-component solvesAnton Khirnov2019-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 solvesAnton Khirnov2019-05-23
|
* mg2d_test: scale the tolerance with step sizeAnton Khirnov2019-05-23
|
* transfer: allow optional extrapolationAnton Khirnov2019-05-23
|
* Make the ghost points explicit in prolongationAnton Khirnov2019-05-21
|
* transfer: implement fw4Anton Khirnov2019-05-17
|
* transfer: allow grids that do not start at coordinate zeroAnton Khirnov2019-05-17
|
* transfer: unify the code for full-weighted transferAnton Khirnov2019-05-17
| | | | Also, rename the operator names to make more sense.
* transfer: add API documentationAnton Khirnov2019-05-17
|
* egs: simplify conditionAnton Khirnov2019-05-16
|
* relax_test: fix getting the residual normAnton Khirnov2019-05-12
|
* transfer: fix non-contiguous interpolationAnton Khirnov2019-05-06
|
* 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.
* ndarray: add proper argument parenthetisation in macrosAnton Khirnov2019-04-24
|
* egs: parallelize diff_coeffs premult operationAnton Khirnov2019-04-23
|
* egs: premultiply diff_coeffs with the denominator in initAnton Khirnov2019-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 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.