/[escript]/trunk/paso/src/Pattern_coupling.c
ViewVC logotype

Diff of /trunk/paso/src/Pattern_coupling.c

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

revision 1902 by artak, Wed Oct 22 03:54:14 2008 UTC revision 1917 by phornby, Thu Oct 23 09:09:31 2008 UTC
# Line 28  Line 28 
28    
29  /**************************************************************/  /**************************************************************/
30    
 #include "mpi_C.h"  
 #include "Paso.h"  
31  #include "PasoUtil.h"  #include "PasoUtil.h"
32  #include "Pattern.h"  #include "Pattern_coupling.h"
 #include "Solver.h"  
33    
34    
35  /***************************************************************/  /***************************************************************/
# Line 60  void Paso_Pattern_coup(Paso_SparseMatrix Line 57  void Paso_Pattern_coup(Paso_SparseMatrix
57       /* is there any vertex available ?*/       /* is there any vertex available ?*/
58       while (Paso_Util_isAny(n,mis_marker,IS_AVAILABLE)) {       while (Paso_Util_isAny(n,mis_marker,IS_AVAILABLE)) {
59    
60             #pragma omp parallel for private(naib,i,iptr,flag) schedule(static)             #pragma omp parallel for private(i,iptr,flag) schedule(static)
61             for (i=0;i<n;++i) {             for (i=0;i<n;++i) {
62                if (mis_marker[i]==IS_AVAILABLE) {                if (mis_marker[i]==IS_AVAILABLE) {
63                   flag=IS_IN_MIS;                   flag=IS_IN_MIS;
# Line 87  void Paso_Pattern_coup(Paso_SparseMatrix Line 84  void Paso_Pattern_coup(Paso_SparseMatrix
84                  }                  }
85              }              }
86                        
87                #pragma omp parallel for private(naib,i,iptr) schedule(static)                #pragma omp parallel for private(i,iptr) schedule(static)
88                for (i=0;i<n;i++) {                for (i=0;i<n;i++) {
89                 if (mis_marker[i]==IS_AVAILABLE) {                 if (mis_marker[i]==IS_AVAILABLE) {
90                   diagptr=A->pattern->ptr[i];                   diagptr=A->pattern->ptr[i];
# Line 135  void Paso_Pattern_coup(Paso_SparseMatrix Line 132  void Paso_Pattern_coup(Paso_SparseMatrix
132  void Paso_Pattern_RS(Paso_SparseMatrix* A, index_t* mis_marker, double theta)  void Paso_Pattern_RS(Paso_SparseMatrix* A, index_t* mis_marker, double theta)
133  {  {
134    index_t index_offset=(A->pattern->type & PATTERN_FORMAT_OFFSET1 ? 1:0);    index_t index_offset=(A->pattern->type & PATTERN_FORMAT_OFFSET1 ? 1:0);
135    dim_t i,j;    dim_t i;
136    index_t naib,iptr;    index_t iptr;
137    double threshold,min_offdiagonal;    double threshold,min_offdiagonal;
   bool_t flag;  
138    dim_t n=A->pattern->numOutput;    dim_t n=A->pattern->numOutput;
139    if (A->pattern->type & PATTERN_FORMAT_SYM) {    if (A->pattern->type & PATTERN_FORMAT_SYM) {
140      Paso_setError(TYPE_ERROR,"Paso_Pattern_RS: symmetric matrix pattern is not supported yet");      Paso_setError(TYPE_ERROR,"Paso_Pattern_RS: symmetric matrix pattern is not supported yet");

Legend:
Removed from v.1902  
changed lines
  Added in v.1917

  ViewVC Help
Powered by ViewVC 1.1.26