add_entries_local_to_global (const std::vector<unsigned int> &local_dof_indices,
SparsityType &sparsity_pattern,
const bool keep_constrained_entries = true,
- const Table<2,bool> &dof_mask = Table<2,bool>()) const;
+ const Table<2,bool> &dof_mask = default_empty_table) const;
/**
* This function imports values from a
*/
static bool check_zero_weight (const std::pair<unsigned int, double> &p);
+ /**
+ * Dummy table that serves as default
+ * argument for function
+ * <tt>add_entries_local_to_global()</tt>.
+ */
+ static const Table<2,bool> default_empty_table;
+
/**
* This function actually implements
* the local_to_global function for
// existing entries for cache
if (line >= lines_cache.size())
lines_cache.resize (line+1,0);
- // enlarge lines vector if necessary.
- // need to reset the pointers to the
- // ConstraintLine entries in that case,
+ // enlarge lines vector if necessary.
+ // need to reset the pointers to the
+ // ConstraintLine entries in that case,
// since new memory will be allocated
if (lines.size() == lines.capacity())
{
+ // Static member variable
+const Table<2,bool> ConstraintMatrix::default_empty_table = Table<2,bool>();
+
+
+
bool
ConstraintMatrix::check_zero_weight (const std::pair<unsigned int, double> &p)
{
ExcMessage ("Cycle in constraints detected!"));
const ConstraintLine * constrained_line = lines_cache[dof_index];
- Assert (constrained_line->line == dof_index,
+ Assert (constrained_line->line == dof_index,
ExcInternalError());
// now we have to
// make sure that
// entry->first is not the
// index of a line itself
- const ConstraintLine * it = entry->first < lines_cache.size() ?
+ const ConstraintLine * it = entry->first < lines_cache.size() ?
lines_cache[entry->first] : 0;
Assert (it == 0,
ExcDoFConstrainedToConstrainedDoF(line->line, entry->first));