* sure that only on process at a time
* calls this function.
*/
- template <typename VectorType>
+ template <class InVector, class OutVector>
void
- distribute_local_to_global (const Vector<double> &local_vector,
+ distribute_local_to_global (const InVector &local_vector,
const std::vector<unsigned int> &local_dof_indices,
- VectorType &global_vector) const;
+ OutVector &global_vector) const;
/**
* This function takes a vector of
-template <class VectorType>
+template <class InVector, class OutVector>
inline
void
ConstraintMatrix::
-distribute_local_to_global (const Vector<double> &local_vector,
+distribute_local_to_global (const InVector &local_vector,
const std::vector<unsigned int> &local_dof_indices,
- VectorType &global_vector) const
+ OutVector &global_vector) const
{
Assert (local_vector.size() == local_dof_indices.size(),
ExcDimensionMismatch(local_vector.size(), local_dof_indices.size()));
// constraints are really empty.
const unsigned int length = size();
#ifdef DEBUG
+ //make sure that we are in the range of the vector
AssertIndexRange (length, total_row_indices.size()+1);
for (unsigned int i=0; i<length; ++i)
Assert (total_row_indices[i].constraint_position ==
template <typename MatrixType>
inline
void
-ConstraintMatrix::
-make_sorted_row_list (const FullMatrix<double> &local_matrix,
- const std::vector<unsigned int> &local_dof_indices,
- MatrixType &global_matrix,
- internals::GlobalRowsFromLocal &global_rows) const
+ConstraintMatrix:: make_sorted_row_list (
+ const FullMatrix<double> &local_matrix,
+ const std::vector<unsigned int> &local_dof_indices,
+ MatrixType &global_matrix,
+ internals::GlobalRowsFromLocal &global_rows) const
{
const unsigned int n_local_dofs = local_dof_indices.size();