File: MATMPIAIJSPOOLES.html

package info (click to toggle)
petsc 2.2.0-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 64,404 kB
  • ctags: 284,528
  • sloc: ansic: 223,999; python: 11,758; makefile: 7,707; fortran: 6,327; cpp: 4,104; sh: 3,387; csh: 41; asm: 6
file content (63 lines) | stat: -rw-r--r-- 4,755 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MATMPIAIJSPOOLES</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MATMPIAIJSPOOLES"><H1>MATMPIAIJSPOOLES</H1></A>
<A HREF="../Mat/MATMPIAIJSPOOLES.html#MATMPIAIJSPOOLES">MATMPIAIJSPOOLES</A> = "mpiaijspooles" - A matrix type providing direct solvers (LU) for distributed matrices  via the external package Spooles. If MPIAIJSPOOLES is installed (see the manual for
instructions on how to declare the existence of external packages),
a matrix type can be constructed which invokes SPOOLES solvers.
After calling <A HREF="../Mat/MatCreate.html#MatCreate">MatCreate</A>(...,A), simply call <A HREF="../Mat/MatSetType.html#MatSetType">MatSetType</A>(A,<A HREF="../Mat/MATMPIAIJSPOOLES.html#MATMPIAIJSPOOLES">MATMPIAIJSPOOLES</A>).
This matrix type is only supported for double precision real.
<P>
This matrix inherits from <A HREF="../Mat/MATMPIAIJ.html#MATMPIAIJ">MATMPIAIJ</A>.  As a result, <A HREF="../Mat/MatMPIAIJSetPreallocation.html#MatMPIAIJSetPreallocation">MatMPIAIJSetPreallocation</A> is
supported for this matrix type.  One can also call <A HREF="../Mat/MatConvert.html#MatConvert">MatConvert</A> for an inplace conversion to or from
the <A HREF="../Mat/MATMPIAIJ.html#MATMPIAIJ">MATMPIAIJ</A> type without data copy.
<P>
Consult Spooles documentation for more information about the options database keys below.
<P>
<H3><FONT COLOR="#CC3333">Options Database Keys</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_type mpiaijspooles </B></TD><TD>- sets the matrix type to "mpiaijspooles" during a call to <A HREF="../Mat/MatSetFromOptions.html#MatSetFromOptions">MatSetFromOptions</A>()
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_tau &lt;tau&gt; </B></TD><TD>- upper bound on the magnitude of the largest element in L or U
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_seed &lt;seed&gt; </B></TD><TD>- random number seed used for ordering
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_msglvl &lt;msglvl&gt; </B></TD><TD>- message output level
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_ordering &lt;BestOfNDandMS,MMD,MS,ND&gt; </B></TD><TD>- ordering used
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_maxdomainsize &lt;n&gt; </B></TD><TD>- maximum subgraph <A HREF="../Sys/size.html#size">size</A> used by Spooles orderings
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_maxzeros &lt;n&gt; </B></TD><TD>- maximum number of zeros inside a supernode
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_maxsize &lt;n&gt; </B></TD><TD>- maximum <A HREF="../Sys/size.html#size">size</A> of a supernode
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_FrontMtxInfo &lt;true,fase&gt; </B></TD><TD>- print Spooles information about the computed factorization
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_symmetryflag &lt;0,1,2&gt; </B></TD><TD>- 0: SPOOLES_SYMMETRIC, 1: SPOOLES_HERMITIAN, 2: SPOOLES_NONSYMMETRIC
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_patchAndGoFlag &lt;0,1,2&gt; </B></TD><TD>- 0: no patch, 1: use PatchAndGo strategy 1, 2: use PatchAndGo strategy 2
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_toosmall &lt;dt&gt; </B></TD><TD>- drop tolerance for PatchAndGo strategy 1
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_storeids &lt;bool integer&gt; </B></TD><TD>- if nonzero, stores row and col numbers where patches were applied in an IV object
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_fudge &lt;delta&gt; </B></TD><TD>- fudge factor for rescaling diagonals with PatchAndGo strategy 2
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>-mat_spooles_storevalues &lt;bool integer&gt; </B></TD><TD>- if nonzero and PatchAndGo strategy 2 is used, store change in diagonal value in a DV object
</TD></TR></TABLE>
<P>

<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../PC/PCLU.html#PCLU">PCLU</A>
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>beginner
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/mat/impls/aij/mpi/spooles/mpispooles.c.html#MATMPIAIJSPOOLES">src/mat/impls/aij/mpi/spooles/mpispooles.c</A>
<BR><A HREF="./index.html">Index of all Mat routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>