node39.html

来自「htmdoc for html coding」· HTML 代码 · 共 616 行 · 第 1/2 页

HTML
616
字号
<P><UL><LI> B3(1) = 0 <LI> B3(i+1) =  number of the last node in block i if NCODSB = -2 <BR>       B3(i+1) =  number of the last degree of freedom in block i if NCODSB = -1</UL><P><DT>Array B4:<DD> the array coefficients. <BR><P>This NTYP type array contains the NDSM*M2 values of each page.<P><DL COMPACT><DT><DD> B4(1,l+1) to B4(NDSM,l+1) then<DT><DD> B4(1,l+2) to B4(NDSM,l+2)  then <DT><DD> ....<DT><DD> B4(1,l') to B4(NDSM,l')<P> </DL> where  <BR>  l = NDL(B3(i)+1),  l' = NDL(B3(i+1)+1) and NDL is the number ofdegrees of freedom per node.<P> </DL><P><P><H2><A NAME=SECTION05142000000000000000>1.3.2 Corresponding tools</A></H2><P><P><P><H3><A NAME=SECTION05142100000000000000> Reading and writing a DS B</A></H3><P><P><P>A DS residing in M.M. is written to S.M. on a sequential or direct access file.<P>This is a category 2 DS where only the first 4 arrays and any associated arrays  (described in array <b> B1</b>)are read (module <b> SDLECT</b>) orwritten  (module <b> SDECRI</b>):<P><UL><LI> When reading, array <b> B4</b> is only addressed and the read is performed by the programvia a READ type command:<blockquote> READ(NFB) LE,(M(IAB4-1+I),I=1,LE)<P>or<P>DOUBLE PRECISION B4(LE)<P>READ(NFB) NBREMO*LE,(B4(I),I=1,LE) </blockquote><P><LI> When writing, array <b> B4</b> is transferred via a WRITE type command.</UL><P><P><P><H3><A NAME=SECTION05142200000000000000> Printing a DS B</A></H3><P><P><P>The contents (total or partial)  of a DS <b> B</b>  can be printed by using the following modules;<P><DL COMPACT><DT>IMB:<DD> The entire DS when the number of degrees of freedom per node is constant(as a function of the  print parameter IMPRE, all or part of array <b> B4</b> will be printed).<P><PRE>      SUBROUTINE IMB(M,NFB,NIB,IMPRE)C AIM : PRINT THE ARRAYS OF DS B, INCREASING WITH IMPREC ---   FILE NFB (OR MC IF 0), LEVEL NIB</PRE><P><DT>IMBND0:<DD> The entire DS when the number of degrees of freedom per node is not constant; in this caseDS <b> MAIL</b> is necessary.<P><PRE>      SUBROUTINE IMBND0(M,XM,DM,NFMAIL,NIMAIL,NFB,NIB,IMPR)C AIM : PRINT THE CONTENTS OF A DS B (CASE ND = 0)C ---   (SEE IMB IF ND NOT 0) (NDSM = 1 !!!)</PRE><P><DT>INFOBB:<DD> Print a particular value contained in the DS.<P><PRE>      SUBROUTINE INFOBB(M,IOPT,TYPESD,NIVEAU,TAB2,TAB3,TAB4,DTAB4,     +                  NUMREC)C AIM : OUTPUT INFORMATION ON A DS B</PRE><P>Processors  <b> IMAGXX</b> and <b> INFOXX</b>  calls  <b> IMB</b>, <b> IMBND0</b>  and <b> INFOBB</b>, respectively, in a conversational manner.<P><DT>PRINTB<DD> is the module used to obtain the type of each value:<P><PRE>       SUBROUTINE PRINTB(M,NFB,NIB,NFTYNO,NITYNO,TSIFO,IND1,ITAB,IND2,     +              NFNDL1,NINDL1,IMPR)C AIM : PRINTS DS B WITH A DESCRIPTION OF THE NODE TYPES</PRE><P>This module uses DS <b> TYNO</b>, which can be created using module <b> COTYNO</b>  (see DS <b> TYNO</b>).<P> </DL><P><P><P><H3><A NAME=SECTION05142300000000000000> Creation and manipulation modules for DS B</A></H3><P><P><P>DS  <b> B</b> is generally the result of computation performed by a specific module (assembly of the RHS,solution of the system, ...); it can also, in certain cases, be constructed manually(for example, to input the initial  solution of a time-dependent problem).<P><DL COMPACT><DT>Manual creation:<DD>    <BR><P><DL COMPACT><DT>COSDB:<DD> Creation by inputing one (or two) vector(s) explicitly.<P><PRE>      SUBROUTINE COSDB(M,NVEC,U,V,LUV,ND,NFB,NIB,NTAB)C AIM : CREATE A DS B FROM ONE OR TWO VECTORS</PRE><P><DT>COSNOB:<DD> Creation in terms of the nodal coordinates of the mesh; DS  <b> NOPO</b> is therefore used.<P><PRE>      SUBROUTINE COSNOB(M,XM,NFNOPO,NINOPO,NVEC,U0,U1,DU0,DU1,ND,     +                  NFB,NIB,NTAB,FONINT,VALCLR,VALCLD)C AIM : CREATE A DS B FROM  A DS NOPO AND A FUNCTIONC ---   (SAME AIM AS COSDB)C U(I) ( V(I) ) = FUNCTION(X(I),Y(I),Z(I)) AT POINT I OF DS NOPO</PRE><P><DT>COSMCB:<DD> Creation in terms of  the nodal coordinates  for the case when the number ofdegrees of freedom per node is arbitrary; DS  <b> MAIL</b> and DS <b> COOR</b> are used.<P><PRE>      SUBROUTINE COSMCB (M,XM,DM,NFMAIL,NIMAIL,NFCOOR,NICOOR,NVEC,     +   NFBS,NIBS,NTAB,FONINT,VALCLR,VALCLD,U0,U1,DU0,DU1)C AIM : SEE COSNOB, HERE ND = 0 IS POSSIBLE</PRE><P> </DL><P>Preprocessor <b> COSDXX</b> is employed to perform a conversational call of these modules.<P><DT>Assembly of the element arrays:<DD>      <BR><P><DL COMPACT><DT>ASEMBV:<DD> Assembly, in main memory or on sequential file, by using  DS <b> TAE</b> containing the element RHS vectors of a system.<P><PRE>      SUBROUTINE ASEMBV(M,NOT,NDSM,NCODSB,NFTAE,NITAE,NFNDL1,NINDL1,     +                  NFB,NIB,NTB)C AIM : ASSEMBLY OF THE RHSC ---   REAL  SINGLE OR DOUBLE PRECISION COMPLEX SINGLE PRECISIONC       ALL THE ARRAYS RESIDE SIMULTANEOUSLY IN M.M.</PRE><P><DT>ASMBMS:<DD> Assembly, in main memory or on direct access file, by using DS <b> TAE</b> containing the element  RHS of a system.<P><PRE>      SUBROUTINE ASMBMS(M,NOT,NDSM,NCODBB,NFTAE,NITAE,NFNDL1,     +                  NINDL1,NFB,NIB,NTB)C AIM : ASSEMBLY OF THE RHSC ---               REAL  SINGLE OR  DOUBLE PRECISIONC                   COMPLEX SINGLE PRECISIONC       THE ODS B RESIDES IN S.M. WITH DIRECT ACCESS</PRE><P> </DL><P>Preprocessor <b> ASSEXX</b> is employed to call these modules in a conversational manner.Furthermore, the solution preprocessors (for example <b> CHOLXX</b>) includes the assembly phase,consequently, the user only performs this operation him- or herself in some special cases (for example, to plot the matrix structure, or to compute the eigenvalues and eigenvectors ofa problem).<P> </DL><P><P><P><H3><A NAME=SECTION05142400000000000000> Manipulation utilities for a DS B</A></H3><P><P><P>There are numerous utilities to manipulate the contents of a DS <b> B</b>.<P><DL COMPACT><DT>BDISEQ:<DD> Change the type of the file storing a DS <b> B</b>, i.e. pass froma sequential support to a direct access support, or the inverse.<P><PRE>      SUBROUTINE  BDISEQ(M,INOUT,NFBDI,NIBDI,NFBSEQ,NIBSEQ)C AIM : TRANSFORM A FILE DS B DIRECT INTO SEQUENTIAL OR INVERSE</PRE><P><DT>MAXDLB:<DD> Print the extremal values (maxima, minima, ...) contained in a DS.<P><PRE>      SUBROUTINE MAXDLB(M,XM,DM,NFB,NIB,MAXI,NIMPR)C AIM : PRINT THE NIMPR NODES OF OPTIMUM RESULT PER LOCAL D.O.F. C ---   ACCORDING TO MAXI</PRE><P><DT>NORME:<DD> Calculate the error norms between the calculated and  exact solution calculated via a function (SOLEX or DSOLEX depending on the type).<P><PRE>      SUBROUTINE NORME (M,XM,DM,NFMAIL,NIMAIL,NFCOOR,NICOOR,NFB,NIB,     +   NFBS,NIBS,INDICB,NSM,FONINT,SOLEX,DSOLEX)C AIM : IPRINT THE EXACT SOLUTION, CALCULATED SOLUTION,C ---   THE ABSOLUTE AND RELATVE DIFFERENCES BETWEEN THEM,C       THE L1, L2 AND MAX ERRORS</PRE><P><DT>ERREUR:<DD>  Calculate the error between the calculated solution and the residuals.<P><PRE>      SUBROUTINE ERREUR(M,NFTAE,NITAE,NFB,NIB,NFNDL1,NINDL1,NFBER,     +                  NIBER,NTBER,NOT1,NOT2)C AIM : CALCULATE THE ERROR VECTOR</PRE><P><DT>SYMBEL:<DD> Calculate the DS  <b> B</b> symmetric to a given DS <b> B</b> with respect to a line or a plane of known equation. This operation is useful in post-processing.<P><PRE>      SUBROUTINE SYMBEL(M,DM,NF1,NI1,NF2,NI2,NDIM,AA,BB,CC,DD)C AIM :  SYMMETRY TRIDIM W.R.T. A PLANE OF A DS BC ---    SYMMETRY BIDIM W.R.T. A LINE OF A DS BC LIMITS :   ELASTIC PROBLEMC -------    THE D.O.F. ARE DISPLACED</PRE><P><DT>INTERQ:<DD> Interpolation between the solutions obtained when solving a parabolic problem by a Gear or Runga-Kutta method (with time-step <em> a priori</em> unknown).<P><PRE>      SUBROUTINE INTERQ(M,XM,NQ,NFB,NIB,PAS,NPAS,T0,TSAV,NFBS,NIBS)C AIM  : INTERPOLATE THE SOLUTIONS OBTAINED FROM EVO*GE(RK) USING AN ORDER NQ</PRE><P><DT>UNIONB:<DD>  Post-processing of a DS resulting from the solution of a parabolic problem.<P><PRE>      SUBROUTINE UNIONB(M,XM,NFB1,NIB1,NFB2,NIB2,JOPTIO,NFBS,NIBS)C AIM  : GLUE TOGETHER 2 IDS B TO FORM A SINGLE ODS B</PRE><P><DT>SDB2MC:<DD> Combining two DS <b> B</b>, residing in main memory or on on sequential files, linearly.<P><PRE>       SUBROUTINE SDB2MC(M,ALFA1D,NDSM1,NFB1,NIB1,     +                     ALFA2D,NDSM2,NFB2,NIB2,NDSMS,NFBS,NIBS)C AIM : CREATE ODS BS BY LINEARLY COMBINING THE TWO IDS, B1 AND B2C ---   BS(J) &lt;= SUM ALFA1D(I,J) * B1(I) + SUM ALFA2D(I,J) * B2(I)C                I=1,...,NDSM1              I=1,...,NDSM2C       FOR J=1,...,NDSMS</PRE><P><DT>SDB2MS:<DD> Combine the two DS <b> B</b>, residing on direct access files, linearly.<P><PRE>       SUBROUTINE SDB2MS(M,ALFA1D,NDSM1,NFB1,NIB1,     +                     ALFA2D,NDSM2,NFB2,NIB2,NDSMS,NFBS,NIBS)C AIM : CREATE ODS BS BY LINEARLY COMBINING THE TWO  IDS, B1 AND B2C ---   BS(J) &lt;= SUM ALFA1D(I,J) * B1(I) + SUM ALFA2D(I,J) * B2(I)C                I=1,...,NDSM1              I=1,...,NDSM2C       FOR J=1,...,NDSMSC       B1 AND B2 RESIDE ON DIRECT ACCESS FILES =&gt; BS ALSO</PRE><P> </DL><P><P> <HR SIZE=3 WIDTH="75&#37;"><IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM	ALT="Modulef"><A NAME=tex2html905 HREF="node38.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif"	ALT="previous"></A><A NAME=tex2html911 HREF="node35.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif"	ALT="up"></A><A NAME=tex2html913 HREF="node40.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif"	ALT="next"></A><A NAME=tex2html915 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif"	ALT="contents"></A><A NAME=tex2html916 HREF="node58.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/index_motif.gif"	ALT="index"></A><A HREF="../Guide2-18/node39.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM	ALT="[BIG]"></A><A HREF="../Guide2-14/node39.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM	ALT="[Normal]"></A><A HREF="../Guide2-10/node39.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM	ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html914 HREF="node40.html">1.4 DS BDCL</A><B>Up: </B> <A NAME=tex2html912 HREF="node35.html">1 Description of DS by type</A><B> Prev: </B> <A NAME=tex2html906 HREF="node38.html">1.2 DS ATRI</A><B><A HREF="node58.html"	>Index</A></B><B><A HREF="node2.html"	>Contents</A></B><BR> <HR><P><ADDRESS></ADDRESS></BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?