// ---------------------------------------------------------------------
//
// Copyright (C) 2010 - 2018 by the deal.II authors
//
// This file is part of the deal.II library.
//
// The deal.II library is free software; you can use it, redistribute
// it, and/or modify it under the terms of the GNU Lesser General
// Public License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// The full text of the license can be found in the file LICENSE.md at
// the top level directory of deal.II.
//
// ---------------------------------------------------------------------
for (number : REAL_SCALARS)
{
template void MatrixTools::local_apply_boundary_values(
const std::map<types::global_dof_index, number> &boundary_values,
const std::vector<types::global_dof_index> & local_dof_indices,
FullMatrix<number> & local_matrix,
Vector<number> & local_rhs,
const bool eliminate_columns);
template void MatrixTools::apply_boundary_values(
const std::map<types::global_dof_index, number> &boundary_values,
SparseMatrix<number> & matrix,
Vector<number> & solution,
Vector<number> & right_hand_side,
const bool eliminate_columns);
template void MatrixTools::apply_boundary_values(
const std::map<types::global_dof_index, number> &boundary_values,
BlockSparseMatrix<number> & matrix,
BlockVector<number> & solution,
BlockVector<number> & right_hand_side,
const bool eliminate_columns);
}
for (number : COMPLEX_SCALARS)
{
template void MatrixTools::apply_boundary_values(
const std::map<types::global_dof_index, number> &boundary_values,
SparseMatrix<number> & matrix,
Vector<number> & solution,
Vector<number> & right_hand_side,
const bool eliminate_columns);
template void MatrixTools::apply_boundary_values(
const std::map<types::global_dof_index, number> &boundary_values,
BlockSparseMatrix<number> & matrix,
BlockVector<number> & solution,
BlockVector<number> & right_hand_side,
const bool eliminate_columns);
}
Then I recompiled everything and got the error:
/home/mariia/Downloads/dealii-9.3.1/source/numerics/matrix_tools.cc:364:49: error: no match for ‘operator!=’ (operand types are ‘std::complex<float>’ and ‘double’)
364 | .diag_element(block_index.second) != 0.0)
In file included from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/base/parallel.h:23,
from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/base/aligned_vector.h:25,
from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/base/table.h:21,
from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/lac/block_sparsity_pattern.h:25,
from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/lac/sparsity_tools.h:24,
from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/base/graph_coloring.h:25,
from /home/mariia/Downloads/dealii-9.3.1/include/deal.II/base/work_stream.h:22,
from /home/mariia/Downloads/dealii-9.3.1/source/numerics/matrix_tools.cc:19:
..................
make[2]: *** [source/numerics/CMakeFiles/obj_numerics_release.dir/build.make:188: source/numerics/CMakeFiles/obj_numerics_release.dir/matrix_tools.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3269: source/numerics/CMakeFiles/obj_numerics_release.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
I am a bit confused, what else needs to be adjusted may be in the matrix_tools.cc. I would greatly appreciate help here.
Thank you for your time!
With kind regards,
Mariia