aboutsummaryrefslogtreecommitdiff
path: root/mg2d.c
Commit message (Collapse)AuthorAge
* mg2d: add MG2DContext.adaptive_stepAnton Khirnov2024-04-16
| | | | Unused, for API compatibility with the adaptive step branch.
* mg2d: use correct strideAnton Khirnov2024-04-15
|
* mg2d: avoid leaks in mg_dh_init()Anton Khirnov2020-07-12
|
* mg2d: add logging to some error pathsAnton Khirnov2020-07-11
|
* Switch to external ndarray library.Anton Khirnov2020-06-25
|
* 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.
* 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: 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.
* 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
|
* 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
|
* 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
|
* Make the ghost points explicit in prolongationAnton Khirnov2019-05-21
|
* transfer: unify the code for full-weighted transferAnton Khirnov2019-05-17
| | | | Also, rename the operator names to make more sense.
* 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
|