You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Add a block-structured distributed operator that presents itself to Krylov solvers and preconditioners as a single ordinary distributed matrix (the PSBLAS analogue of PETSc MATNEST), targeting saddle-point systems M = [[A, B^T], [B, 0]] with possibly rectangular sub-blocks. Library (base/modules): - psb_desc_nest_mod, psb_d_nest_mat_mod: grid of per-field descriptors and per-block sparse storage. - psb_d_nest_base_mat_mod: psb_d_nest_base_mat, the operator extending psb_d_base_sparse_mat (local csmv, free, field-split hooks for a future block preconditioner). - psb_cd_nest_tools_mod / psb_d_nest_tools_mod: composed global descriptor with union halo (psb_cd_nest_compose) and rectangular local block builder (psb_d_nest_rect_block), plus the per-block assembly wrappers. - psb_d_nest_builder_mod: psb_d_nest_matrix, the user frontend with the init/ins/asb/free pattern hiding all descriptor/halo/compose/setup boilerplate. - psb_d_nest_mod: umbrella module (use psb_d_nest_mod). Remove the earlier bespoke per-block prototype (comm/psblas/vect modules and the pde_nest_psblas test) superseded by the single MATNEST design. Tests (test/nested): glob (square operator vs monolithic CSR oracle), rect (genuinely rectangular blocks), cg (low-level path, ill-conditioned SPD red-black Laplacian solved with standard CG), builder (same solve via the utility), plus a README describing the design and usage. All pass serially and in parallel, with results invariant to the process count. Build hooks updated (autotools Makefiles + CMakeLists); the nested tests are relocated out of test/pdegen into test/nested. Author: Simone Staccone (Stack-1) |
2 weeks ago | |
|---|---|---|
| .. | ||
| psb_base_mat_mod.F90 | 3 months ago | |
| psb_c_base_mat_mod.F90 | 4 weeks ago | |
| psb_c_base_vect_mod.F90 | 4 weeks ago | |
| psb_c_csc_mat_mod.f90 | 4 weeks ago | |
| psb_c_csr_mat_mod.f90 | 4 weeks ago | |
| psb_c_mat_mod.F90 | 4 weeks ago | |
| psb_c_serial_mod.f90 | 4 weeks ago | |
| psb_c_vect_mod.F90 | 4 weeks ago | |
| psb_d_base_mat_mod.F90 | 4 weeks ago | |
| psb_d_base_vect_mod.F90 | 4 weeks ago | |
| psb_d_csc_mat_mod.f90 | 4 weeks ago | |
| psb_d_csr_mat_mod.f90 | 4 weeks ago | |
| psb_d_mat_mod.F90 | 4 weeks ago | |
| psb_d_nest_base_mat_mod.F90 | 2 weeks ago | |
| psb_d_nest_mat_mod.f90 | 2 weeks ago | |
| psb_d_serial_mod.f90 | 4 weeks ago | |
| psb_d_vect_mod.F90 | 4 weeks ago | |
| psb_i2_base_vect_mod.F90 | 3 weeks ago | |
| psb_i2_vect_mod.F90 | 4 weeks ago | |
| psb_i_base_vect_mod.F90 | 4 weeks ago | |
| psb_i_vect_mod.F90 | 4 weeks ago | |
| psb_l_base_vect_mod.F90 | 4 weeks ago | |
| psb_l_vect_mod.F90 | 4 weeks ago | |
| psb_mat_mod.f90 | 6 years ago | |
| psb_s_base_mat_mod.F90 | 4 weeks ago | |
| psb_s_base_vect_mod.F90 | 4 weeks ago | |
| psb_s_csc_mat_mod.f90 | 4 weeks ago | |
| psb_s_csr_mat_mod.f90 | 4 weeks ago | |
| psb_s_mat_mod.F90 | 4 weeks ago | |
| psb_s_serial_mod.f90 | 4 weeks ago | |
| psb_s_vect_mod.F90 | 4 weeks ago | |
| psb_serial_mod.f90 | 3 months ago | |
| psb_vect_mod.f90 | 3 months ago | |
| psb_z_base_mat_mod.F90 | 4 weeks ago | |
| psb_z_base_vect_mod.F90 | 4 weeks ago | |
| psb_z_csc_mat_mod.f90 | 4 weeks ago | |
| psb_z_csr_mat_mod.f90 | 4 weeks ago | |
| psb_z_mat_mod.F90 | 4 weeks ago | |
| psb_z_serial_mod.f90 | 4 weeks ago | |
| psb_z_vect_mod.F90 | 4 weeks ago | |