Beispiel #1
0
void FiniteElementSpace::MarkDependency(const SparseMatrix *D,
                                        const Array<int> &row_marker,
                                        Array<int> &col_marker)
{
   if (D)
   {
      col_marker.SetSize(D->Width());
      col_marker = 0;

      for (int i = 0; i < D->Height(); i++)
         if (row_marker[i] < 0)
         {
            const int *col = D->GetRowColumns(i), n = D->RowSize(i);
            for (int j = 0; j < n; j++)
               col_marker[col[j]] = -1;
         }
   }
   else
   {
      row_marker.Copy(col_marker);
   }
}
Beispiel #2
0
 RestrictedCoefficient(Coefficient &_c, Array<int> &attr)
 { c = &_c; attr.Copy(active_attr); }
Beispiel #3
0
 VectorRestrictedCoefficient(VectorCoefficient &vc, Array<int> &attr)
    : VectorCoefficient(vc.GetVDim())
 { c = &vc; attr.Copy(active_attr); }
Beispiel #4
0
 MatrixRestrictedCoefficient(MatrixCoefficient &mc, Array<int> &attr)
    : MatrixCoefficient(mc.GetHeight(), mc.GetWidth())
 { c = &mc; attr.Copy(active_attr); }