Changeset 16415
- Timestamp:
- 10/15/13 15:31:25 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r16413 r16415 229 229 ./toolkits/issm/IssmSolver.h\ 230 230 ./toolkits/issm/IssmSolver.cpp\ 231 ./toolkits/issm/SparseRow.h\ 231 232 ./toolkits/issm/Bucket.h\ 232 233 ./toolkits/mpi/issmmpi.h\ … … 804 805 mumps_sources= ./toolkits/mumps\ 805 806 ./toolkits/mumps/mumpsincludes.h\ 806 ./toolkits/mumps/M piDenseMumpsSolve.cpp807 ./toolkits/mumps/MumpsSolve.cpp 807 808 #}}} 808 809 #Gsl sources {{{ -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r16407 r16415 627 627 DenseEnum, 628 628 MpiDenseEnum, 629 MpiSparseEnum, 629 630 SeqEnum, 630 631 MpiEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r16407 r16415 599 599 case DenseEnum : return "Dense"; 600 600 case MpiDenseEnum : return "MpiDense"; 601 case MpiSparseEnum : return "MpiSparse"; 601 602 case SeqEnum : return "Seq"; 602 603 case MpiEnum : return "Mpi"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r16407 r16415 611 611 else if (strcmp(name,"Dense")==0) return DenseEnum; 612 612 else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; 613 else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum; 613 614 else if (strcmp(name,"Seq")==0) return SeqEnum; 614 615 else if (strcmp(name,"Mpi")==0) return MpiEnum; -
issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h
r15358 r16415 29 29 template <class doubletype> class IssmDenseMat; 30 30 template <class doubletype> class IssmMpiDenseMat; 31 template <class doubletype> class IssmMpiSparseMat; 31 32 class Parameters; 32 33 … … 53 54 #endif 54 55 break; 56 case MpiSparseEnum: 57 #ifdef _HAVE_MPI_ 58 this->matrix=new IssmMpiSparseMat<doubletype>(); 59 #else 60 _error_("MpiSparse matrix requires compilation of MPI!"); 61 #endif 62 break; 55 63 default: 56 64 _error_("matrix type not supported yet!"); … … 72 80 #endif 73 81 break; 82 case MpiSparseEnum: 83 #ifdef _HAVE_MPI_ 84 this->matrix=new IssmMpiSparseMat<doubletype>(M,N); 85 #else 86 _error_("MpiSparse matrix requires compilation of MPI!"); 87 #endif 88 break; 74 89 default: 75 90 _error_("matrix type not supported yet!"); … … 91 106 #endif 92 107 break; 108 case MpiSparseEnum: 109 #ifdef _HAVE_MPI_ 110 this->matrix=new IssmMpiSparseMat<doubletype>(M,N,sparsity); 111 #else 112 _error_("MpiSparse matrix requires compilation of MPI!"); 113 #endif 114 break; 93 115 default: 94 116 _error_("matrix type not supported yet!"); … … 110 132 #endif 111 133 break; 134 case MpiSparseEnum: 135 #ifdef _HAVE_MPI_ 136 this->matrix=new IssmMpiSparseMat<doubletype>(m,n,M,N,d_nnz,o_nnz); 137 #else 138 _error_("MpiSparse matrix requires compilation of MPI!"); 139 #endif 140 break; 112 141 default: 113 142 _error_("matrix type not supported yet!"); … … 129 158 #endif 130 159 break; 160 case MpiSparseEnum: 161 #ifdef _HAVE_MPI_ 162 this->matrix=new IssmMpiSparseMat<doubletype>(serial_mat,M,N,sparsity); 163 #else 164 _error_("MpiSparse matrix requires compilation of MPI!"); 165 #endif 166 break; 131 167 default: 132 168 _error_("matrix type not supported yet!"); … … 147 183 #else 148 184 _error_("MpiDense matrix requires compilation of MPI!"); 185 #endif 186 break; 187 case MpiSparseEnum: 188 #ifdef _HAVE_MPI_ 189 this->matrix=new IssmMpiSparseMat<doubletype>(M,N,connectivity,numberofdofspernode); 190 #else 191 _error_("MpiSparse matrix requires compilation of MPI!"); 149 192 #endif 150 193 break; -
issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h
r16152 r16415 146 146 _printf_("cpu " << i << " #rows: " << this->m << "\n"); 147 147 for (j=0;j<this->m;j++){ 148 _printf_("row " << j << " \n");148 _printf_("row " << j << ":"); 149 149 for (k=0;k<this->N;k++){ 150 _printf_(this->matrix[j*this->N+k] << " \n");150 if(this->matrix[j*this->N+k]!=0)_printf_("(" << k << "," << this->matrix[j*this->N+k] << ") "); 151 151 } 152 152 _printf_("\n"); -
issm/trunk-jpl/src/c/toolkits/issm/IssmToolkitUtils.cpp
r16144 r16415 38 38 if (strcmp(mat_type,"mpidense")==0){ 39 39 mat_type_enum=MpiDenseEnum; 40 } 41 else if (strcmp(mat_type,"mpisparse")==0){ 42 mat_type_enum=MpiSparseEnum; 40 43 } 41 44 else if (strcmp(mat_type,"dense")==0){ -
issm/trunk-jpl/src/c/toolkits/issm/issmtoolkit.h
r14792 r16415 22 22 #ifdef _HAVE_MPI_ 23 23 #include "./IssmMpiDenseMat.h" 24 #include "./IssmMpiSparseMat.h" 24 25 #include "./IssmMpiVec.h" 25 26 #endif -
issm/trunk-jpl/src/c/toolkits/mumps/mumpsincludes.h
r16070 r16415 17 17 18 18 class Parameters; 19 template <class doubletype> class SparseRow; 19 20 20 21 void MpiDenseMumpsSolve(IssmDouble* uf,int uf_M,int uf_n, IssmDouble* Kff,int Kff_M, int Kff_N, int Kff_m, IssmDouble* pf, int pf_M, int pf_m, Parameters* parameters); 22 void MpiSparseMumpsSolve(IssmDouble* uf,int uf_M,int uf_n, SparseRow<IssmDouble>** Kff,int Kff_M, int Kff_N, int Kff_m, IssmDouble* pf, int pf_M, int pf_m, Parameters* parameters); 21 23 22 24 #if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_) -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r16407 r16415 591 591 def DenseEnum(): return StringToEnum("Dense")[0] 592 592 def MpiDenseEnum(): return StringToEnum("MpiDense")[0] 593 def MpiSparseEnum(): return StringToEnum("MpiSparse")[0] 593 594 def SeqEnum(): return StringToEnum("Seq")[0] 594 595 def MpiEnum(): return StringToEnum("Mpi")[0] -
issm/trunk-jpl/src/m/solvers/issmmumpssolver.m
r16191 r16415 11 11 %default issmoptions options 12 12 issmoptions.toolkit='issm'; 13 issmoptions.mat_type=getfieldvalue(options,'mat_type','mpi dense');13 issmoptions.mat_type=getfieldvalue(options,'mat_type','mpisparse'); 14 14 issmoptions.vec_type=getfieldvalue(options,'vec_type','mpi'); 15 15 issmoptions.solver_type=getfieldvalue(options,'solver_type','mumps');
Note:
See TracChangeset
for help on using the changeset viewer.