* Virtual function which assembles the
* cell matrix and the right hand side
* on a given cell.
+ *
+ * This function assumes the cell matrix
+ * and right hand side to have the right
+ * size and to be empty. Functions of
+ * derived classes should check for
+ * this.
+ * For that purpose, the two exceptions
+ * #ExcWrongSize# and #ExcObjectNotEmpty#
+ * are declared.
*/
virtual void assemble (dFMatrix &cell_matrix,
dVector &rhs,
/**
* Virtual function which only assembles
* the cell matrix on a given cell.
+ *
+ * This function assumes the cell matrix
+ * and right hand side to have the right
+ * size and to be empty. Functions of
+ * derived classes should check for
+ * this.
+ * For that purpose, the two exceptions
+ * #ExcWrongSize# and #ExcObjectNotEmpty#
+ * are declared.
*/
virtual void assemble (dFMatrix &cell_matrix,
const FEValues<dim> &fe_values,
/**
* Virtual function which only assembles
* the right hand side on a given cell.
+ *
+ * This function assumes the cell matrix
+ * and right hand side to have the right
+ * size and to be empty. Functions of
+ * derived classes should check for
+ * this.
+ * For that purpose, the two exceptions
+ * #ExcWrongSize# and #ExcObjectNotEmpty#
+ * are declared.
*/
virtual void assemble (dVector &rhs,
const FEValues<dim> &fe_values,
* Exception
*/
DeclException0 (ExcPureVirtualFunctionCalled);
+ /**
+ * Exception
+ */
+ DeclException2 (ExcWrongSize,
+ int, int,
+ << "Object has wrong size " << arg1
+ << ", but should have " << arg2 << ".");
+ /**
+ * Exception
+ */
+ DeclException0 (ExcObjectNotEmpty);
protected:
/**
/**
* Pointer to the matrix to be assembled
- * by this object.
+ * by this object. Elements are summed
+ * up by the assembler, so you may want
+ * to clear this object (set all entries
+ * to zero) before use.
*/
dSMatrix &matrix;
/**
* Pointer to the vector to be assembled
- * by this object.
+ * by this object. Elements are summed
+ * up by the assembler, so you may want
+ * to clear this object (set all entries
+ * to zero) before use.
*/
dVector &rhs_vector;
/**
* Assemble on the present cell using
- * the given equation object.
+ * the given equation objectand the data
+ * passed to the constructor. The elements
+ * of the local matrix and right hand side
+ * are added to the global matrix and
+ * vector so you may want to clear the
+ * matrix before use.
*/
void assemble (const Equation<dim> &);