PetscScalar
VectorBase::mean_value () const
{
-#ifndef PETSC_USE_COMPLEX
int ierr;
// We can only use our more efficient
PetscScalar sum;
ierr = VecSum(vector, &sum);
AssertThrow (ierr == 0, ExcPETScError(ierr));
- return sum/size();
+// @whattodo
+ // return sum/size();
+
+ Assert ((false),
+ ExcMessage ("Your PETSc/SLEPc installation was configured with scalar-type complex "
+ "but this function is not defined for complex types."));
}
// get a representation of the vector and
return mean;
-#else // PETSC_USE_COMPLEX
+
Assert ((false),
ExcMessage ("Your PETSc/SLEPc installation was configured with scalar-type complex "
"but this function is not defined for complex types."));
-
- // Prevent compiler warning about no return value
- PetscScalar dummy;
- return dummy;
-#endif
}
PETScWrappers::VectorBase &real_eigenvectors,
PETScWrappers::VectorBase &imag_eigenvectors)
{
+ // This function makes no sense if SLEPc was compiled with
+ // --scaler-type=complex.
+
#ifndef PETSC_USE_COMPLEX
AssertThrow (solver_data.get() != 0, ExcSLEPcWrappersUsageError());
#endif
}
-
void
SolverBase::reset ()
{
if (mask->second[comp])
{
unsigned int solution_index = point->solution_indices[comp];
- data_store_field->second[data_store_index * n_stored + store_index].push_back (solution (solution_index));
+// @whattodo
+ // data_store_field->second[data_store_index * n_stored + store_index].push_back (solution (solution_index));
+ (void) solution_index; // stop g++ complaining: eventually remove this
+ (void) n_stored; // stop g++ complaining: eventually remove this
+ Assert ((false),
+ ExcMessage ("Your PETSc/SLEPc installation was configured with scalar-type complex "
+ "but this function is not defined for complex types."));
store_index++;
}
}
// explicit instantiations
-#ifndef PETSC_USE_COMPLEX
- #include "point_value_history.inst"
-#endif
+#include "point_value_history.inst"
DEAL_II_NAMESPACE_CLOSE