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

« back to all changes in this revision

Viewing changes to src/mat/examples/tests/ex32.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:
3
3
<html>
4
4
<head>
5
5
<title></title>
6
 
<meta name="generator" content="c2html 0.9.1">
7
 
<meta name="date" content="2002-05-31T16:18:19+00:00">
 
6
<meta name="generator" content="c2html 0.9.4">
 
7
<meta name="date" content="2004-02-27T20:00:50+00:00">
8
8
</head>
9
9
 
10
10
<body bgcolor="#FFFFFF">
11
11
<pre width="80"><a name="line1">  1: </a><font color="#B22222">/*$Id: ex32.c,v 1.30 2001/09/11 16:32:50 bsmith Exp $*/</font>
12
12
 
13
 
<a name="line3">  3: </a>static char help[] = <font color="#666666">"Reads in a matrix and vector in ASCII slap format. Writesn</font>
14
 
<a name="line4">  4: </a><font color="#666666">them using the PETSc sparse format. Input parameters are:n</font>
15
 
<a name="line5">  5: </a><font color="#666666">  -fin &lt;filename&gt; : input filen</font>
16
 
<a name="line6">  6: </a><font color="#666666">  -fout &lt;filename&gt; : output filenn"</font>;
 
13
<a name="line3">  3: </a>static char help[] = <font color="#666666">"Reads in a matrix and vector in ASCII slap format. Writes\n\</font>
 
14
<a name="line4">  4: </a><font color="#666666">them using the PETSc sparse format. Input parameters are:\n\</font>
 
15
<a name="line5">  5: </a><font color="#666666">  -fin &lt;filename&gt; : input file\n\</font>
 
16
<a name="line6">  6: </a><font color="#666666">  -fout &lt;filename&gt; : output file\n\n"</font>;
17
17
 
18
18
<a name="line8"> 8: </a> #include <A href="../../../../include/petscmat.h.html">petscmat.h</A>
19
19
 
20
 
<a name="line10"> 10: </a><strong><font color="#4169E1"><a name="main"></a>int main(int argc,char **args)</font></strong>
21
 
