node17.html
来自「htmdoc for html coding」· HTML 代码 · 共 580 行 · 第 1/2 页
HTML
580 行
<DL COMPACT><DT>Aim:<DD> Perform the incomplete Cholesky or Crout factorization<A NAME=1827> </A><A NAME=1828> </A>, in main memory, of a symmetric matrix <b>A</b>, already assembled in structure MUA.Depending on the option chosen by the user, the module performs an incomplete Cholesky or Crout factorization.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures AMAT and B (and eventually BDCL and NDL1),</UL><P>Call the module:<P><PRE> CALL FANIGC(M,NIVEAU,NFACTO, + NFAMAT,NIAMAT,NFAMAP,NIAMAP,NBPIVO)</PRE><P>where:<P><UL><LI> M: the super array,<LI> NIVEAU: the level of incomplete factorization (always <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img64.gif">) (the higher the level, the more the matrix is filled), if NIVEAU is sufficiently large an exact factorization is obtained.<LI> NFACTO: factorization option of the matrix of I.D.S. AMAT,<UL><LI> if NFACTO = 1, incomplete Cholesky factorization,<LI> if NFACTO = 2, incomplete Crout factorization,</UL><LI> NFAMAT: the number of the support file of I.D.S. AMAT (the system matrix),<LI> NIAMAT: its level number,<LI> NFAMAC: the number of the support file of O.D.S. AMAT (the preconditioned matrix),<LI> NIAMAC: its level number,<LI> NBPIVO: the number of incorrect pivots (replaced by their predecessors)</UL><P><DT>Remark:<DD> This module replaces FAINGC. Note that there are additional parameters. The old version, FANIGC, corresponds to <b> NIVEAU=0 </b>.<P> </DL><P><H2><A NAME=SECTION04219000000000000000>2.1.9 GCDIAG: preconditioned conjugate gradient</A></H2><P><DL COMPACT><DT>Aim:<DD> Solve a linear system by conjugate gradient iterations with diagonal preconditioning<A NAME=1838> </A>, when matrix <b>A</b> is symmetric positive definite.Only the matrix of the linear system must be stored in a AMAT structure, while the preconditioning matrix is determined by the program.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures AMAT and B (and eventually BDCL and NDL1),</UL><P>Call the module:<P><PRE> CALL GCDIAG(M,EPS,NOMTA0,NFNDL1,NINDL1, + NFBE,NIBE,NFAMAT,NIAMAT,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array, <LI> EPS: the convergence threshold <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img46.gif">, according to the criterion:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img68.gif"><LI> NOMTA0: the name of the array containing vector X0, to initialize the preconditioned conjugate gradient algorithm, if this array does not exist <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img69.gif"> is initialized to 0,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFBE: the number of the support file of I.D.S. B (the RHS),<LI> NIBE: its level number,<LI> NFAMAT: the number of the support file of I.D.S. AMAT (the system matrix),<LI> NIAMAT: its level number,<LI> NFBS: the number of the support file of O.D.S. B (the solution),<LI> NIBS: its level number.</UL> </DL><P><H2><A NAME=SECTION042110000000000000000>2.1.10 ICHRGC: preconditioned conjugate gradient</A></H2><P><DL COMPACT><DT>Aim:<DD> Solve a linear system by conjugate gradient iterations with preconditioning, when matrix <b>A</b> is symmetric positive definite.The matrix of the linear system and the preconditioning matrix are already stored in a AMAT structure.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structure AMAT of the matrix of the linear system(using module ASSAMA), and that of the preconditioner (using module FANIGC),and then data structure B (and eventually BDCL and NDL1).</UL><P>Call the module:<P><PRE> CALL ICHRGC(M,EPS,NOMTA0,NCLRL, + NFBDCL,NIBDCL,NFNDL1,NINDL1, + NFBE,NIBE,NFAMAC,NIAMAC, + NFAMAT,NIAMAT,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array, <LI> EPS: the convergence threshold <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img46.gif">, according to the criterion:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img70.gif"><LI> NOMTA0: the name of the array containing vector X0, to initialize the preconditioned conjugate gradient algorithm, if this array does not exist <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img69.gif"> is initialized to 0,<P><LI> NCLRL: number of boundary conditions i.t.o. linear relations,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFBE: the number of the support file of I.D.S. B (the RHS),<LI> NIBE: its level number,<LI> NFAMAC: the number of the support file of I.D.S. AMAC (the preconditioning matrix),<LI> NIAMAC: its level number,<LI> NFAMAT: the number of the support file of I.D.S. AMAT (the system matrix),<LI> NIAMAT: its level number,<LI> NFBS: the number of the support file of O.D.S. B (the solution),<LI> NIBS: its level number.</UL> </DL><P><H2><A NAME=SECTION042111000000000000000>2.1.11 PREPGC: computation of pointers for AMAT</A></H2><P><A NAME=1853> </A><P><DL COMPACT><DT>Aim:<DD> Determine pointers AMAT3 and AMAT4, and AMAT5, of the data structure AMAT, and compute the memory space required to store matrix <b>A</b>.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structure NOPO and, eventually, NDL1 and BDCL.<P></UL><P>Call the module:<P><PRE> CALL PREPGC(M,ND,NCODSA,NTY,NCLRL,NFBDCL,NIBDCL, + NFNDL1,NINDL1,NFNOPO,NINOPO, + NFAMAT,NIAMAT,NTAMAT,MCAMAT)</PRE><P>where:<P><UL><LI> M: the super array,<LI> ND: the number of degrees of freedom at each node, if constant (0 if not)<LI> NCODSA: the matrix storage code,<LI>NCODSA <b>></b> 0: symmetric storage of the lower triangular part,<LI>NCODSA = 0: diagonal storage of the matrix assumed diagonal,<LI>NCODSA <b><</b> 0: non-symmetric storage of the entire matrix,<LI> NTY: the type of arrays AMAT6 and B4 to assemble,<LI> NCLRL : the number of boundary conditions i.t.o. linear relations,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFNOPO: the number of the support file of I.D.S. NOPO,<LI> NINOPO: its level number,<LI> NFAMAT: the number of the support file of O.D.S. AMAT,<LI> NIAMAT: its level number,<LI> NTAMAT: the number of associated arrays,<LI> MCAMAT: the number of words in structure AMAT.</UL> </DL><P><H2><A NAME=SECTION042112000000000000000>2.1.12 SIMPGC: non-preconditioned conjugate gradient</A></H2><P><DL COMPACT><DT>Aim:<DD> Solve a linear system by conjugate gradient iterations <b> without</b> preconditioning, when matrix <b>A</b> is symmetric positive definite.The matrix of the linear system must be stored in a symmetric AMAT structure.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures AMAT and B (and eventually BDCL and NDL1).</UL><P>Call the module:<P><PRE> CALL SIMPGC(M,EPS,NOMTA0,NCLRL, + NFBDCL,NIBDCL,NFNDL1,NINDL1, + NFBE,NIBE,NFAMAT,NIAMAT,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array, <LI> EPS: the convergence threshold <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img46.gif">, according to the criterion:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img68.gif"><LI> NOMTA0: the name of the array containing vector X0, to initialize the conjugate gradient algorithm, if this array does not exist <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img69.gif"> is initialized to 0,<P><LI> NCLRL: number of boundary conditions i.t.o. linear relations,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFBE: the number of the support file of I.D.S. B (the RHS),<LI> NIBE: its level number,<LI> NFAMAT: the number of the support file of I.D.S. AMAT (the system matrix),<LI> NIAMAT: its level number,<LI> NFBS: the number of the support file of O.D.S. B (the solution),<LI> NIBS: its level number.</UL> </DL><P><H2><A NAME=SECTION042113000000000000000>2.1.13 SSORGC: preconditioned conjugate gradient</A></H2><P><DL COMPACT><DT>Aim:<DD> Solve a linear system by conjugate gradient iterations with SSOR preconditioning, when matrix <b>A</b> is symmetric positive definite.Only the matrix of the linear system must be stored in a AMAT structure, while the preconditioningmatrix is determined by the program, without an increase in memory space.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures AMAT and B (and eventually BDCL and NDL1).</UL><P>Call the module:<P><PRE> CALL SSORGC(M,OMEGA,EPS,NOMTA0,NCLRL, + NFBDCL,NIBDCL,NFNDL1,NINDL1, + NFBE,NIBE,NFAMAT,NIAMAT,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array, <LI> OMEGA: the relaxation parameter:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img71.gif"><LI> EPS: the convergence threshold <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img46.gif">, according to the criterion:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img68.gif"><LI> NOMTA0: the name of the array containing vector X0, to initialize the preconditioned conjugate gradient algorithm, if this array does not exist <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img69.gif"> is initialized to 0,<P><LI> NCLRL: number of boundary conditions i.t.o. linear relations,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFBE: the number of the support file of I.D.S. B (the RHS),<LI> NIBE: its level number,<LI> NFAMAT: the number of the support file of I.D.S. AMAT (the system matrix),<LI> NIAMAT: its level number,<LI> NFBS: the number of the support file of O.D.S. B (the solution),<LI> NIBS: its level number.</UL> </DL><P><HR SIZE=3 WIDTH="75%"><IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM ALT="Modulef"><A NAME=tex2html504 HREF="node16.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif" ALT="previous"></A><A NAME=tex2html510 HREF="node16.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif" ALT="up"></A><A NAME=tex2html512 HREF="node18.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif" ALT="next"></A><A NAME=tex2html514 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif" ALT="contents"></A><A HREF="../Guide5-18/node17.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM ALT="[BIG]"></A><A HREF="../Guide5-14/node17.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM ALT="[Normal]"></A><A HREF="../Guide5-10/node17.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html513 HREF="node18.html">2.2 The algorithms</A><B>Up: </B> <A NAME=tex2html511 HREF="node16.html">2 Iterative methods</A><B> Prev: </B> <A NAME=tex2html505 HREF="node16.html">2 Iterative methods</A><B><A HREF="node2.html" >Contents</A></B><BR> <HR><P><ADDRESS></ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?