const std::vector<size_type> &local_dof_indices,
MatrixType & global_matrix,
VectorType & global_vector,
- bool use_inhomogeneities_for_rhs,
- std::integral_constant<bool, false>) const;
+ const bool use_inhomogeneities_for_rhs,
+ const std::integral_constant<bool, false>) const;
/**
* This function actually implements the local_to_global function for block
const std::vector<size_type> &local_dof_indices,
MatrixType & global_matrix,
VectorType & global_vector,
- bool use_inhomogeneities_for_rhs,
- std::integral_constant<bool, true>) const;
+ const bool use_inhomogeneities_for_rhs,
+ const std::integral_constant<bool, true>) const;
/**
* This function actually implements the local_to_global function for
SparsityPatternType & sparsity_pattern,
const bool keep_constrained_entries,
const Table<2, bool> &dof_mask,
- std::integral_constant<bool, false>) const;
+ const std::integral_constant<bool, false>) const;
/**
* This function actually implements the local_to_global function for block
SparsityPatternType & sparsity_pattern,
const bool keep_constrained_entries,
const Table<2, bool> &dof_mask,
- std::integral_constant<bool, true>) const;
+ const std::integral_constant<bool, true>) const;
/**
* Internal helper function for distribute_local_to_global function.
} // end of namespace AffineConstraints
} // end of namespace internal
+
+
// Basic idea of setting up a list of
// all global dofs: first find all rows and columns
// that we are going to write touch,
}
}
+
+
// Same function as before, but now do only extract the global indices that
// come from the local ones without storing their origin. Used for sparsity
// pattern generation.
}
}
+
+
// Resolve the constraints from the vector and apply inhomogeneities.
template <typename number>
template <typename MatrixScalar, typename VectorScalar>
return val;
}
+
+
// internal implementation for distribute_local_to_global for standard
// (non-block) matrices
template <typename number>
const std::vector<size_type> &local_dof_indices,
MatrixType & global_matrix,
VectorType & global_vector,
- bool use_inhomogeneities_for_rhs,
- std::integral_constant<bool, false>) const
+ const bool use_inhomogeneities_for_rhs,
+ const std::integral_constant<bool, false>) const
{
// FIXME: static_assert MatrixType::value_type == number
use_inhomogeneities_for_rhs);
}
+
+
// similar function as above, but now specialized for block matrices. See the
// other function for additional comments.
template <typename number>
const std::vector<size_type> &local_dof_indices,
MatrixType & global_matrix,
VectorType & global_vector,
- bool use_inhomogeneities_for_rhs,
- std::integral_constant<bool, true>) const
+ const bool use_inhomogeneities_for_rhs,
+ const std::integral_constant<bool, true>) const
{
const bool use_vectors =
(local_vector.size() == 0 && global_vector.size() == 0) ? false : true;
}
+
template <typename number>
template <typename MatrixType>
void
}
+
template <typename number>
template <typename MatrixType>
void
}
}
+
+
template <typename number>
template <typename SparsityPatternType>
void
SparsityPatternType & sparsity_pattern,
const bool keep_constrained_entries,
const Table<2, bool> & dof_mask,
- std::integral_constant<bool, false>) const
+ const std::integral_constant<bool, false>) const
{
Assert(sparsity_pattern.n_rows() == sparsity_pattern.n_cols(),
ExcNotQuadratic());
sparsity_pattern);
}
+
+
template <typename number>
template <typename SparsityPatternType>
void
Assert(false, ExcNotImplemented());
}
+
+
template <typename number>
template <typename SparsityPatternType>
void
SparsityPatternType & sparsity_pattern,
const bool keep_constrained_entries,
const Table<2, bool> & dof_mask,
- std::integral_constant<bool, true>) const
+ const std::integral_constant<bool, true>) const
{
// just as the other add_entries_local_to_global function, but now
// specialized for block matrices.