13#ifndef dealii_psblas_common_h
14#define dealii_psblas_common_h
22#ifdef DEAL_II_WITH_PSBLAS
23# include <psb_base_cbind.h>
24# include <psb_c_base.h>
25# include <psb_c_dbase.h>
31#ifdef DEAL_II_WITH_PSBLAS
32namespace PSCToolkitWrappers
41 struct DescriptorDeleter
84 <<
"An error with error number " << arg1
85 <<
" occurred while initializing a PSBLAS vector.");
92 <<
"An error with error number " << arg1
93 <<
" occurred while freeing a PSBLAS vector.");
100 <<
"An error with error number " << arg1
101 <<
" occurred while initializing a PSBLAS descriptor.");
109 <<
"An error with error number " << arg1
110 <<
" occurred while assembling a PSBLAS vector.");
118 <<
"An error with error number " << arg1
119 <<
" occurred while assembling a PSBLAS descriptor.");
127 <<
"Vector's state is invalid. It is in "
128 << (arg1 == 0 ?
"Default" :
129 arg1 == 1 ?
"Build" :
131 <<
" state. Did you forget to call reinit() or compress()?");
141 <<
"Vector's state is invalid. It should be in "
142 <<
"Assembled state but it is in "
143 << (arg1 == 0 ?
"Default" :
"Build")
144 <<
" state. Did you forget to call compress()?");
153 "Vector's state is invalid. It should be in "
154 "Build or Assembled state but it is in Default state. Did you forget"
155 " to call reinit()?");
165 <<
"An error with error number " << arg1
166 <<
" occurred while calling a PSBLAS function: " << arg2
175 <<
"An error with error number " << arg1
176 <<
" occurred while performing the AXPBY operation.");
184 <<
"An error with error number " << arg1
185 <<
" occurred while inserting values into a PSBLAS vector.");
197 <<
"You tried to do a "
198 << (arg1 == 1 ?
"'set'" : (arg1 == 2 ?
"'add'" :
"???"))
199 <<
" operation but the vector is currently in "
200 << (arg2 == 1 ?
"'set'" : (arg2 == 2 ?
"'add'" :
"???"))
201 <<
" mode. You first have to call 'compress()'.");
208 ExcAccessToNonlocalElement,
212 <<
"You tried to access element " << arg1
213 <<
" of a distributed vector, but only elements in range [" << arg2 <<
','
214 << arg3 <<
"] are stored locally and can be accessed."
216 <<
"A common source for this kind of problem is that you "
217 <<
"are passing a 'fully distributed' vector into a function "
218 <<
"that needs read access to vector elements that correspond "
219 <<
"to degrees of freedom on ghost cells (or at least to "
220 <<
"'locally active' degrees of freedom that are not also "
221 <<
"'locally owned'). You need to pass a vector that has these "
222 <<
"elements as ghost entries.");
229 <<
"An error with error number " << arg1
230 <<
" occurred while allocating a PSBLAS sparse matrix.");
239 <<
"An error with error number " << arg1
240 <<
" occurred while assembling a PSBLAS sparse matrix.");
247 ExcInsertionInPSBLASMatrix,
249 <<
"An error with error number " << arg1
250 <<
" occurred while inserting values into a PSBLAS sparse matrix.");
258 <<
"An error with error number " << arg1
259 <<
" occurred while performing a matrix-vector operation with a PSBLAS sparse matrix.");
267 "You are attempting an operation on two vectors that "
268 "are the same object, but the operation requires that the "
269 "two objects are in fact different.");
* * Point< dim > operator()(const Point< dim > &p) const *
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException2(Exception2, type1, type2, outsequence)
#define DeclExceptionMsg(Exception, defaulttext)
#define DeclException3(Exception3, type1, type2, type3, outsequence)
static ::ExceptionBase & ExcInvalidState()
#define DeclException1(Exception1, type1, outsequence)