File: PCSetModifySubMatrices.html

package info (click to toggle)
petsc 3.4.2.dfsg1-8.1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 129,104 kB
  • ctags: 516,422
  • sloc: ansic: 395,939; cpp: 47,201; python: 34,788; makefile: 17,193; fortran: 16,251; f90: 1,592; objc: 954; sh: 822; xml: 621; java: 381; lisp: 293; csh: 241
file content (66 lines) | stat: -rw-r--r-- 3,593 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
64
65
66
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCSetModifySubMatrices.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>PCSetModifySubMatrices</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.4.2 2013-07-02</b></div>
<A NAME="PCSetModifySubMatrices"><H1>PCSetModifySubMatrices</H1></A>
Sets a user-defined routine for modifying the submatrices that arise within certain subdomain-based preconditioners. The basic submatrices are extracted from the preconditioner matrix as usual; the user can then alter these (for example, to set different boundary conditions for each submatrix) before they are used for the local solves. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscksp.h" 
PetscErrorCode  PCSetModifySubMatrices(PC pc,PetscErrorCode (*func)(PC,PetscInt,const IS[],const IS[],Mat[],void*),void *ctx)
</PRE>
Logically Collective on <A HREF="../PC/PC.html#PC">PC</A>
<P>
<H3><FONT COLOR="#CC3333">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>pc </B></TD><TD>- the preconditioner context
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>func </B></TD><TD>- routine for modifying the submatrices
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>ctx </B></TD><TD>- optional user-defined context (may be null)
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Calling sequence of func</FONT></H3>
<pre>
    func (<A HREF="../PC/PC.html#PC">PC</A> pc,<A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> nsub,<A HREF="../IS/IS.html#IS">IS</A> *row,<A HREF="../IS/IS.html#IS">IS</A> *col,<A HREF="../Mat/Mat.html#Mat">Mat</A> *submat,void *ctx);
</pre>
<P>
<DT><B>row </B> -an array of index sets that contain the global row numbers
that comprise each local submatrix
<br>
<DT><B>col </B> -an array of index sets that contain the global column numbers
that comprise each local submatrix
<br>
<DT><B>submat </B> -array of local submatrices
<br>
<DT><B>ctx </B> -optional user-defined context for private data for the
user-defined func routine (may be null)
<br>
</TABLE>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
<A HREF="../PC/PCSetModifySubMatrices.html#PCSetModifySubMatrices">PCSetModifySubMatrices</A>() MUST be called before <A HREF="../KSP/KSPSetUp.html#KSPSetUp">KSPSetUp</A>() and
<A HREF="../KSP/KSPSolve.html#KSPSolve">KSPSolve</A>().
<P>
A routine set by <A HREF="../PC/PCSetModifySubMatrices.html#PCSetModifySubMatrices">PCSetModifySubMatrices</A>() is currently called within
the block Jacobi (<A HREF="../PC/PCBJACOBI.html#PCBJACOBI">PCBJACOBI</A>) and additive Schwarz (<A HREF="../PC/PCASM.html#PCASM">PCASM</A>)
preconditioners.  All other preconditioners ignore this routine.
<P>

<P>
<H3><FONT COLOR="#CC3333">Keywords</FONT></H3>
 <A HREF="../PC/PC.html#PC">PC</A>, set, modify, submatrices
<BR>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../PC/PCModifySubMatrices.html#PCModifySubMatrices">PCModifySubMatrices</A>(), PCASMGetSubMatrices()
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>advanced
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/ksp/pc/interface/precon.c.html#PCSetModifySubMatrices">src/ksp/pc/interface/precon.c</A>
<BR><A HREF="./index.html">Index of all PC 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>