aboutsummaryrefslogtreecommitdiff
path: root/ell_grid_solve.c
Commit message (Collapse)AuthorAge
* egs: sync the residual maximum across components.Anton Khirnov2019-06-29
|
* 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
|
* egs: handle falloff boundaries properly with multiple componentsAnton Khirnov2019-06-02
|
* egs: add support for MPI-based multi-component solvesAnton Khirnov2019-05-23
|
* Make the ghost points explicit in prolongationAnton Khirnov2019-05-21
|
* egs: simplify conditionAnton Khirnov2019-05-16
|
* egs: allow the same context to be used for both relaxation and exact solvesAnton Khirnov2019-05-06
|
* 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.
* 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
|
* egs: drop unused function parametersAnton Khirnov2019-04-19
|
* egs: do not assume the same stride for all arraysAnton Khirnov2019-04-17
| | | | Also, allocate all the diff coeffs together.
* egs: optimize the correction stepAnton Khirnov2019-04-02
|
* egs: optimize applying reflection boundariesAnton 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
|
* egs_exact: get rid of an unnecessary function parameterAnton Khirnov2019-03-25
|
* egs_exact: parallelize matrix constructionAnton Khirnov2019-03-25
|
* egs: reindentAnton Khirnov2019-03-25
|
* egs: add more timersAnton Khirnov2019-03-25
|
* egs: only apply the fixval condition when it is non-zero and on initAnton Khirnov2019-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 orderAnton Khirnov2019-03-25
| | | | Drop the hack that just ran through the loop twice.
* egs: zero u on allocationAnton Khirnov2019-03-25
| | | | This will be useful in later commits.
* ell_grid_solve: switch to ndarray in its external APIAnton Khirnov2019-03-22
|
* ell_grid_solve: use ndarray API for allocating internal arraysAnton Khirnov2019-03-21
|
* ell_grid_solve: use BiCGSTAB to speed up exact solvesAnton Khirnov2019-03-18
|
* ell_grid_solve: remove unused variableAnton Khirnov2019-03-11
|
* ell_grid_solve: initialize diff_coeffs to 0Anton Khirnov2019-03-04
| | | | Prevents the uninitialized items from affecting interpolation.
* Implement C/r falloff boundary condition.Anton Khirnov2019-03-04
| | | | API bump.
* ell_grid_solve: do not read from outside of allocated boundary valuesAnton Khirnov2019-02-24
|
* ell_grid_solve: do not read from possibly-uninitialized boundary layerAnton Khirnov2019-02-08
|
* Rename fixdiff boundary condition to reflect.Anton Khirnov2019-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 codeAnton Khirnov2019-02-06
|
* Change the meaning of boundary location to make more sense.Anton Khirnov2019-02-05
| | | | API bump.
* mg2d: print stats properly for exact solvesAnton Khirnov2019-02-02
|
* ell_grid_solve: split residual computation into its own fileAnton Khirnov2019-01-30
|
* mg2d: account for effect of the ~u term on the relaxation factorAnton Khirnov2019-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 mismatchAnton Khirnov2019-01-29
|
* ell_grid_solve: remove unused variablesAnton Khirnov2019-01-29
|
* ell_grid_solve: add missing headerAnton Khirnov2019-01-29
|
* Solve the discretized system exactly on the coarsest level.Anton Khirnov2019-01-26
|
* ell_relax -> ell_grid_solveAnton Khirnov2019-01-26
Generalize the API to allow for multiple solver types. This is done in preparation for the exact linear system inversion solver.