~ubuntu-branches/ubuntu/warty/petsc/warty

« back to all changes in this revision

Viewing changes to src/ksp/pc/impls/spai/src/dspai.c.html

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2004-06-07 13:41:43 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040607134143-92p586zrauvie0le
Tags: 2.2.0-2
* Upstream patch level 2.
* New PETSC_BOPT_EXTRA option for different BOPT and lib names, with _c++
  symlinks only for plain and single (closes: #249617).
* New DEBIAN_DIST=contrib option to link with hypre, parmetis (closes:
  #249619).
* Combined petsc-c and petsc-fortran substvars into petsc-compilers.
* Extra quote in -dev prerm eliminates "too many arguments" problem.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<center><a href="dspai.c">Actual source code: dspai.c</a></center><br>
 
2
 
 
3
<html>
 
4
<head>
 
5
<title></title>
 
6
<meta name="generator" content="c2html 0.9.4">
 
7
<meta name="date" content="2004-02-27T20:01:43+00:00">
 
8
</head>
 
9
 
 
10
<body bgcolor="#FFFFFF">
 
11
<pre width="80"><a name="line1">  1: </a><font color="#B22222">/* $Id: dspai.c,v 1.7 2001/08/07 03:03:40 balay Exp $*/</font>
 
12
 
 
13
<a name="line3"> 3: </a> #include <A href="../../../../../../include/petscmat.h.html">petscmat.h</A>
 
14
 
 
15
<a name="line5">  5: </a><font color="#B22222">/*</font>
 
16
<a name="line6">  6: </a><font color="#B22222">     MatDumpSPAI - Dumps a PETSc matrix to a file in an ASCII format </font>
 
17
<a name="line7">  7: </a><font color="#B22222">  suitable for the SPAI code of Stephen Barnard to solve. This routine</font>
 
18
<a name="line8">  8: </a><font color="#B22222">  is simply here to allow testing of matrices directly with the SPAI </font>
 
19
<a name="line9">  9: </a><font color="#B22222">  code, rather then through the PETSc interface.</font>
 
20
 
 
21
<a name="line11"> 11: </a><font color="#B22222">*/</font>
 
22
<a name="line12"> 12: </a><strong><font color="#4169E1"><a name="MatDumpSPAI"></a>int MatDumpSPAI(<A href="../../../../../../docs/manualpages/Mat/Mat.html#Mat">Mat</A> A,FILE *file)</font></strong>
 
23
<a name="line13"> 13: </a>{
 
24
<a name="line14"> 14: </a>  <A href="../../../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A>   *vals;
 
25
<a name="line15"> 15: </a>  int      i,j,ierr,*cols,n,<A href="../../../../../../docs/manualpages/Sys/size.html#size">size</A>,nz;
 
26
<a name="line16"> 16: </a>  <A href="../../../../../../docs/manualpages/Sys/MPI_Comm.html#MPI_Comm">MPI_Comm</A> <A href="../../../../../../docs/manualpages/Sys/comm.html#comm">comm</A>;
 
27
 
 
28
<a name="line18"> 18: </a>  <A href="../../../../../../docs/manualpages/Sys/PetscObjectGetComm.html#PetscObjectGetComm">PetscObjectGetComm</A>((<A href="../../../../../../docs/manualpages/Sys/PetscObject.html#PetscObject">PetscObject</A>)A,&amp;<A href="../../../../../../docs/manualpages/Sys/comm.html#comm">comm</A>);
 
29
<a name="line19"> 19: </a>
 
30
<a name="line20"> 20: </a>  <A href="http://www.mcs.anl.gov/mpi/www/www3/MPI_Comm_size.html#MPI_Comm_size">MPI_Comm_size</A>(<A href="../../../../../../docs/manualpages/Sys/comm.html#comm">comm</A>,&amp;<A href="../../../../../../docs/manualpages/Sys/size.html#size">size</A>);
 
31
<a name="line21"> 21: </a>  <font color="#4169E1">if</font> (<A href="../../../../../../docs/manualpages/Sys/size.html#size">size</A> &gt; 1) <A href="../../../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(1,<font color="#666666">"Only single processor dumps"</font>);
 
32
 
 
33
<a name="line23"> 23: </a>  <A href="../../../../../../docs/manualpages/Mat/MatGetSize.html#MatGetSize">MatGetSize</A>(A,&amp;n,&amp;n);
 
34
 
 
35
<a name="line25"> 25: </a>  <font color="#B22222">/* print the matrix */</font>
 
36
<a name="line26"> 26: </a>  fprintf(file,<font color="#666666">"%d\n"</font>,n);
 
37
<a name="line27"> 27: </a>  <font color="#4169E1">for</font> (i=0; i&lt;n; i++) {
 
38
<a name="line28"> 28: </a>    <A href="../../../../../../docs/manualpages/Mat/MatGetRow.html#MatGetRow">MatGetRow</A>(A,i,&amp;nz,&amp;cols,&amp;vals);
 
39
<a name="line29"> 29: </a>    <font color="#4169E1">for</font> (j=0; j&lt;nz; j++) {
 
40
<a name="line30"> 30: </a>      fprintf(file,<font color="#666666">"%d %d %16.14e\n"</font>,i+1,cols[j]+1,vals[j]);
 
41
<a name="line31"> 31: </a>    }
 
42
<a name="line32"> 32: </a>    <A href="../../../../../../docs/manualpages/Mat/MatRestoreRow.html#MatRestoreRow">MatRestoreRow</A>(A,i,&amp;nz,&amp;cols,&amp;vals);
 
43
<a name="line33"> 33: </a>  }
 
44
 
 
45
<a name="line35"> 35: </a>  <font color="#4169E1">return</font>(0);
 
46
<a name="line36"> 36: </a>}
 
47
 
 
48
<a name="line38"> 38: </a><strong><font color="#4169E1"><a name="VecDumpSPAI"></a>int VecDumpSPAI(<A href="../../../../../../docs/manualpages/Vec/Vec.html#Vec">Vec</A> b,FILE *file)</font></strong>
 
49
<a name="line39"> 39: </a>{
 
50
<a name="line40"> 40: </a>  int    n,i,ierr;
 
51
<a name="line41"> 41: </a>  <A href="../../../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A> *array;
 
52
 
 
53
<a name="line43"> 43: </a>  <A href="../../../../../../docs/manualpages/Vec/VecGetSize.html#VecGetSize">VecGetSize</A>(b,&amp;n);
 
54
<a name="line44"> 44: </a>  <A href="../../../../../../docs/manualpages/Vec/VecGetArray.html#VecGetArray">VecGetArray</A>(b,&amp;array);
 
55
 
 
56
<a name="line46"> 46: </a>  fprintf(file,<font color="#666666">"%d\n"</font>,n);
 
57
<a name="line47"> 47: </a>  <font color="#4169E1">for</font> (i=0; i&lt;n; i++) {
 
58
<a name="line48"> 48: </a>    fprintf(file,<font color="#666666">"%d %16.14e\n"</font>,i+1,array[i]);
 
59
<a name="line49"> 49: </a>  }
 
60
 
 
61
<a name="line51"> 51: </a>  <font color="#4169E1">return</font>(0);
 
62
<a name="line52"> 52: </a>}
 
63
</pre>
 
64
</body>
 
65
 
 
66
</html>