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

📄 node67.html

📁 htmdoc for html coding
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2 Final//FR"><!-- Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) --><!-- by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds --><!-- Modified Simulog 03/97 --><HTML><HEAD><TITLE>4.3 Mesh modification modules</TITLE><LINK REL=STYLESHEET TYPE="text/css"	HREF="./Modulef.css" TITLE="Modulef CSS"><meta name="description" value="4.3 Mesh modification modules"><meta name="keywords" value="Guide3"><meta name="resource-type" value="document"><meta name="distribution" value="global"></HEAD><BODY BGCOLOR="#FFFFFF"><P> <IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM	ALT="Modulef"><A NAME=tex2html1676 HREF="node66.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif"	ALT="previous"></A><A NAME=tex2html1680 HREF="node64.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif"	ALT="up"></A><A NAME=tex2html1682 HREF="node68.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif"	ALT="next"></A><A NAME=tex2html1684 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif"	ALT="contents"></A><A NAME=tex2html1685 HREF="node28.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/index_motif.gif"	ALT="index"></A><A HREF="../Guide3-18/node67.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM	ALT="[BIG]"></A><A HREF="../Guide3-14/node67.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM	ALT="[Normal]"></A><A HREF="../Guide3-10/node67.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM	ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html1683 HREF="node68.html">5 Tutorial examples</A><B>Up: </B> <A NAME=tex2html1681 HREF="node64.html">4 List of the modules</A><B> Prev: </B> <A NAME=tex2html1677 HREF="node66.html">4.2 Mesh generation modules</A><B><A HREF="node28.html"	>Index</A></B><B><A HREF="node2.html"	>Contents</A></B><HR SIZE=3 WIDTH="75&#37;"><H1><A NAME=SECTION00730000000000000000>4.3 Mesh modification modules</A></H1><P>An alphabetic list  of the mesh modification modules is given below (we start with the utility module <b> INITI</b>):<P><DL COMPACT><DT>INITI:<DD>    <BR><P><DL COMPACT><DT>Aim:<DD> Initializes the variables used by all modules in the MODULEF library, in particularinitialization of dynamic storage. Calling this utility is thus indispensable in all themain programs written by the user.<DT>Calling the utility:<DD>   <BR><P>CALL INITI (M,LM,IMPRE,NNN)<P>where<P><UL><LI> M: the super array<LI> LM: the array length in number of words <LI> IMPRE: the output parameter for execution (0 no output, ...., 10 maximum output)<LI> NNN: the print parameter for arrays (0 no output, ... 3 maximum output), i.e., eachoperation concerning the dynamic storage of an array in the super array M is indicated.</UL><P><P><P><DT>Data:<DD>   This subroutine reads a TITLE in free format.<DT>Remark:<DD> The subroutine <b> INITIS</b> has the same arguments as <b> INITI</b> and fulfills the same role,but does not require a title.<P> </DL>  </DL><P><DL COMPACT><DT>ADPNOP:<DD>  I.D.S. NOPO <BR>     O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Defines the element nodes when they differ from the element vertices. This module is used toadd nodes on the edges, faces, or to the element interiors. It furthermore determines whether the vertices coincide with the nodes.<P>From a  P1 (nodes = vertices) type   starting mesh<A NAME=5395>&#160;</A>, the module generates the nodes and assigns a number to each one (the exact positions of the nodes are calculated by the interpolation module). This operation is performed in order to allow for an optimal numbering of the nodes.<P>For compatibility reasons, the number of nodes in a triangle, or on a triangular face, must equal 1 or a multiple of3. Similarly, inside a quadrilateral, or on a quadrilateral face, the number of nodes must be 1 or a multiple of 4.<P><DT>Calling the module:<DD> By keyword <b> ADPO</b> of <b> APNOPO</b> (2D case) or <BR>[4]<b> APNOP3</b> (3D case), or  by a classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P>  CALL ADPNOP (M,ISEG,ISET,ISEQ,ISETE,ISEPE,ISEHE,NOESOM,<BR> .  NFNOPE,NINOPE,NFNOPS,NINOPS)<P>where<P><UL><LI> M: the super array<LI> ISEG:  the number of nodes on the edges (end-nodes excluded)<LI> ISET: the number of internal nodes in each triangle, or triangular face<LI> ISEQ: the number of internal nodes in each quadrilateral, or quadrilateral face<LI> ISETE: the number of internal nodes in each tetrahedron<LI> ISEPE: the number of internal nodes in each pentahedron<LI> ISEHE: the number of internal nodes in each hexahedron<LI> NOESOM:  1 if the vertices and nodes coincide, 0 if not<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</UL>  </DL>  </DL><P><DL COMPACT><DT>AFFNOP:<DD>  I.D.S. NOPO <BR>       O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Refine a P1 type  mesh<A NAME=5408>&#160;</A> around vertices specified.  This module can perform several successive refinements<A NAME=5409>&#160;</A> around the same vertex, by repeating it as many times as desiredin the list of vertices serving as input data.<P>The method is only suitable for the two-dimensional case.<P><P><A NAME=5948>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img190.gif"><BR><STRONG>Figure 4.4:</STRONG> <i> Refinement around vertices</i><A NAME=5944iRefinementaroundverticesi5944>&#160;</A><BR><P><P>Many situations are possible depending on the type of element, for which at least one point is given in the list of points to treat, and  the position of the vertices under consideration (see figure <A HREF="#figaff">4.4</A>). <DT>Calling the module:<DD> By keyword <b> AFFL</b> of <b> APNOPO</b> (2D case), or by a classical call:<P><P><P>Dimension array M (in the blank common) and arrays NSAT and <BR> NNFRON, declare the logical FONINT, declare the external <b> FFRONT</b>, call <b> INITI</b> <BR><P> CALL AFFNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,NQUAD, <BR> .  LSAT,NSAT,NBFRON,NNFRON,FONINT,FFRONT)<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> NQUAD:  1 if the creation of quadrilateral are authorized when treating a triangle, 1 if not<LI> LSAT: the number of vertices to consider (counted as many times as required)<LI> NSAT(.): an integer array (dimension LSAT) containing the numbers of the vertices to consider (appearingas many times as necessary)<LI> NBFRON: the number of curved boundaries<LI> NNFRON(.): an integer array (dimension NBFRON) containing  the reference numbers of these boundaries<LI> FONINT: a logical initialized to .FALSE.<LI> FFRONT: the name of the function for possible projections on the curved boundaries</UL><P><P><P><DT>Remark:<DD>Function <b> FFRONT</b> is defined in chapter <A HREF="node4.html#chap1">1</A>.<P> </DL>  </DL><P> affini.psfig:aff2Initial meshaffout.psfig:aff21After refinement<P><DL COMPACT><DT>AIGUNO:<DD>  I.D.S. NOPO <BR>       O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Remove the obtuse angles<A NAME=5435>&#160;</A> from a two-dimensional mesh<A NAME=5436>&#160;</A> composedof triangles.                                                  <DT>Calling the module:<DD> Keyword <b> AIGU</b> of <b> APNOPO</b>, or a classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P> CALL AIGUNO (M,NOPTION,NITER,NFNOPE,NINOPE, <BR> .  NFNOPS,NINOPS)<P>where<P><UL><LI> M: the super array<LI> NOPTION: processing option:<UL><LI> 1: execute the module<LI> 0: the module is not executed; the triangles with obtuse angles are marked by setting thesub-domain number to  the value -10 (for visualization purposes)</UL>                   <LI> NITER: the number of iterations to perform (2,3,...)<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</UL><P><P><P><DT>Remark:<DD> The following information is stored in an associated integer array, called IFRO, of length NP+1, where NP is thenumber of vertices in the mesh: <UL><LI> IFRO(1) = MAX, where MAX is the maximum number of neighbors of a vertex<LI> IFRO(I+1) = 0 if vertex I is internal, <b>k</b> if not, where <b>k</b> is the number of the boundary on which vertexI is found.</UL>  </DL>  </DL><P><DL COMPACT><DT>AKHHAT:<DD>  I.D.S. NOPO <BR>      O.D.S. NOPO<P><DL COMPACT><DT>Aim:<DD> Renumber<A NAME=5452>&#160;</A> the nodes, or nodes and elements, of a mesh. The Akhras and Gouri Dhattmethod<A NAME=5453>&#160;</A> is used.<DT>Calling the module:<DD>  Classical call:<P><P><P>Dimension array M (in the blank common), call <b> INITI</b> <BR><P> CALL AKHHAT (M,NOCODE,NITER,NFNOPE,NINOPE,NFNOPS, <BR> .  NINOPS)<P>where<P><UL><LI> M: the super array<LI> NOCODE: renumbering option: 0 only the nodes, 1 the nodes and elements<LI> NITER: the number of iterations to perform (1 or 2 are generally enough)<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</UL><P><P><P><DT>Remark:<DD>See also module <b> GIBBS</b>.<P> </DL>  </DL><P><DL COMPACT><DT>CLNO** :<DD>     <BR><P><DL COMPACT><DT>Aim:<DD> The utilities <b> CLNO5C</b><A NAME=5465>&#160;</A>, <b> CLNOIA</b><A NAME=5467>&#160;</A>, <b> CLNOIN</b><A NAME=5469>&#160;</A> and <b> CLNOPO</b><A NAME=5471>&#160;</A> are used to read array NOP5 of a D.S. NOPO and extract certain information from it without getting tangled up with the management of the element addresses contained in this array.<P><P><P><DT>CLNO5C:<DD>This utility is used to obtain NCGE, NDSDE, NNO and NONO(.), the number and list of nodes of the elementunder consideration, NPO and NOPOI(.), the number and list of its points as well as their coordinates by passing the input parameters: NDIM, NCOPNP, array NOP5, the address IA of an element, and array  NOP4.<P><P><P>Dimension the arrays  NONO, NOPOI, COORP and call <b> CLNO5C</b> as follows: <BR><P> CALL CLNO5C (NDIM,NCOPNP,NOP5,IA,NCGE,NDSDE,NNO, <BR> .  NONO,NPO,NOPOI,NOP4,COORP)<P>where<P><UL><LI> NDIM: the space dimension<LI> NCOPNP: the coincidence code nodes-points<LI> NOP5: array NOP5 of the D.S. to read<LI> IA [I]: the address of the element under consideration<LI> NOP4: array NOP4 (the coordinates) 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  above points (<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img191.gif">)</UL><P><P><P><DT>CLNOIA:<DD>This utility is used to obtain  NCGE, NPO and NOPOI(.), the number and list of points of the element, as well as  IAS, IAR, IAF, the addresses in NOP5 of the point, edge and face references of this element, by passingthe input parameters: NCOPNP, array NOP5 and the address IA of an element.<P><P><P>Dimension array NOPOI and call <b> CLNOIA</b> as follows:  <BR><P>CALL CLNOIA (NCOPNP,NOP5,IA,NCGE,IAS,IAR,IAF,NPO,NOPOI)<P>where<P><UL><LI> NCOPNP: the coincidence code nodes-points<LI> NOP5: array NOP5 of the D.S. to read<LI> IA [I]: the address of the element under consideration<LI> IA [O]: the address of the next element<LI> NCGE [O]: the geometric code of the element<LI> IAS [O]: the address in NOP5 of the reference of the first point of the element, if no point is referenced, IAS = 0<LI> IAR [O]: the address in NOP5 of the reference of the first edge of the element, if no edge is referenced, IAR = 0<LI> IAF [O]: the same for the element faces, if no face is referenced, <BR> IAF = 0<LI> NPO and NOPOI(.) [O]: the number and list of points</UL><P><P><P><DT>CLNOIN:<DD><P>Similar to <b> CLNOIA</b>, this utility is used to obtain  NNO and NONO(.), the number and list of the nodesof the element.<P><P><P>Dimension array NONO and call <b> CLNOIN</b> as follows:   <BR><P> CALL CLNOIN (NCOPNP,NOP5,IA,NCGE,IAS,IAR,IAF,NPO,NNO, <BR> .  NONO)<P>where<P><UL><LI> NCOPNP: the coincidence code nodes-points<LI> NOP5: array NOP5 of the D.S. to read<LI> IA [I]: the address of the element under consideration<LI> IA [O]: the address of the next element<LI> NCGE [O]: the geometric code of the element<LI> IAS [O]: the address in NOP5 of the reference of the first point of the element, if no point is referenced, IAS = 0<LI> IAR [O]: the address in NOP5 of the reference of the first edge of the element, if no edge is referenced, IAR = 0<LI> IAF [O]: the same for the element faces, if no face is referenced, <BR> IAF = 0

⌨️ 快捷键说明

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