From: Guido Kanschat Date: Mon, 19 May 2003 10:39:05 +0000 (+0000) Subject: instantiation of functions for SparseMatrixEZ X-Git-Tag: v8.0.0~16516 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=425a4ddce4745dafb4aecfd4d2f872a126f75bae;p=dealii.git instantiation of functions for SparseMatrixEZ git-svn-id: https://svn.dealii.org/trunk@7658 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/source/precondition_block_ez.cc b/deal.II/lac/source/precondition_block_ez.cc new file mode 100644 index 0000000000..8980df02e8 --- /dev/null +++ b/deal.II/lac/source/precondition_block_ez.cc @@ -0,0 +1,199 @@ +//---------------------------------------------------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------------------------------------------------- + + +#include +#include + + +// explicit instantiations for "float" PreconditionBlock +template class PreconditionBlock, float>; + +// the instantiation for class PreconditionBlock, double> is skipped +// because it does not make sense to have inverse block matrices with +// higher precision than the matrix itself + + +// explicit instantiations for "double" PreconditionBlock +template class PreconditionBlock, float>; + +template class PreconditionBlock, double>; + + +/*--------------------- PreconditionBlockJacobi -----------------------*/ + + +// explicit instantiations for "float" PreconditionBlock +template class PreconditionBlockJacobi, float>; + +template void PreconditionBlockJacobi, float>::vmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::vmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::vmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::vmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult_add +(Vector &, const Vector &) const; + +template class PreconditionBlockJacobi, float>; + +template void PreconditionBlockJacobi, float>::vmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::vmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::vmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::vmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, float>::Tvmult_add +(Vector &, const Vector &) const; + +template class PreconditionBlockJacobi, double>; + +template void PreconditionBlockJacobi, double>::vmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::vmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::Tvmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::Tvmult +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::vmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::vmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::Tvmult_add +(Vector &, const Vector &) const; +template void PreconditionBlockJacobi, double>::Tvmult_add +(Vector &, const Vector &) const; + +/*--------------------- PreconditionBlockGaussSeidel -----------------------*/ + + +// explicit instantiations for "float" PreconditionBlock +template class PreconditionBlockSOR, float>; + +template void PreconditionBlockSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::Tvmult ( + Vector &, const Vector &) const; + + +// the instantiation for class PreconditionBlockSOR, double> is skipped +// because it does not make sense to have inverse block matrices with +// higher precision than the matrix itself + + +// explicit instantiations for "double" PreconditionBlockSOR +template class PreconditionBlockSOR, float>; + + +template void PreconditionBlockSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::vmult_add ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::vmult_add ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::Tvmult_add ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, float>::Tvmult_add ( + Vector &, const Vector &) const; + +template class PreconditionBlockSOR, double>; + +template void PreconditionBlockSOR, double>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::vmult_add ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::vmult_add ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::Tvmult_add ( + Vector &, const Vector &) const; +template void PreconditionBlockSOR, double>::Tvmult_add ( + Vector &, const Vector &) const; + + +/*--------------------- PreconditionBlockSSOR -----------------------*/ + + +// explicit instantiations for "float" PreconditionBlock +template class PreconditionBlockSSOR, float>; + +template void PreconditionBlockSSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, float>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, float>::Tvmult ( + Vector &, const Vector &) const; + + +// the instantiation for class PreconditionBlockSSOR, double> is skipped +// because it does not make sense to have inverse block matrices with +// higher precision than the matrix itself + + +// explicit instantiations for "double" PreconditionBlockSSOR +template class PreconditionBlockSSOR, float>; + + +template void PreconditionBlockSSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, float>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, float>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, float>::Tvmult ( + Vector &, const Vector &) const; + +template class PreconditionBlockSSOR, double>; + +template void PreconditionBlockSSOR, double>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, double>::vmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, double>::Tvmult ( + Vector &, const Vector &) const; +template void PreconditionBlockSSOR, double>::Tvmult ( + Vector &, const Vector &) const;