⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 node67.html

📁 htmdoc for html coding
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<LI> NPO [O]: the number of points<LI> NNO and NONO(.) [O]: the number and list of nodes</UL><P><P><P><DT>CLNOPO:<DD>This utility is similar to <b> CLNO5C</b>, but references the super array M  instead of array NOP5 directly. This module isused to obtain NCGE, NDSDE,  NNO and NONO(.), the number and list of nodes of the element under consideration, NPO and NOPOI(.), the number and list of its points, their coordinates and the references of the vertices, edges and faces of this element.<P><P><P>Dimension arrays NONO, NOPOI, NREF and COORP, and call <b> CLNOPO</b> as follows: <BR><P> CALL CLNOPO (M,M,IA2,IA4,IA,NCGE,NDSDE,NNO,NONO, <BR> .  NPO,NOPOI,COORP,NREF)<P>where<P><UL><LI> M: the super array<LI> IA [I]: the address in NOP5 of the element under consideration<LI> IA2 and IA4 [I]: the addresses of arrays NOP2 and NOP4 of the D.S.<LI> IA [O]: the address of the next element<LI> NCGE [O]: the geometric code of the element<LI> NDSDE [O]: its sub-domain number<LI> NNO and NONO(.) [O]: the number and list of nodes<LI> NPO and NOPOI(.) [O]: the number and list of points<LI> COORP(.) [O]: the coordinates of the points above (<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img191.gif">)<LI> NREF(.) [O]: the vertex references, followed by the edge and, lastly, face references</UL><P><P><P><DT>Remarks:<DD>   <BR>  The order of array NREF is the inverse order  of that of array NOP5.<P> NREF is completed systematically, even if the references are all zero.<P> Generally, and for all the <b> CLNO**</b> utilities, the arrays are declared by over-estimating their length.<P><DT>An example:<DD>     <BR><P><PRE>      SUBROUTINE REFNOP(M,XM,DM,NFNOPE,NINOPE,NREFE,INDIC,LINDIC)C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  .CC     ------    ADDRESSING   ------C     OVER-ESTIMATE THE NUMBER OF NODES (I.E. OF POINTS) BY 20 ...C      NDIM  = M(IANOP2)      NOE23 = NDIM * 20      CALL READRE(2,'XCOO',IACOO,NOE23,M,NRET)      NOE2  = 2 * 20      CALL READRE(1,'AUX ',IANOE,NOE2,M,NRET)      IAPOI = IANOE + 20      LREF  = 26      CALL READRE(1,'NREF',IAREF,LREF,M,NRET)C      LINDIC = 0      IANOP5 = M( ICNOPO + 17 )      IA     = IANOP5      DO 10 J=1,NE         CALL CLNOPO(M,M,IANOP2,IANOP4,IA,NCGE,NDSDE,NNO,M(IANOE),     +               NPO,M(IAPOI),XM(IACOO),M(IAREF))         LONG  = NTOT(NCGE)         ITEST = 0         DO 1 K=1,LONG            IF ( M(IAREF+K-1) .NE. 0 ) ITEST = 1    1    CONTINUE         IF ( ITEST .EQ. 0 ) GO TO 10         IDEB = LONG - NFAC(NCGE) + 1         IF ( NDIM .EQ. 2) IDEB = LONG - NARE(NCGE) + 1         DO 2 K=IDEB,LONG            IF ( M(IAREF+K-1) .NE. NREFE ) GO TO 2            LINDIC = LINDIC + 1            INDIC(LINDIC) = J            GO TO 3    2    CONTINUE    3    CONTINUE   10 CONTINUE .      END</PRE><P> </DL>  </DL><P><DL COMPACT><DT>COULE1:<DD>  I.D.S. NOPO <BR>     O.D.S NOPO<P><DL COMPACT><DT>Aim:<DD> Renumber the elements<A NAME=5499>&#160;</A> of a mesh to form disjoint sets of elements. The methodcorresponds to coloring the elements carefully so that 2  neighboring elements do not have thesame color<A NAME=5500>&#160;</A>.<P>The aim of this procedure is to allow for vector and/or parallel computing, for example at the elementmatrix calculation level.<P><DT>Calling the module:<DD>By keyword <b> COUL</b> of <b> APNOPO</b> (2D case) or <b> APNOP3</b> (3D case), or  a call via preprocessor <b> COULXX</b>, or a classical call:<P><P><P>Dimension array M (in the blank common), declare the integer array COURB of length NLC, call <b> INITI</b>  <BR><P> CALL COULE1 (M,M,NFNOPE,NINOPE,NFNOPS,NINOPS, <BR> .  LVECT,NOMCOU,COURB,NLC)<P>where<P><UL><LI> M: the super array<LI> NF(NI)NOPE: the support number of the I.D.S. NOPO and its level<LI> NF(NI)NOPS: the same for the O.D.S. NOPO<LI> LVECT: maximum number of elements per color<LI> NOMCOU: name of the associated array<LI> COURB: the reference numbers of the curved lines<LI> NLC: the number of curved lines</UL><P><P><P><DT>Remark:<DD> The associated array contains a pointer to the colors, indicating that elements  <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img118.gif"> to<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img119.gif"> have color 1, etc.<P> </DL>  </DL><P><DL COMPACT><DT>DEFNOP:<DD>  I.D.S. NOPO and B <BR>      O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Construct the<A NAME=5514>&#160;</A> deformation of a mesh (I.D.S. NOPO) by adding the displacement values (I.D.S. B) to the coordinates of the element vertices. It corresponds therefore to the postprocessing  ofa 2D or 3D elasticity problem<A NAME=5515>&#160;</A>. The result is a D.S. NOPO that can be visualized.<P>The method works for Lagrange  type elements or elements for which the first 2 (in 2D) or 3 (in 3D) d.o.f. correspond to the displacements.<P><DT>Calling the module:<DD>Via preprocessor <b> DEFNXX</b> or a classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P> CALL DEFNOP (M,M,M,NFNOPE,NINOPE,NFB,NIB,RAPORT,NO, <BR> .  NFNOPS,NINOPS,NFNDL1,NINDL1)<P>where<P><UL><LI> M: the super array<LI> NF(NI)NOPE: the support number of the I.D.S. NOPO and its level<LI> NF(NI)B: the support number of the I.D.S. B and its level<LI> RAPORT: the  displacement amplification factor<LI> NO: the number of the load case to process<LI> NF(NI)NOPS: the same as above for the O.D.S. NOPO <LI> NF(NI)NDL1: the support number of the I.D.S. NDLI and its level, D.S. necessary if  ND = 0, if not set NFNDL1 to 0.</UL>  </DL>  </DL><P><DL COMPACT><DT>DILNOP:<DD>  I.D.S. NOPO <BR>      O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Construct the<A NAME=5526>&#160;</A> deformation of a mesh (I.D.S. NOPO) by anisotropicdilation<A NAME=5527>&#160;</A>.<P>The method works for P1 Lagrange type elements.<P><DT>Calling the module:<DD>By keyword <b> DILA</b> of <b> APNOPO</b> (2D) or <b> APNOP3</b> (3D), or a classical call:.<P><P><P>Dimension array M (in the blank common), declare the integer arrays NNF and NNDSD of length 2 (if not utilized) or  2 LNNF and 2 LNDSD (see below),   call <b> INITI</b> <BR><P> CALL DILNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,A,B,C,X0, <BR> .  Y0,Z0,LNNF,NNF,LNDSD,NNDSD)<P>where<P><UL><LI> M: the super array<LI> NF(NI)NOPE: the support number of the I.D.S. NOPO and its level<LI> NF(NI)NOPS: the same for the O.D.S. NOPO<LI> A,B,C: the dilation factors in the  <b>OX,OY,OZ</b> directions<LI> X0,Y0,Z0: the coordinates of an invariant point<LI> LNNF: the number of references to modify<LI> NNF: the reference correspondence array: <BR> If <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img118.gif"> = NNF(1,j) and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img119.gif"> = NNF(2,j) then the items with number <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img118.gif"> (<b>j</b>-th number to modify)will have the number <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img119.gif">  in the O.D.S.<LI> LNDSD: the number of sub-domain numbers to modify<LI> NNF: the array indicating the correspondence between these numbers (same logic as above)</UL>  </DL>  </DL><P><DL COMPACT><DT>DTRI3D:<DD>  I.D.S. NOPO <BR>      O.D.S. NOPO <DL COMPACT><DT>Aim:<DD> Split the elements<A NAME=5540>&#160;</A> of a 3D mesh composed of tetrahedra, pentahedra and hexahedra into tetrahedra, without adding points<A NAME=5541>&#160;</A>.<P>The I.D.S. is a P1  Lagrange type data structure.<P><DT>Calling the module:<DD> Keyword <b> TETR</b> of <b> APNOP3</b> (3D), or a classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P>CALL DTRI3D (M,NFNOPE,NINOPE,NFNOPS,NINOPS,IOPT)<P>where<P><UL><LI> M: the super array<LI> NF(NI)NOPE: the support number of the I.D.S. NOPO and its level<LI> NF(NI)NOPS: the same for the O.D.S. NOPO<LI> IOPT: splitting option: 5 if the hexahedra are split preferentially into 5 tetrahedra, different from 5 ifnot</UL>  </DL>  </DL><P><DL COMPACT><DT>ELIMNO:<DD>  I.D.S. NOPO <BR>    O.D.S. NOPO <DL COMPACT><DT>Aim:<DD> Eliminate one or several elements<A NAME=5552>&#160;</A> from a <A NAME=5553>&#160;</A> NOPO type I.D.S.  and create the corresponding NOPO type O.D.S.<P><DT>Calling the module:<DD>Via  preprocessor <b> ELIMXX</b>, or a classical call:<P><P><P>Dimension array M (in the blank common), declare array LISTE and call <b> INITI</b> <BR><P> CALL ELIMNO (M,NFNOPE,NINOPE,NBRE,LISTE,NFNOPS, <BR> .  NINOPS,IAPOI)<P>where<P><UL><LI> M: the super array<LI> NF(NI)NOPE:  the support number of the I.D.S. NOPO and its level<LI> NBRE:  the number of elements to remove from the mesh<LI> LISTE: the array containing the list of its elements<LI> NF(NI)NOPS: the support number of the O.D.S. NOPO and its level<LI> IAPOI [O]: the address in M of the array containing the correspondence  between the old and new vertex numbers</UL>  </DL>  </DL><P><DL COMPACT><DT>GEONOP:<DD>  I.D.S. GEOM <BR>     O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Convert<A NAME=5564>&#160;</A> a <A NAME=5565>&#160;</A> GEOM type I.D.S. into a NOPO type O.D.S.<P><DT>Calling the module:<DD>Via preprocessor <b> GEONXX</b>, or a classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P>CALL GEONOP (M,NFGEOM,NIGEOM,NFNOPS,NINOPS)<P>where<P><UL><LI> M: the super array<LI> NF(NI)GEOM: the support number of the I.D.S. GEOM and its level<LI> NF(NI)NOPS: the same for the O.D.S. NOPO</UL>  </DL>  </DL><P><DL COMPACT><DT>GIBBS:<DD>  I.D.S. NOPO <BR>     O.D.S. NOPO<DL COMPACT><DT>Aim:<DD> Renumber <A NAME=5575>&#160;</A> the nodes, or the nodes and elements, of a mesh. The Gibbs method<A NAME=5576>&#160;</A> is employed.<P><DT>Calling the module:<DD>Keyword <b> RENC</b> of <b> APNOPO</b>  (2D case), or <b> APNOP3</b> (3D case) to  renumber the nodes ofa mesh, or keyword <b> RENE</b> to renumber the nodes and elements, or a call via preprocessor <b> GIBBXX</b>, orlastly a classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P> CALL GIBBS (M,NOCODE,NFNOPE,NINOPE,NFNOPS,NINOPS,<BR> .  NOMTAB,LONTAB,IANOUV)<P>where<P><UL><LI> M: the super array<LI> NOCODE: renumbering option: 0 only the nodes, 1 the nodes and elements <LI> NF(NI)NOPE: the support number of the I.D.S. NOPO and its level<LI> NF(NI)NOPS: the same for the O.D.S. NOPO<LI> NOMTAB [O]: name of the correspondence array (see the remark below)<LI> LONTAB [O]: its length<LI> IANOUV [O]: its address in M</UL><P><DT>Remarks:<DD>   <BR> See also module <b> AKHHAT</b>.<P>The array called NOMTAB, of length LONTAB and address IANOUV, is used to determine the correspondence between the new and old node numbers:    <DIV ALIGN=center>M(IANOUV+I-1) = new number of old node I</DIV><P><DT>An example:<DD> example n

⌨️ 快捷键说明

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