diff --git a/psb_prec_mod.F90 b/psb_prec_mod.F90 new file mode 100644 index 00000000..ac8b5c50 --- /dev/null +++ b/psb_prec_mod.F90 @@ -0,0 +1,97 @@ +!!$ +!!$ +!!$ MD2P4 +!!$ Multilevel Domain Decomposition Parallel Preconditioner Package for PSBLAS +!!$ for +!!$ Parallel Sparse BLAS v2.0 +!!$ (C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata +!!$ Alfredo Buttari University of Rome Tor Vergata +!!$ Daniela di Serafino Second University of Naples +!!$ Pasqua D'Ambra ICAR-CNR +!!$ +!!$ Redistribution and use in source and binary forms, with or without +!!$ modification, are permitted provided that the following conditions +!!$ are met: +!!$ 1. Redistributions of source code must retain the above copyright +!!$ notice, this list of conditions and the following disclaimer. +!!$ 2. Redistributions in binary form must reproduce the above copyright +!!$ notice, this list of conditions, and the following disclaimer in the +!!$ documentation and/or other materials provided with the distribution. +!!$ 3. The name of the MD2P4 group or the names of its contributors may +!!$ not be used to endorse or promote products derived from this +!!$ software without specific written permission. +!!$ +!!$ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +!!$ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +!!$ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +!!$ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MD2P4 GROUP OR ITS CONTRIBUTORS +!!$ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +!!$ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +!!$ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +!!$ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +!!$ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +!!$ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +!!$ POSSIBILITY OF SUCH DAMAGE. +!!$ +!!$ +module psb_prec_mod + +!!$ use mld_prec_type, & +!!$ & psb_dbaseprc_type => mld_dbaseprc_type,& +!!$ & psb_zbaseprc_type => mld_zbaseprc_type,& +!!$ & psb_dprec_type => mld_dprec_type,& +!!$ & psb_zprec_type => mld_zprec_type,& +!!$ & psb_base_precfree => mld_base_precfree,& +!!$ & psb_nullify_baseprec => mld_nullify_baseprec,& +!!$ & psb_prec_descr => mld_prec_descr,& +!!$ & psb_prec_short_descr => mld_prec_short_descr + +!!$ use mld_prec_mod +!!$ +!!$ +!!$ interface psb_precbld +!!$ module procedure mld_dprecbld, mld_zprecbld +!!$ end interface +!!$ +!!$ interface psb_precinit +!!$ module procedure mld_dprecinit, mld_zprecinit +!!$ end interface +!!$ +!!$ interface psb_precset +!!$ module procedure mld_dprecseti, mld_dprecsetd,& +!!$ & mld_zprecseti, mld_zprecsetd +!!$ end interface +!!$ +!!$ interface psb_precfree +!!$ module procedure mld_dprecfree, mld_zprecfree +!!$ end interface +!!$ +!!$ interface psb_precaply +!!$ module procedure mld_dprec_aply, mld_dprec_aply1, & +!!$ & mld_zprec_aply, mld_zprec_aply1 +!!$ end interface +!!$ + + use mld_prec_mod, & + & psb_dbaseprc_type => mld_dbaseprc_type,& + & psb_zbaseprc_type => mld_zbaseprc_type,& + & psb_dprec_type => mld_dprec_type,& + & psb_zprec_type => mld_zprec_type,& + & psb_base_precfree => mld_base_precfree,& + & psb_nullify_baseprec => mld_nullify_baseprec,& + & psb_prec_descr => mld_prec_descr,& + & psb_prec_short_descr => mld_prec_short_descr,& + & psb_precbld => mld_precbld, & + & psb_precinit => mld_precinit, & + & psb_precfree => mld_precfree, & + & psb_precset => mld_precset, & + & psb_precaply => mld_precaply + + + interface psb_sizeof + module procedure mld_dprec_sizeof, mld_zprec_sizeof, & + & mld_dbaseprc_sizeof, mld_zbaseprc_sizeof + end interface + + +end module psb_prec_mod