/[escript]/trunk/paso/src/SchurComplement.cpp
ViewVC logotype

Diff of /trunk/paso/src/SchurComplement.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/paso/src/Solver_SchurComplement.c revision 2548 by jfenwick, Mon Jul 20 06:20:06 2009 UTC branches/doubleplusgood/paso/src/SchurComplement.cpp revision 4345 by jfenwick, Fri Mar 29 07:09:41 2013 UTC
# Line 1  Line 1 
1    
2  /*******************************************************  /*****************************************************************************
3  *  *
4  * Copyright (c) 2003-2009 by University of Queensland  * Copyright (c) 2003-2013 by University of Queensland
5  * Earth Systems Science Computational Center (ESSCC)  * http://www.uq.edu.au
 * http://www.uq.edu.au/esscc  
6  *  *
7  * Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
8  * Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
9  * http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
10  *  *
11  *******************************************************/  * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12    * Development since 2012 by School of Earth Sciences
13    *
14    *****************************************************************************/
15    
16    
17  /**************************************************************/  /************************************************************************************/
18    
19  /* Paso: updates A_CC <- ACC-ACF AFF^{-1} AFC                 */  /* Paso: updates A_CC <- ACC-ACF AFF^{-1} AFC                 */
20    
21  /* no check of consistency of matrices !!!!                   */  /* no check of consistency of matrices !!!!                   */
22    
23  /**************************************************************/  /************************************************************************************/
24    
25  /* Copyrights by ACcESS Australia 2003,2004,2005              */  /* Copyrights by ACcESS Australia 2003,2004,2005              */
26  /* Author: gross@access.edu.au                                */  /* Author: Lutz Gross, l.gross@uq.edu.au                      */
27    
28  /**************************************************************/  /************************************************************************************/
29    
30  #include "Paso.h"  #include "Paso.h"
31  #include "SparseMatrix.h"  #include "SparseMatrix.h"
32  #include "Solver.h"  #include "Solver.h"
33    
34  /**************************************************************/  /************************************************************************************/
35    
36    
37    
# Line 83  void Paso_Solver_updateIncompleteSchurCo Line 85  void Paso_Solver_updateIncompleteSchurCo
85                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);
86                  if (where_p!=NULL) {                  if (where_p!=NULL) {
87                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);
88                      /* this calculutes A_CF*invA_FF(i,col_CF) */                      /* this calculates A_CF*invA_FF(i,col_CF) */
89                      if (set_A) {                      if (set_A) {
90                         A_CF_11=A_CF->val[4*iPtr_CF  ];                         A_CF_11=A_CF->val[4*iPtr_CF  ];
91                         A_CF_21=A_CF->val[4*iPtr_CF+1];                         A_CF_21=A_CF->val[4*iPtr_CF+1];
# Line 133  void Paso_Solver_updateIncompleteSchurCo Line 135  void Paso_Solver_updateIncompleteSchurCo
135                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);
136                  if (where_p!=NULL) {                  if (where_p!=NULL) {
137                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);
138                      /* this calculutes A_CF*invA_FF(i,col_CF) */                      /* this calculates A_CF*invA_FF(i,col_CF) */
139                      if (set_A) {                      if (set_A) {
140                         A_CF_11=A_CF->val[9*iPtr_CF  ];                         A_CF_11=A_CF->val[9*iPtr_CF  ];
141                         A_CF_21=A_CF->val[9*iPtr_CF+1];                         A_CF_21=A_CF->val[9*iPtr_CF+1];
# Line 200  void Paso_Solver_updateIncompleteSchurCo Line 202  void Paso_Solver_updateIncompleteSchurCo
202   * Merge of development branch dev-02 back to main trunk on 2005-09-15   * Merge of development branch dev-02 back to main trunk on 2005-09-15
203   *   *
204   * Revision 1.1.2.1  2005/09/05 06:29:50  gross   * Revision 1.1.2.1  2005/09/05 06:29:50  gross
205   * These files have been extracted from finley to define a stand alone libray for iterative   * These files have been extracted from finley to define a stand alone library for iterative
206   * linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but   * linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but
207   * has not been tested yet.   * has not been tested yet.
208   *   *

Legend:
Removed from v.2548  
changed lines
  Added in v.4345

  ViewVC Help
Powered by ViewVC 1.1.26