Go to the source code of this file.
|  | 
| cs_real_t * | cs_saddle_system_b11_inv_diag (cs_lnum_t b11_max_size, cs_cdo_system_helper_t *sh) | 
|  | Retrieve the inverse of the diagonal of the (1,1)-block matrix The storage of a matrix is in a gather view and the resulting array is in a scatter view.  More... 
 | 
|  | 
| void | cs_saddle_system_b11_matvec (const cs_cdo_system_helper_t *sh, cs_real_t *vec, cs_real_t *matvec) | 
|  | Perform a matrix-vector multiplication for the (1,1) block when the input vector is in a scatter state.  More... 
 | 
|  | 
| void | cs_saddle_system_b12_matvec (const cs_cdo_system_helper_t *sh, const cs_real_t *x2, cs_real_t *res, bool reset_res) | 
|  | Compute the resulting vector of the operation m12*x2 The block (1,2) is stored in an unassembled way and corresponds to the (2,1) block. Thus, one considers a transposition of this block. x2 corresponds to a "scatter" view.  More... 
 | 
|  | 
| void | cs_saddle_system_b21_matvec (const cs_cdo_system_helper_t *sh, const cs_real_t *x1, cs_real_t *res) | 
|  | Compute the resulting vector of the operation m21*x1 The block (2,1) is stored in an unassembled way. x1 corresponds to a "scatter" view.  More... 
 | 
|  | 
| void | cs_saddle_system_matvec (const cs_cdo_system_helper_t *sh, cs_real_t *x1, cs_real_t *x2, cs_real_t *r1, cs_real_t *r2) | 
|  | Compute the matrix-vector operation for a saddle-point system r1 = M11.x1 + M12.x2 (result for the first set) r2 = M21.x1 (result for the second set)  More... 
 | 
|  | 
| void | cs_saddle_system_residual (const cs_cdo_system_helper_t *sh, cs_real_t *x1, cs_real_t *x2, cs_real_t *res1, cs_real_t *res2) | 
|  | Compute the residual of the saddle-point system res1 = rhs1 - M11.x1 - M12.x2 (residual for the first set) res2 = rhs2 - M21.x1 (residual for the second set)  More... 
 | 
|  | 
◆ cs_saddle_system_b11_inv_diag()
Retrieve the inverse of the diagonal of the (1,1)-block matrix The storage of a matrix is in a gather view and the resulting array is in a scatter view. 
- Parameters
- 
  
    | [in] | b11_max_size | max size related to the (1,1) block |  | [in] | sh | pointer to a system helper structure |  
 
- Returns
- a pointer to the computed array (scatter view) 
 
 
◆ cs_saddle_system_b11_matvec()
Perform a matrix-vector multiplication for the (1,1) block when the input vector is in a scatter state. 
Thus, one performs a scatter --> gather (before the multiplication) and a gather --> scatter operation after the multiplication. One assumes that m11x1 is allocated to the right size. No check is done.
- Parameters
- 
  
    | [in] | sh | pointer to a system helper structure |  | [in,out] | vec | vector |  | [in,out] | matvec | resulting vector for the matrix-vector product |  
 
 
 
◆ cs_saddle_system_b12_matvec()
Compute the resulting vector of the operation m12*x2 The block (1,2) is stored in an unassembled way and corresponds to the (2,1) block. Thus, one considers a transposition of this block. x2 corresponds to a "scatter" view. 
- Parameters
- 
  
    | [in] | sh | pointer to a system helper structure |  | [in] | x2 | array to be multiplied |  | [in,out] | res | result array storing the matrix.vector operation |  | [in] | reset_res | false --> this is an update |  
 
 
 
◆ cs_saddle_system_b21_matvec()
Compute the resulting vector of the operation m21*x1 The block (2,1) is stored in an unassembled way. x1 corresponds to a "scatter" view. 
- Parameters
- 
  
    | [in] | sh | pointer to a system helper structure |  | [in] | x1 | array to be multiplied |  | [in,out] | res | result array storing the matrix.vector operation |  
 
 
 
◆ cs_saddle_system_matvec()
Compute the matrix-vector operation for a saddle-point system r1 = M11.x1 + M12.x2 (result for the first set) r2 = M21.x1 (result for the second set) 
- Parameters
- 
  
    | [in] | sh | pointer to a system helper structure |  | [in,out] | x1 | array for the first part |  | [in,out] | x2 | array for the second part |  | [in,out] | r1 | result array for the first set of DoFs |  | [in,out] | r2 | result array for the second set of DoFs |  
 
 
 
◆ cs_saddle_system_residual()
Compute the residual of the saddle-point system res1 = rhs1 - M11.x1 - M12.x2 (residual for the first set) res2 = rhs2 - M21.x1 (residual for the second set) 
- Parameters
- 
  
    | [in] | sh | pointer to a system helper structure |  | [in,out] | x1 | array for the first part |  | [in,out] | x2 | array for the second part |  | [in,out] | res1 | resulting residual vector for the first set of DoFs |  | [in,out] | res2 | resulting residual vector for the second set of DoFs |