std::unique_ptr<EigenMatrix> MatrixVectorTraits<EigenMatrix>:: newInstance(MatrixSpecifications const& spec) { auto A = std::unique_ptr<EigenMatrix>(new EigenMatrix(spec.nrows)); if (spec.sparsity_pattern) setMatrixSparsity(*A, *spec.sparsity_pattern); return A; }
std::unique_ptr<EigenMatrix> MatrixVectorTraits<EigenMatrix>:: newInstance(MatrixSpecifications const& spec) { auto const nrows = spec.dof_table ? spec.dof_table->dofSizeWithGhosts() : spec.nrows; auto A = std::unique_ptr<EigenMatrix>(new EigenMatrix(nrows)); if (spec.sparsity_pattern) setMatrixSparsity(*A, *spec.sparsity_pattern); return A; }