node14.html
来自「htmdoc for html coding」· HTML 代码 · 共 857 行 · 第 1/3 页
HTML
857 行
<P><DL COMPACT><DT>Aim:<DD> Impose the boundary conditions<A NAME=1550> </A> of prescribed value or linear relation type.<P><DT>Utilization:<DD> <P><UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures MUA and B (and eventually NDL1).</UL>(e.g execute module PREPAC, then modules ASSMUA and ASEMBV, to create structures MUA and B)<P>Call the module:<P><PRE> CALL CLIMPC(M,NIVO,VTG,NFNDL1,NINDL1, + NFMUAE,NIMUAE,NFBE,NIBE,NFBDCL,NIBDCL, + NFMUAS,NIMUAS,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array,<LI> NIVO: the type of boundary conditions imposed: <UL><LI> if NIVO = 0, the boundary conditions affect matrix <b>A</b> only, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img37.gif">, <LI> if NIVO = 1, the boundary conditions affect the RHS only, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img38.gif">, <LI> if NIVO = 2, the boundary conditions affect <b>A</b> and <b>B</b>, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img39.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img40.gif">, <LI> if NIVO = 3, the boundary conditions affect <b>A</b> and <b>B</b>, and are applied as follows: <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img37.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img38.gif"> for all prescribed degrees of freedom <b>i</b>, then for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img41.gif"> for <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img42.gif">, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img43.gif">, and finally, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img44.gif">, <LI> if NIVO = 4, the boundary conditions affect only <b>A</b>, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img45.gif">. </UL><LI> VTG: multiplication value for the diagonal coefficients with prescribed degrees of freedom,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFMUAE: the number of the support file of I.D.S. MUA,<LI> NIMUAE: its level number,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFBE: the number of the support file of I.D.S. B,<LI> NIBE: its level number,<LI> NFMUAS: the number of the support file of O.D.S. MUA,<LI> NIMUAS: its level number (the O.D.S. can be distinct from the I.D.S.).<P></UL> </DL><P><H2><A NAME=SECTION04128000000000000000>1.2.8 CLIMPS: boundary conditions</A></H2><P><DL COMPACT><DT>Aim:<DD> Impose the boundary conditions<A NAME=1570> </A> of prescribed value or linear relation type.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures MUA and B (and eventually NDL1).</UL>(eg execute module PREPAC, then modules ASMAPS and ASMBMS, to create structures MUA and B.)<P>Call the module:<P><PRE> CALL CLIMPS(M,NIVO,VTG,NFNDL1,NINDL1, + NFMUAE,NIMUAE,NFBE,NIBE,NFBDCL,NIBDCL, + NFMUAS,NIMUAS,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array,<LI> NIVO: the type of boundary conditions imposed:<UL><LI> if NIVO = 0, the boundary conditions only affect matrix <b>A</b>, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img37.gif">, <LI> if NIVO = 1, the boundary conditions only affect the RHS, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img38.gif">, <LI> if NIVO = 2, the boundary conditions affect <b>A</b> and <b>B</b>, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img39.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img40.gif">, <LI> if NIVO = 3, the boundary conditions affect <b>A</b> and <b>B</b>, and are applied as follows: <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img37.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img38.gif"> for all prescribed degrees of freedom <b>i</b>, then for all <b>k</b> such that <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img42.gif">, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img43.gif">, and finally, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img44.gif">, <LI> if NIVO = 4, the boundary conditions affect only <b>A</b>, and have the form <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img45.gif">.</UL><LI> VTG: multiplication value for the diagonal coefficients with prescribed degrees of freedom,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFMUAE: the number of the support file of I.D.S. MUA (always <b><</b> 0), <LI> NIMUAE: its level number,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFBE: the number of the support file of I.D.S. B (always <b><</b> 0),<LI> NIBE: its level number,<LI> NFMUAS: the number of the support file of O.D.S. MUA (always <b><</b> 0),<LI> NIMUAS: its level number (the O.D.S. can be distinct from the I.D.S.).<DL COMPACT><DT>Note:<DD> If NFMUAE and NFMUAS (resp. NFBE and NFBS) are distinct, the number of words in their pages must be equal!<P> </DL></UL> </DL><P><H2><A NAME=SECTION04129000000000000000>1.2.9 CONDL1: construction of NDL1</A></H2><P><A NAME=condl1> </A><P><DL COMPACT><DT>Aim:<DD> Construct D.S. NDL1 using D.S. MAIL. The algorithms described in this guide perform a callto function NDL<A NAME=1593> </A>, to assign the number of the last degree of freedomassociated with node I to NDL(I+1) (with NDL(1)=0). To initialize this function, the module performs a call to function LRNDL1, and then<UL><LI> if the number of degrees of freedom at each node ND is constant, NDL(I+1) = I * ND <LI> if not NDL(I+1), the number of the last degree of freedom associated with node I, is stored in D.S. NDL1</UL><P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,</UL><P>Call the module:<P><PRE> CALL CONDL1(M,NNSEG,NFMAIL,NIMAIL,NFNDL1,NINDL1,LNOET, + NNOMAX,ND,NDLMAX)</PRE><P>where:<P><UL><LI> M: the super array,<LI> NNSEG: the number of nodes per segment of NDL1 (if it is initialized to a very large number, it contains thenumber of nodes + 1 on exit),<LI> NFMAIL: the number of the support file of I.D.S. MAIL,<LI> NIMAIL: its level number,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,</UL><P>On exit the module returns:<UL><LI> LNOET: the total number of nodes of element types,<LI> NNOMAX: the maximum number of nodes among all the element types,<LI> ND: the number of degrees of freedom at each node, if constant (0 if not),<LI> NDLMAX: the maximum number of degrees of freedom at any node</UL> </DL><P><H2><A NAME=SECTION041210000000000000000>1.2.10 CROUPC: Crout factorization</A></H2><P><DL COMPACT><DT>Aim:<DD> Performs the Crout factorization<A NAME=1605> </A>, in main memory,of a symmetric matrix <b>A</b><A NAME=1606> </A>, already assembled in a MUA structure.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structure MUA (and eventually NDL1).</UL>(eg execute module PREPAC, then module ASSMUA to create the input data structure MUA)<P>Call the module:<P><PRE> CALL CROUPC(M,EPS,NENTRE,NFNDL1,NINDL1,NFMUAE, + NIMUAE,NFMUAS,NIMUAS,NRETOU)</PRE><P>where:<P><UL><LI> M: the super array,<LI> EPS: <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img46.gif">, the minimum value accepted for a pivot <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img47.gif"> according to the criterion<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img48.gif">,<LI> NENTRE: if NENTRE = 0 the module returns to the calling program as soon as a pivot is smaller that the absolute value of EPS, or continue the computations if NENTRE = 1,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFMUAE: the number of the support file of I.D.S. MUA,<LI> NIMUAE: its level number,<LI> NFMUAS: the number of the support file of O.D.S. MUA,<LI> NIMUAS: its level number (the O.D.S. can be identical to the I.D.S. (NIMUAS = NIMUAE), or distinct (NIMUAS <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img3.gif"> NIMUAE)),<LI> NRETOU: output parameter: NRETOU = 1 if at least one pivot was judged too small, NRETOU = 0 if not.</UL> </DL><P><H2><A NAME=SECTION041211000000000000000>1.2.11 DRCHPC: Cholesky forward- and backsubstitution</A></H2><P><A NAME=1616> </A><P><DL COMPACT><DT>Aim:<DD> Performs the solution of a linear system in main memory, using Cholesky factorization.The lower triangular matrix <b>L</b> is already stored in structure MUA.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures MUA and B (and eventually NDL1),<LI> execute module CHOLPC, to perform the Cholesky factorization of matrix <b>A</b>:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img49.gif"></UL><P>Call the module:<P><PRE> CALL DRCHPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1, + NFMUA,NIMUA,NFBE,NIBE, + NFBDCL,NIBDCL,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array,<LI> NIVEAU: the type of solution chosen:<UL><LI> if NIVEAU = 0, only the backward substitution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img50.gif"> is performed, <LI> if NIVEAU = 1, only the forward substitution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img51.gif"> is performed, <LI> if NIVEAU <b>></b> 1, the complete solution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img52.gif"> is performed,</UL><LI> NCLRL: the number of boundary conditions in linear relations,<LI> NFNDL1: the number of the support file of I.D.S. NDL1,<LI> NINDL1: its level number,<LI> NFMUA: the number of the support file of I.D.S. MUA,<LI> NIMUA: its level number,<LI> NFBDCL: the number of the support file of I.D.S. BDCL,<LI> NIBDCL: its level number,<LI> NFBE: the number of the support file of I.D.S. B (containing the RHS),<LI> NIBE: its level number,<LI> NFBS: the number of the support file of O.D.S. B (containing the solution),<LI> NIBS: its level number,<DL COMPACT><DT>Note:<DD> If NIBS = NIBE, the solution overwrites the RHS !<P> </DL></UL> </DL><P><H2><A NAME=SECTION041212000000000000000>1.2.12 DRCRPC: Crout forward- and backsubstitution</A></H2><P><A NAME=1628> </A><P> <DL COMPACT><DT>Aim:<DD> Performs the solution of a linear system in main memory, using Crout factorization.The lower triangular matrix <b>L</b> and the diagonal <b>D</b> are already stored in structure MUA.<P><DT>Utilization:<DD> <UL><LI> dimension array M (in the blank common),<LI> call INITI,<LI> create the input data structures MUA and B (and eventually NDL1),<LI> execute module CROUPC, to perform the Crout factorization of matrix <b>A</b>:<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img53.gif"></UL><P>Call the module:<P><PRE> CALL DRCRPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1, + NFMUA,NIMUA,NFBE,NIBE, + NFBDCL,NIBDCL,NFBS,NIBS)</PRE><P>where:<P><UL><LI> M: the super array,<LI> NIVEAU: the type of solution chosen:<UL><LI> if NIVEAU = 0, only the backward substitution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img50.gif"> is performed, <LI> if NIVEAU = 1, only the forward substitution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img51.gif"> is performed, <LI> if NIVEAU = 2, the forward substitution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img54.gif"> is performed,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?