Go to the source code of this file.
|
void | cs_cdo_solve_sync_rhs_norm (cs_param_resnorm_type_t type, double vol_tot, cs_lnum_t rhs_size, const cs_real_t rhs[], double *normalization) |
| Compute the value of the rhs norm used as a renormalization coefficient for the residual norm when solving the linear system. A pre-computation performed during the cellwise building of the algebraic has been done before this call according to the requested type of renormalization. More...
|
|
void | cs_cdo_solve_prepare_system (int stride, bool interlace, cs_lnum_t x_size, const cs_range_set_t *rset, bool rhs_redux, cs_real_t *x, cs_real_t *b) |
| Prepare a linear system and synchronize buffers in case of parallel or periodic computations. Transfer a mesh-based description of arrays x0 and rhs into an algebraic description for the linear system in x and b (scatter/gather views). More...
|
|
int | cs_cdo_solve_scalar_cell_system (cs_lnum_t n_dofs, const cs_param_sles_t *slesp, const cs_matrix_t *matrix, cs_real_t normalization, cs_sles_t *sles, cs_real_t *x, cs_real_t *b) |
| Solve a linear system arising with scalar-valued cell-based DoFs No rotation is taken into account when synchronizing halo. More...
|
|
int | cs_cdo_solve_scalar_system (cs_lnum_t n_scatter_dofs, const cs_param_sles_t *slesp, const cs_matrix_t *matrix, const cs_range_set_t *rset, cs_real_t normalization, bool rhs_redux, cs_sles_t *sles, cs_real_t *x, cs_real_t *b) |
| Solve a linear system arising from CDO schemes with scalar-valued degrees of freedom. More...
|
|
int | cs_cdo_solve_vector_system (cs_lnum_t n_scatter_elts, bool interlace, const cs_param_sles_t *slesp, const cs_matrix_t *matrix, const cs_range_set_t *rset, cs_real_t normalization, bool rhs_redux, cs_sles_t *sles, cs_real_t *x, cs_real_t *b) |
| Solve a linear system arising from CDO schemes with vector-valued degrees of freedom (DoFs). Number of DoFs is equal to 3*n_scatter_elts. More...
|
|
◆ cs_cdo_solve_prepare_system()
Prepare a linear system and synchronize buffers in case of parallel or periodic computations. Transfer a mesh-based description of arrays x0 and rhs into an algebraic description for the linear system in x and b (scatter/gather views).
- Parameters
-
[in] | stride | stride to apply to the range set operations |
[in] | interlace | is data interlaced or not |
[in] | x_size | size of the vector unknowns (scatter view) |
[in] | rset | pointer to a range set structure |
[in] | rhs_redux | do or not a parallel sum reduction on the RHS |
[in,out] | x | array of unknowns (in: initial guess) |
[in,out] | b | right-hand side |
◆ cs_cdo_solve_scalar_cell_system()
Solve a linear system arising with scalar-valued cell-based DoFs No rotation is taken into account when synchronizing halo.
- Parameters
-
[in] | n_dofs | local number of DoFs |
[in] | slesp | pointer to a cs_param_sles_t structure |
[in] | matrix | pointer to a cs_matrix_t structure |
[in] | normalization | value used for the residual normalization |
[in,out] | sles | pointer to a cs_sles_t structure |
[in,out] | x | solution of the linear system (in: initial guess) |
[in,out] | b | right-hand side (scatter/gather if needed) |
- Returns
- the number of iterations of the linear solver
Solve a linear system arising with scalar-valued cell-based DoFs No rotation is taken into account when synchronizing halo.
- Parameters
-
[in] | n_dofs | local number of DoFs |
[in] | slesp | pointer to a cs_param_sles_t structure |
[in] | matrix | pointer to a cs_matrix_t structure |
[in] | normalization | value used for the residual normalization |
[in,out] | sles | pointer to a cs_sles_t structure |
[in,out] | x | solution of the linear system (in: initial guess) |
[in,out] | b | right-hand side (scatter/gather if needed) |
- Returns
- the number of iterations of the linear solver
◆ cs_cdo_solve_scalar_system()
Solve a linear system arising from CDO schemes with scalar-valued degrees of freedom.
- Parameters
-
[in] | n_scatter_dofs | local number of DoFs (may be != n_gather_elts) |
[in] | slesp | pointer to a cs_param_sles_t structure |
[in] | matrix | pointer to a cs_matrix_t structure |
[in] | rset | pointer to a cs_range_set_t structure |
[in] | normalization | value used for the residual normalization |
[in] | rhs_redux | do or not a parallel sum reduction on the RHS |
[in,out] | sles | pointer to a cs_sles_t structure |
[in,out] | x | solution of the linear system (in: initial guess) |
[in,out] | b | right-hand side (scatter/gather if needed) |
- Returns
- the number of iterations of the linear solver
◆ cs_cdo_solve_sync_rhs_norm()
Compute the value of the rhs norm used as a renormalization coefficient for the residual norm when solving the linear system. A pre-computation performed during the cellwise building of the algebraic has been done before this call according to the requested type of renormalization.
- Parameters
-
[in] | type | type of renormalization |
[in] | vol_tot | total volume of the computational domain |
[in] | rhs_size | size of the rhs array |
[in] | rhs | array related to the right-hand side |
[in,out] | normalization | value of the residual normalization |
◆ cs_cdo_solve_vector_system()
Solve a linear system arising from CDO schemes with vector-valued degrees of freedom (DoFs). Number of DoFs is equal to 3*n_scatter_elts.
- Parameters
-
[in] | n_scatter_elts | local number of elements (may be != n_gather_elts) |
[in] | interlace | way to arrange data (true/false) |
[in] | slesp | pointer to a cs_param_sles_t structure |
[in] | matrix | pointer to a cs_matrix_t structure |
[in] | rset | pointer to a cs_range_set_t structure |
[in] | normalization | value used for the residual normalization |
[in] | rhs_redux | do or not a parallel sum reduction on the RHS |
[in,out] | sles | pointer to a cs_sles_t structure |
[in,out] | x | solution of the linear system (in: initial guess) |
[in,out] | b | right-hand side (scatter/gather if needed) |
- Returns
- the number of iterations of the linear solver