25 #include "../matrix.h"
26 #include "../tables.h"
28 using namespace Hermes::Algebra;
35 template<
typename Scalar>
40 virtual int get_num_dofs()
const = 0;
43 virtual bool is_matrix_free()
const = 0;
55 bool force_diagonal_blocks =
false,
Table* block_weights = NULL) = 0;
59 virtual void assemble(Scalar* coeff_vec,
Vector<Scalar>* rhs = NULL,
60 bool force_diagonal_blocks =
false,
Table* block_weights = NULL) = 0;
70 virtual void create_sparse_structure() = 0;
75 template<
typename T>
friend class DiscreteProblemNOX;