<a name="line11"> 11: </a>{
22
 
<a name="line12"> 12: </a>  <A href="../../../../docs/manualpages/Mat/Mat.html#Mat">Mat</A>         A;
23
 
<a name="line13"> 13: </a>  <A href="../../../../docs/manualpages/Vec/Vec.html#Vec">Vec</A>         b;
24
 
<a name="line14"> 14: </a>  char        filein[128],fileout[128];
25
 
<a name="line15"> 15: </a>  int         i,j,m,n,nnz,ierr,<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>,<A href="../../../../docs/manualpages/Sys/size.html#size">size</A>,start,end,*col,*row,*brow,length;
26
 
<a name="line16"> 16: </a>  <A href="../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A> *val,*bval;
27
 
<a name="line17"> 17: </a>  FILE*       file;
28
 
<a name="line18"> 18: </a>  <A href="../../../../docs/manualpages/Viewer/PetscViewer.html#PetscViewer">PetscViewer</A> view;
29
 
 
30
 
<a name="line20"> 20: </a>  <A href="../../../../docs/manualpages/Sys/PetscInitialize.html#PetscInitialize">PetscInitialize</A>(&amp;argc,&amp;args,(char *)0,help);
31
 
 
32
 
<a name="line22"> 22: </a>  <font color="#B22222">/* Read in matrix and RHS */</font>
33
 
<a name="line23"> 23: </a>  <A href="../../../../docs/manualpages/Sys/PetscOptionsGetString.html#PetscOptionsGetString">PetscOptionsGetString</A>(PETSC_NULL,<font color="#666666">"-fin"</font>,filein,127,PETSC_NULL);
34
 
<a name="line24"> 24: </a>  <A href="http://www.mcs.anl.gov/mpi/www/www3/MPI_Comm_rank.html#MPI_Comm_rank">MPI_Comm_rank</A>(PETSC_COMM_WORLD,&amp;<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>);
35
 
<a name="line25"> 25: </a>  <A href="http://www.mcs.anl.gov/mpi/www/www3/MPI_Comm_size.html#MPI_Comm_size">MPI_Comm_size</A>(PETSC_COMM_WORLD,&amp;<A href="../../../../docs/manualpages/Sys/size.html#size">size</A>);
36
 
 
37
 
<a name="line27"> 27: </a>  <A href="../../../../docs/manualpages/Sys/PetscFOpen.html#PetscFOpen">PetscFOpen</A>(PETSC_COMM_SELF,filein,<font color="#666666">"r"</font>,&amp;file);
38
 
 
39
 
<a name="line29"> 29: </a>  fscanf(file,<font color="#666666">"  NUNKNS =%d  NCOEFF =%dn"</font>,&amp;n,&amp;nnz);
40
 
<a name="line30"> 30: </a>  fscanf(file,<font color="#666666">"  JA POINTER IN SLAPSVn"</font>);
41
 
 
42
 
<a name="line32"> 32: </a>  <A href="../../../../docs/manualpages/Mat/MatCreateSeqAIJ.html#MatCreateSeqAIJ">MatCreateSeqAIJ</A>(PETSC_COMM_WORLD,n,n,20,0,&amp;A);
43
 
<a name="line33"> 33: </a>  <A href="../../../../docs/manualpages/Vec/VecCreate.html#VecCreate">VecCreate</A>(PETSC_COMM_WORLD,&amp;b);
44
 
<a name="line34"> 34: </a>  <A href="../../../../docs/manualpages/Vec/VecSetSizes.html#VecSetSizes">VecSetSizes</A>(b,PETSC_DECIDE,n);
45
 
<a name="line35"> 35: </a>  <A href="../../../../docs/manualpages/Vec/VecSetFromOptions.html#VecSetFromOptions">VecSetFromOptions</A>(b);
46
 
 
47
 
<a name="line37"> 37: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>((n+1)*<font color="#4169E1">sizeof</font>(int),&amp;col);
48
 
<a name="line38"> 38: </a>  <font color="#4169E1">for</font> (i=0; i&lt;n+1; i++)
49
 
<a name="line39"> 39: </a>    fscanf(file,<font color="#666666">"     I=%d%dn"</font>,&amp;j,&amp;col[i]);
50
 
<a name="line40"> 40: </a>  fscanf(file,<font color="#666666">"  EOD JAn"</font>);
51
 
 
52
 
<a name="line42"> 42: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(nnz*<font color="#4169E1">sizeof</font>(<A href="../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A>),&amp;val);
53
 
<a name="line43"> 43: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(nnz*<font color="#4169E1">sizeof</font>(int),&amp;row);
54
 
<a name="line44"> 44: </a>  fscanf(file,<font color="#666666">"  COEFFICIENT MATRIX IN SLAPSV: I, IA, An"</font>);
55
 
<a name="line45"> 45: </a>  <font color="#4169E1">for</font> (i=0; i&lt;nnz; i++) {
56
 
<a name="line46"> 46: </a>    fscanf(file,<font color="#666666">"    %d%d%len"</font>,&amp;j,&amp;row[i],&amp;val[i]);
57
 
<a name="line47"> 47: </a>    row[i]--;
58
 
<a name="line48"> 48: </a>  }
59
 
<a name="line49"> 49: </a>  fscanf(file,<font color="#666666">"  EOD IAn"</font>);
60
 
 
61
 
<a name="line51"> 51: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(n*<font color="#4169E1">sizeof</font>(<A href="../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A>),&amp;bval);
62
 
<a name="line52"> 52: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(n*<font color="#4169E1">sizeof</font>(int),&amp;brow);
63
 
<a name="line53"> 53: </a>  fscanf(file,<font color="#666666">"  RESIDUAL IN SLAPSV ;IRHS=%dn"</font>,&amp;j);
64
 
<a name="line54"> 54: </a>  <font color="#4169E1">for</font> (i=0; i&lt;n; i++) {
65
 
<a name="line55"> 55: </a>    fscanf(file,<font color="#666666">"      %d%le%dn"</font>,&amp;j,bval+i,&amp;j);
66
 
<a name="line56"> 56: </a>    brow[i] = i;
67
 
<a name="line57"> 57: </a>  }
68
 
<a name="line58"> 58: </a>  fscanf(file,<font color="#666666">"  EOD RESIDUAL"</font>);
69
 
<a name="line59"> 59: </a>  fclose(file);
70
 
 
71
 
<a name="line61"> 61: </a>  m = n/<A href="../../../../docs/manualpages/Sys/size.html#size">size</A>+1;
72
 
<a name="line62"> 62: </a>  start = <A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>*m;
73
 
<a name="line63"> 63: </a>  end = (<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>+1)*m; <font color="#4169E1">if</font> (end &gt; n) end = n;
74
 
<a name="line64"> 64: </a>  <font color="#4169E1">for</font> (j=start; j&lt;end; j++) {
75
 
<a name="line65"> 65: </a>    length = col[j+1]-col[j];
76
 
<a name="line66"> 66: </a>    <A href="../../../../docs/manualpages/Mat/MatSetValues.html#MatSetValues">MatSetValues</A>(A,length,&amp;row[col[j]-1],1,&amp;j,&amp;val[col[j]-1],INSERT_VALUES);
77
 
<a name="line67"> 67: </a>  }
78
 
<a name="line68"> 68: </a>  <A href="../../../../docs/manualpages/Mat/MatAssemblyBegin.html#MatAssemblyBegin">MatAssemblyBegin</A>(A,MAT_FINAL_ASSEMBLY);
79
 
<a name="line69"> 69: </a>  <A href="../../../../docs/manualpages/Mat/MatAssemblyEnd.html#MatAssemblyEnd">MatAssemblyEnd</A>(A,MAT_FINAL_ASSEMBLY);
80
 
 
81
 
<a name="line71"> 71: </a>  <A href="../../../../docs/manualpages/Vec/VecGetOwnershipRange.html#VecGetOwnershipRange">VecGetOwnershipRange</A>(b,&amp;start,&amp;end);
82
 
<a name="line72"> 72: </a>  <A href="../../../../docs/manualpages/Vec/VecSetValues.html#VecSetValues">VecSetValues</A>(b,end-start,brow+start,bval+start,INSERT_VALUES);
83
 
<a name="line73"> 73: </a>  <A href="../../../../docs/manualpages/Vec/VecAssemblyBegin.html#VecAssemblyBegin">VecAssemblyBegin</A>(b);
84
 
<a name="line74"> 74: </a>  <A href="../../../../docs/manualpages/Vec/VecAssemblyEnd.html#VecAssemblyEnd">VecAssemblyEnd</A>(b);
85
 
 
86
 
<a name="line76"> 76: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(col);
87
 
<a name="line77"> 77: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(val);
88
 
<a name="line78"> 78: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(row);
89
 
<a name="line79"> 79: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(bval);
90
 
<a name="line80"> 80: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(brow);
91
 
 
92
 
<a name="line82"> 82: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(PETSC_COMM_SELF,<font color="#666666">"Reading matrix completes.n"</font>);
93
 
<a name="line83"> 83: </a>  <A href="../../../../docs/manualpages/Sys/PetscOptionsGetString.html#PetscOptionsGetString">PetscOptionsGetString</A>(PETSC_NULL,<font color="#666666">"-fout"</font>,fileout,127,PETSC_NULL);
94
 
<a name="line84"> 84: </a>  <A href="../../../../docs/manualpages/Viewer/PetscViewerBinaryOpen.html#PetscViewerBinaryOpen">PetscViewerBinaryOpen</A>(PETSC_COMM_WORLD,fileout,PETSC_BINARY_CREATE,&amp;view);
95
 
<a name="line85"> 85: </a>  <A href="../../../../docs/manualpages/Mat/MatView.html#MatView">MatView</A>(A,view);
96
 
<a name="line86"> 86: </a>  <A href="../../../../docs/manualpages/Vec/VecView.html#VecView">VecView</A>(b,view);
97
 
<a name="line87"> 87: </a>  <A href="../../../../docs/manualpages/Viewer/PetscViewerDestroy.html#PetscViewerDestroy">PetscViewerDestroy</A>(view);
98
 
 
99
 
<a name="line89"> 89: </a>  <A href="../../../../docs/manualpages/Vec/VecDestroy.html#VecDestroy">VecDestroy</A>(b);
100
 
<a name="line90"> 90: </a>  <A href="../../../../docs/manualpages/Mat/MatDestroy.html#MatDestroy">MatDestroy</A>(A);
101
 
 
102
 
<a name="line92"> 92: </a>  <A href="../../../../docs/manualpages/Sys/PetscFinalize.html#PetscFinalize">PetscFinalize</A>();
103
 
<a name="line93"> 93: </a>  <font color="#4169E1">return</font> 0;
104
 
<a name="line94"> 94: </a>}
 
20
<a name="line12"> 12: </a><strong><font color="#4169E1"><a name="main"></a>int main(int argc,char **args)</font></strong>
 
21
<a name="line13"> 13: </a>{
 
22
<a name="line14"> 14: </a>  <A href="../../../../docs/manualpages/Mat/Mat.html#Mat">Mat</A>         A;
 
23
<a name="line15"> 15: </a>  <A href="../../../../docs/manualpages/Vec/Vec.html#Vec">Vec</A>         b;
 
24
<a name="line16"> 16: </a>  char        filein[128],fileout[128];
 
25
<a name="line17"> 17: </a>  int         i,j,m,n,nnz,ierr,<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>,<A href="../../../../docs/manualpages/Sys/size.html#size">size</A>,start,end,*col,*row,*brow,length;
 
26
<a name="line18"> 18: </a>  <A href="../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A> *val,*bval;
 
27
<a name="line19"> 19: </a>  FILE*       file;
 
28
<a name="line20"> 20: </a>  <A href="../../../../docs/manualpages/Viewer/PetscViewer.html#PetscViewer">PetscViewer</A> view;
 
29
<a name="line21"> 21: </a>  <A href="../../../../docs/manualpages/Sys/PetscTruth.html#PetscTruth">PetscTruth</A>  opt;
 
30
 
 
31
<a name="line23"> 23: </a>  <A href="../../../../docs/manualpages/Sys/PetscInitialize.html#PetscInitialize">PetscInitialize</A>(&amp;argc,&amp;args,(char *)0,help);
 
32
 
 
33
<a name="line25"> 25: </a>  <font color="#B22222">/* Read in matrix and RHS */</font>
 
34
<a name="line26"> 26: </a>  <A href="../../../../docs/manualpages/Sys/PetscOptionsGetString.html#PetscOptionsGetString">PetscOptionsGetString</A>(<A href="../../../../docs/manualpages/Sys/PETSC_NULL.html#PETSC_NULL">PETSC_NULL</A>,<font color="#666666">"-fin"</font>,filein,127,&amp;opt);
 
35
<a name="line27"> 27: </a>  <font color="#4169E1">if</font> (opt == PETSC_FALSE) {
 
36
<a name="line28"> 28: </a>    <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(PETSC_ERR_ARG_WRONG, <font color="#666666">"No filename was specified for this test"</font>);
 
37
<a name="line29"> 29: </a>  }
 
38
<a name="line30"> 30: </a>  <A href="http://www.mcs.anl.gov/mpi/www/www3/MPI_Comm_rank.html#MPI_Comm_rank">MPI_Comm_rank</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,&amp;<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>);
 
39
<a name="line31"> 31: </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/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,&amp;<A href="../../../../docs/manualpages/Sys/size.html#size">size</A>);
 
40
 
 
41
<a name="line33"> 33: </a>  <A href="../../../../docs/manualpages/Sys/PetscFOpen.html#PetscFOpen">PetscFOpen</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_SELF.html#PETSC_COMM_SELF">PETSC_COMM_SELF</A>,filein,<font color="#666666">"r"</font>,&amp;file);
 
42
 
 
43
<a name="line35"> 35: </a>  fscanf(file,<font color="#666666">"  NUNKNS =%d  NCOEFF =%d\n"</font>,&amp;n,&amp;nnz);
 
44
<a name="line36"> 36: </a>  fscanf(file,<font color="#666666">"  JA POINTER IN SLAPSV\n"</font>);
 
45
 
 
46
<a name="line38"> 38: </a>  <A href="../../../../docs/manualpages/Mat/MatCreateSeqAIJ.html#MatCreateSeqAIJ">MatCreateSeqAIJ</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,n,n,20,0,&amp;A);
 
47
<a name="line39"> 39: </a>  <A href="../../../../docs/manualpages/Vec/VecCreate.html#VecCreate">VecCreate</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,&amp;b);
 
48
<a name="line40"> 40: </a>  <A href="../../../../docs/manualpages/Vec/VecSetSizes.html#VecSetSizes">VecSetSizes</A>(b,<A href="../../../../docs/manualpages/Sys/PETSC_DECIDE.html#PETSC_DECIDE">PETSC_DECIDE</A>,n);
 
49
<a name="line41"> 41: </a>  <A href="../../../../docs/manualpages/Vec/VecSetFromOptions.html#VecSetFromOptions">VecSetFromOptions</A>(b);
 
50
 
 
51
<a name="line43"> 43: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>((n+1)*<font color="#4169E1">sizeof</font>(int),&amp;col);
 
52
<a name="line44"> 44: </a>  <font color="#4169E1">for</font> (i=0; i&lt;n+1; i++)
 
53
<a name="line45"> 45: </a>    fscanf(file,<font color="#666666">"     I=%d%d\n"</font>,&amp;j,&amp;col[i]);
 
54
<a name="line46"> 46: </a>  fscanf(file,<font color="#666666">"  EOD JA\n"</font>);
 
55
 
 
56
<a name="line48"> 48: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(nnz*<font color="#4169E1">sizeof</font>(<A href="../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A>),&amp;val);
 
57
<a name="line49"> 49: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(nnz*<font color="#4169E1">sizeof</font>(int),&amp;row);
 
58
<a name="line50"> 50: </a>  fscanf(file,<font color="#666666">"  COEFFICIENT MATRIX IN SLAPSV: I, IA, A\n"</font>);
 
59
<a name="line51"> 51: </a>  <font color="#4169E1">for</font> (i=0; i&lt;nnz; i++) {
 
60
<a name="line52"> 52: </a>    fscanf(file,<font color="#666666">"    %d%d%le\n"</font>,&amp;j,&amp;row[i],&amp;val[i]);
 
61
<a name="line53"> 53: </a>    row[i]--;
 
62
<a name="line54"> 54: </a>  }
 
63
<a name="line55"> 55: </a>  fscanf(file,<font color="#666666">"  EOD IA\n"</font>);
 
64
 
 
65
<a name="line57"> 57: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(n*<font color="#4169E1">sizeof</font>(<A href="../../../../docs/manualpages/Sys/PetscScalar.html#PetscScalar">PetscScalar</A>),&amp;bval);
 
66
<a name="line58"> 58: </a>  <A href="../../../../docs/manualpages/Sys/PetscMalloc.html#PetscMalloc">PetscMalloc</A>(n*<font color="#4169E1">sizeof</font>(int),&amp;brow);
 
67
<a name="line59"> 59: </a>  fscanf(file,<font color="#666666">"  RESIDUAL IN SLAPSV ;IRHS=%d\n"</font>,&amp;j);
 
68
<a name="line60"> 60: </a>  <font color="#4169E1">for</font> (i=0; i&lt;n; i++) {
 
69
<a name="line61"> 61: </a>    fscanf(file,<font color="#666666">"      %d%le%d\n"</font>,&amp;j,bval+i,&amp;j);
 
70
<a name="line62"> 62: </a>    brow[i] = i;
 
71
<a name="line63"> 63: </a>  }
 
72
<a name="line64"> 64: </a>  fscanf(file,<font color="#666666">"  EOD RESIDUAL"</font>);
 
73
<a name="line65"> 65: </a>  fclose(file);
 
74
 
 
75
<a name="line67"> 67: </a>  m = n/<A href="../../../../docs/manualpages/Sys/size.html#size">size</A>+1;
 
76
<a name="line68"> 68: </a>  start = <A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>*m;
 
77
<a name="line69"> 69: </a>  end = (<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>+1)*m; <font color="#4169E1">if</font> (end &gt; n) end = n;
 
78
<a name="line70"> 70: </a>  <font color="#4169E1">for</font> (j=start; j&lt;end; j++) {
 
79
<a name="line71"> 71: </a>    length = col[j+1]-col[j];
 
80
<a name="line72"> 72: </a>    <A href="../../../../docs/manualpages/Mat/MatSetValues.html#MatSetValues">MatSetValues</A>(A,length,&amp;row[col[j]-1],1,&amp;j,&amp;val[col[j]-1],INSERT_VALUES);
 
81
<a name="line73"> 73: </a>  }
 
82
<a name="line74"> 74: </a>  <A href="../../../../docs/manualpages/Mat/MatAssemblyBegin.html#MatAssemblyBegin">MatAssemblyBegin</A>(A,MAT_FINAL_ASSEMBLY);
 
83
<a name="line75"> 75: </a>  <A href="../../../../docs/manualpages/Mat/MatAssemblyEnd.html#MatAssemblyEnd">MatAssemblyEnd</A>(A,MAT_FINAL_ASSEMBLY);
 
84
 
 
85
<a name="line77"> 77: </a>  <A href="../../../../docs/manualpages/Vec/VecGetOwnershipRange.html#VecGetOwnershipRange">VecGetOwnershipRange</A>(b,&amp;start,&amp;end);
 
86
<a name="line78"> 78: </a>  <A href="../../../../docs/manualpages/Vec/VecSetValues.html#VecSetValues">VecSetValues</A>(b,end-start,brow+start,bval+start,INSERT_VALUES);
 
87
<a name="line79"> 79: </a>  <A href="../../../../docs/manualpages/Vec/VecAssemblyBegin.html#VecAssemblyBegin">VecAssemblyBegin</A>(b);
 
88
<a name="line80"> 80: </a>  <A href="../../../../docs/manualpages/Vec/VecAssemblyEnd.html#VecAssemblyEnd">VecAssemblyEnd</A>(b);
 
89
 
 
90
<a name="line82"> 82: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(col);
 
91
<a name="line83"> 83: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(val);
 
92
<a name="line84"> 84: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(row);
 
93
<a name="line85"> 85: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(bval);
 
94
<a name="line86"> 86: </a>  <A href="../../../../docs/manualpages/Sys/PetscFree.html#PetscFree">PetscFree</A>(brow);
 
95
 
 
96
<a name="line88"> 88: </a>  <A href="../../../../docs/manualpages/Sys/PetscPrintf.html#PetscPrintf">PetscPrintf</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_SELF.html#PETSC_COMM_SELF">PETSC_COMM_SELF</A>,<font color="#666666">"Reading matrix completes.\n"</font>);
 
97
<a name="line89"> 89: </a>  <A href="../../../../docs/manualpages/Sys/PetscOptionsGetString.html#PetscOptionsGetString">PetscOptionsGetString</A>(<A href="../../../../docs/manualpages/Sys/PETSC_NULL.html#PETSC_NULL">PETSC_NULL</A>,<font color="#666666">"-fout"</font>,fileout,127,<A href="../../../../docs/manualpages/Sys/PETSC_NULL.html#PETSC_NULL">PETSC_NULL</A>);
 
98
<a name="line90"> 90: </a>  <A href="../../../../docs/manualpages/Viewer/PetscViewerBinaryOpen.html#PetscViewerBinaryOpen">PetscViewerBinaryOpen</A>(<A href="../../../../docs/manualpages/Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>,fileout,PETSC_FILE_CREATE,&amp;view);
 
99
<a name="line91"> 91: </a>  <A href="../../../../docs/manualpages/Mat/MatView.html#MatView">MatView</A>(A,view);
 
100
<a name="line92"> 92: </a>  <A href="../../../../docs/manualpages/Vec/VecView.html#VecView">VecView</A>(b,view);
 
101
<a name="line93"> 93: </a>  <A href="../../../../docs/manualpages/Viewer/PetscViewerDestroy.html#PetscViewerDestroy">PetscViewerDestroy</A>(view);
 
102
 
 
103
<a name="line95"> 95: </a>  <A href="../../../../docs/manualpages/Vec/VecDestroy.html#VecDestroy">VecDestroy</A>(b);
 
104
<a name="line96"> 96: </a>  <A href="../../../../docs/manualpages/Mat/MatDestroy.html#MatDestroy">MatDestroy</A>(A);
 
105
 
 
106
<a name="line98"> 98: </a>  <A href="../../../../docs/manualpages/Sys/PetscFinalize.html#PetscFinalize">PetscFinalize</A>();
 
107
<a name="line99"> 99: </a>  <font color="#4169E1">return</font> 0;
 
108
<a name="line100">100: </a>}
105
109
 
106
110
</pre>
107
111
</body>