mld2p4:
Fixed docs, plus date on html manual. New data_input.f90.
|
Before Width: | Height: | Size: 368 B After Width: | Height: | Size: 376 B |
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 686 B |
|
Before Width: | Height: | Size: 685 B After Width: | Height: | Size: 374 B |
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 569 B |
|
Before Width: | Height: | Size: 687 B After Width: | Height: | Size: 694 B |
|
Before Width: | Height: | Size: 495 B After Width: | Height: | Size: 497 B |
|
Before Width: | Height: | Size: 644 B After Width: | Height: | Size: 272 B |
|
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 644 B |
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 255 B |
|
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 648 B After Width: | Height: | Size: 223 B |
|
Before Width: | Height: | Size: 686 B After Width: | Height: | Size: 648 B |
@@ -67,7 +67,7 @@ University of Rome ``Tor Vergata'', Italy
|
||||
<BR>
|
||||
Software version: 1.0
|
||||
<BR>
|
||||
July 24, 2008
|
||||
Sept. 9th, 2008
|
||||
|
||||
<BR>
|
||||
|
||||
|
||||
@@ -276,7 +276,7 @@ three steps:
|
||||
ALT="$i=1,\ldots,m$">;
|
||||
</LI>
|
||||
<LI>prolongation and sum of the <IMG
|
||||
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="$w_i$">'s, i.e. <!-- MATH
|
||||
$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$
|
||||
@@ -309,7 +309,7 @@ time on parallel distributed-memory computers is the so-called <I>Restricted AS
|
||||
HREF="node25.html#CAI_SARKIS">5</A>,<A
|
||||
HREF="node25.html#EFSTATHIOU">13</A>]. It
|
||||
is obtained by zeroing the components of <IMG
|
||||
WIDTH="23" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="$w_i$"> corresponding to the
|
||||
overlapping vertices when applying the prolongation. Therefore,
|
||||
|
||||
@@ -272,7 +272,7 @@ S = I - \omega D^{-1} A ,
|
||||
-->
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:jac_smoother"></A><IMG
|
||||
WIDTH="126" HEIGHT="30" BORDER="0"
|
||||
WIDTH="125" HEIGHT="30" BORDER="0"
|
||||
SRC="img83.png"
|
||||
ALT="\begin{displaymath}
|
||||
S = I - \omega D^{-1} A ,
|
||||
|
||||
@@ -439,7 +439,7 @@ level.</CAPTION>
|
||||
<TR><TD ALIGN="LEFT"><code>mld_coarse_sweeps_</code></TD>
|
||||
<TD ALIGN="LEFT"><code>integer</code></TD>
|
||||
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=91>Any int. num. <IMG
|
||||
WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
WIDTH="32" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img94.png"
|
||||
ALT="$> 0$"></TD>
|
||||
<TD ALIGN="LEFT">4</TD>
|
||||
|
||||
@@ -67,7 +67,7 @@ Mathematics Department, Macquarie University, Sydney.
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-noaddress -dir ../../html userhtml.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by Salvatore Filippone on 2008-09-04
|
||||
The translation was initiated by Salvatore Filippone on 2008-09-09
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -75,7 +75,7 @@ Ax=b,
|
||||
-->
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="system1"></A><IMG
|
||||
WIDTH="57" HEIGHT="30" BORDER="0"
|
||||
WIDTH="58" HEIGHT="30" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="\begin{displaymath}
|
||||
Ax=b,
|
||||
|
||||
@@ -67,7 +67,7 @@ University of Rome ``Tor Vergata'', Italy
|
||||
<BR>
|
||||
Software version: 1.0
|
||||
<BR>
|
||||
July 24, 2008
|
||||
Sept. 9th, 2008
|
||||
|
||||
<BR>
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ based on PSBLAS}\\[3ex]
|
||||
%\today
|
||||
Software version: 1.0\\
|
||||
%\today
|
||||
July 24, 2008
|
||||
Sept. 9th, 2008
|
||||
\clearpage
|
||||
\ \\
|
||||
\thispagestyle{empty}
|
||||
|
||||
@@ -40,52 +40,144 @@ module data_input
|
||||
|
||||
interface read_data
|
||||
module procedure read_char, read_int,&
|
||||
& read_double, read_single
|
||||
& read_double, read_single,&
|
||||
& string_read_char, string_read_int,&
|
||||
& string_read_double, string_read_single
|
||||
end interface read_data
|
||||
interface trim_string
|
||||
module procedure trim_string
|
||||
end interface
|
||||
|
||||
character(len=4096), private :: charbuf
|
||||
character, private, parameter :: def_marker="!"
|
||||
|
||||
contains
|
||||
|
||||
subroutine read_char(val,file)
|
||||
subroutine read_char(val,file,marker)
|
||||
character(len=*), intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
read(charbuf(1:idx-1),'(a)') val
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_char
|
||||
subroutine read_int(val,file)
|
||||
|
||||
subroutine read_int(val,file,marker)
|
||||
integer, intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
read(charbuf(1:idx-1),*) val
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_int
|
||||
subroutine read_single(val,file)
|
||||
subroutine read_single(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_spk_), intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
read(charbuf(1:idx-1),*) val
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_single
|
||||
subroutine read_double(val,file)
|
||||
subroutine read_double(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_dpk_), intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_double
|
||||
|
||||
subroutine string_read_char(val,file,marker)
|
||||
character(len=*), intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),'(a)') val
|
||||
end subroutine string_read_char
|
||||
|
||||
subroutine string_read_int(val,file,marker)
|
||||
integer, intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),*) val
|
||||
end subroutine read_double
|
||||
end subroutine string_read_int
|
||||
subroutine string_read_single(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_spk_), intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),*) val
|
||||
end subroutine string_read_single
|
||||
subroutine string_read_double(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_dpk_), intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),*) val
|
||||
end subroutine string_read_double
|
||||
|
||||
function trim_string(string,marker)
|
||||
character(len=*), intent(in) :: string
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=len(string)) :: trim_string
|
||||
character(len=1) :: marker_
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
idx=index(string,marker_)
|
||||
trim_string = adjustl(string(idx:))
|
||||
end function trim_string
|
||||
end module data_input
|
||||
|
||||
|
||||
@@ -40,52 +40,144 @@ module data_input
|
||||
|
||||
interface read_data
|
||||
module procedure read_char, read_int,&
|
||||
& read_double, read_single
|
||||
& read_double, read_single,&
|
||||
& string_read_char, string_read_int,&
|
||||
& string_read_double, string_read_single
|
||||
end interface read_data
|
||||
interface trim_string
|
||||
module procedure trim_string
|
||||
end interface
|
||||
|
||||
character(len=4096), private :: charbuf
|
||||
character, private, parameter :: def_marker="!"
|
||||
|
||||
contains
|
||||
|
||||
subroutine read_char(val,file)
|
||||
subroutine read_char(val,file,marker)
|
||||
character(len=*), intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
read(charbuf(1:idx-1),'(a)') val
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_char
|
||||
subroutine read_int(val,file)
|
||||
|
||||
subroutine read_int(val,file,marker)
|
||||
integer, intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
read(charbuf(1:idx-1),*) val
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_int
|
||||
subroutine read_single(val,file)
|
||||
subroutine read_single(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_spk_), intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
read(charbuf(1:idx-1),*) val
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_single
|
||||
subroutine read_double(val,file)
|
||||
subroutine read_double(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_dpk_), intent(out) :: val
|
||||
integer, intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
|
||||
read(file,'(a)')charbuf
|
||||
call read_data(val,charbuf,marker)
|
||||
|
||||
end subroutine read_double
|
||||
|
||||
subroutine string_read_char(val,file,marker)
|
||||
character(len=*), intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,"!")
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),'(a)') val
|
||||
end subroutine string_read_char
|
||||
|
||||
subroutine string_read_int(val,file,marker)
|
||||
integer, intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),*) val
|
||||
end subroutine read_double
|
||||
end subroutine string_read_int
|
||||
subroutine string_read_single(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_spk_), intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),*) val
|
||||
end subroutine string_read_single
|
||||
subroutine string_read_double(val,file,marker)
|
||||
use psb_base_mod
|
||||
real(psb_dpk_), intent(out) :: val
|
||||
character(len=*), intent(in) :: file
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=1) :: marker_
|
||||
character(len=1024) :: charbuf
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
read(file,'(a)')charbuf
|
||||
charbuf = adjustl(charbuf)
|
||||
idx=index(charbuf,marker_)
|
||||
read(charbuf(1:idx-1),*) val
|
||||
end subroutine string_read_double
|
||||
|
||||
function trim_string(string,marker)
|
||||
character(len=*), intent(in) :: string
|
||||
character(len=1), optional, intent(in) :: marker
|
||||
character(len=len(string)) :: trim_string
|
||||
character(len=1) :: marker_
|
||||
integer :: idx
|
||||
if (present(marker)) then
|
||||
marker_ = marker
|
||||
else
|
||||
marker_ = def_marker
|
||||
end if
|
||||
idx=index(string,marker_)
|
||||
trim_string = adjustl(string(idx:))
|
||||
end function trim_string
|
||||
end module data_input
|
||||
|
||||
|
||||