📄 node41.html
字号:
<P> This menu is analogous to that of <b> TRACXX</b> which enables the user to definethe axis of the cut (it corresponds therefore to plotting a curve, which is explained in detailin <b> TRACXX</b>).<P><P><P>Once the plot of the cut has been obtained, the following <i> graphics</i> menu appears:<P><UL><LI> End of cuts (0) and return to the module's main menu,<LI> Continue (1), re-plot the mesh,<LI> Refresh (4) the screen,<LI> Exit (5) from session,<LI> Produce a softcopy (8) or hardcopy (9) of the cut on another graphics terminal; having done this,the user is returned to the initial state (of this <i> graphics</i> menu).</UL><P><DL COMPACT><DT>Example:<DD> Figure <A HREF="#figtrmaco4">3.6</A> is nothing other that cut through the displacements in the x-direction of test 2. The cut line is vertical and passes throughthe center of the circles (consult the geometry of the figures shown earlier)which explains the presence of two holes in the cut.<P>The plot was obtained by typing the following sequence:<P><UL><LI> figure <A HREF="#figtrmaco4">3.6</A> : -1 t2mail t2coor 10 4 t2b 0 7 7 OUI 61 'cut line''displacement in X, VN' 0 8 2 bw ncadre nlogo x12 y12 ftrmaco4 v</UL> </DL><P><P><A NAME=2259> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img81.gif"><BR><STRONG>Figure 3.6:</STRONG> <i> Example <b> TRMCXX</b> 2D: cut</i><A NAME=2257iExample2253bTRMCXXb22532Dcuti2257> </A><BR><P><P><DT>Flux:<DD> <P>This option enables the user to visualize the flux for mixed finite elements only. The fluxis represented by arrows, as in the case of velocities, and we can consequentlyconsult the operating instructions corresponding to plotting velocities.The only difference is that of key 56 in the main menu.<P><PRE> ------------------------------------------------------------ | 56 | VISUALISATION OF FLUX | EVERYWHERE ------------------------------------------------------------</PRE><P>This choice (by default) can be modified by activating key 56:<P><PRE> ON ALL THE REFERENCES : 0 EVERYWHERE : 1 ON SOME REFERENCES : 2</PRE><P>Case 2 consists of specifying only those reference numbers which we desire.<P> </DL><P><P><P><H2><A NAME=SECTION04424000000000000000>3.2.4 P1 interpolation of solutions</A></H2><P><P><P>When plotting the isovalues of a solution it is necessary to define exactly what we want to plot.The finite elements used (described in D.S. <b> MAIL</b>) can be more, or less, rich(as a function of the degree of interpolation chosen).<P>The plot program is purely P1 and applies to the case of a triangular type element.Using the solution values atthe three vertices of the triangle, the isovalues present in the triangle are calculated.<P>Consequently, each finite element must be decomposed into the most judicious set oftriangles such that the quality of the interpolation is preserved:it does not correspond to making beautiful plots but plots conforming to knowninformation. The decomposition must thus satisfy this concern.It corresponds thus to interpreting each element in terms of P1 triangles.<P><P><P>The choices made for the usual element are given below:<P><UL><LI> a P1 triangle (TRIA 2P1D, TRIA AP1D) is considered as such,<LI> a P2 triangle (TRIA 2P2D or TRIA 2P2C and TRIA AP2C) is decomposed into 4 P1 sub-triangles,<LI> a Q1 quadrilateral (QUAD 2Q1D, QUAD AQ1C)is decomposed into 4 P1 sub-triangles by creating itsbarycentre,<LI> a Q2 quadrilateral (QUAD 2Q2D or QUAD 2Q2C and QUAD AQ2C) is decomposed into 16 P1 sub-triangles inthe following manner:<UL><LI> we decompose the initial quadrilateral into 4 sud-quadrilaterals by creating its barycentre, and thendecompose all these elements into 4 P1 sub-triangles.</UL><LI> etc.</UL><P>Only certain elements are actually known and thus considered by the plot module.If an element is not known, the module will stop and indicate that it does not know this type of element. The user must then add it by decomposing itin a consistent manner with the corresponding interpolation.<P>The decomposition is the object of subroutine RANGPQ in library UTIL. This subroutine has the following form:<P><PRE> SUBROUTINE RANGPQ(NOM1,NOM2,NCGE,NNO,NONO,NPO,NOPOI,COORP, + SOLU,XX,YY,SOL,NTRIP1)C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C AIM : DECOMPOSE THE ELEMENT INTO P1 TRIANGLES ONLYC ---C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C INPUT PARAMETERS :C ------------------C NOM1, NOM2 : ELEMENT NAMESC NCGE,NNO,NONO(*),NPO,NOPOI(*) : USUAL NOTATIONC COORP : POINT COORDINATESC SOLU : SOLUTION ARRAY = B4(NDSMT,NDT,1:NOE)C WITH NDSMT : RIGHT-HAND-SIDE CONSIDERED ( BETWEEN 1 AND NDSM )C NDT : THE D.O.F. CONSIDERED ( BETWEEN 1 AND ND )C B4 : ARRAY B4 CONSIDEREDC REMARK : SUBROUTINE CHARB4 CREATES SOLU FROM THE GLOBAL B4C OUTPUT PARAMETERS :C -------------------C XX(*),YY(*) : COORDINATES OF POINTS P1C SOL : CORRESPONDING SOLUTIONSC NTRIP1 : NUMBER OF P1 ELEMENTS IN THE DECOMPOSITION OF THE ELEMENTC +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++CC SUBROUTINE TO BE COMPLETED FOR ALL NEW ELEMENTS INTERPRETED INTO P1.CC +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C PROGRAMMEUR : PL GEORGE INRIA 1987C .................................................................... DIMENSION NONO(*),NOPOI(*),COORP(2,*),SOLU(*),XX(*),YY(*), + SOL(*),SOLP1(3),SOLP2(6),SOLQ1(4),SOLQ2(9),INDIC(4), + SOLQ5(5) CHARACTER*4 NOM1,NOM2 200 FORMAT(' %% ERREUR RANGPQ : ELEMENT ',A4,A4,' NON CONNU'/// + ' VOIR LE SP RANGPQ ET AJOUTER CET ELEMENT'///)C IMPRIM = IINFO('I')C -------------------------------------------------------C ------------ THE TRIANGLES ------------C ------------------------------------------------------- IF ( NOM1 .EQ. 'TRIA' ) THENC ------------- TRIANGLE : NOM COMMENCANT PAR TRIA IF( NOM2 .EQ. '2P1D' ) THENC ------ TRIA 2P1D ------ NTRIP1 = 1 NUMER = 0 DO 301 J=1,NNO SOLP1(J) = SOLU(NONO(J)) INDIC(J) = J 301 CONTINUE CALL RANGP1(NUMER,COORP,INDIC,SOLP1,XX,YY,SOL) ELSE IF( NOM2 .EQ. 'AP1D' ) THENC ------ TRIA AP1D ------ NTRIP1 = 1 NUMER = 0 DO 339 J=1,NNO SOLP1(J) = SOLU(NONO(J)) INDIC(J) = J 339 CONTINUE CALL RANGP1(NUMER,COORP,INDIC,SOLP1,XX,YY,SOL) ELSE ..... ..... ..... elements unknown ELSE WRITE (IMPRIM,200) NOM1,NOM2 CALL TILT elements unknown END IFC -------------------------------------------------------C ------------ THE QUADRILATERALS ------------C ------------------------------------------------------- ELSE IF ( NOM1 .EQ. 'QUAD' ) THEN IF ( NOM2 .EQ. '2Q1D' ) THENC ------ QUAD 2Q1D ------ NTRIP1 = 4 DO 406 J=1,NNO SOLQ1(J) = SOLU(NONO(J)) INDIC(J) = J 406 CONTINUE NUMER = 0 CALL RANGQ1(NUMER,COORP,INDIC,SOLQ1,XX,YY,SOL) ELSE ..... ..... ..... elements unknown ELSE WRITE (IMPRIM,200) NOM1,NOM2 CALL TILT END IF elements unknown ELSE WRITE (IMPRIM,200) NOM1,NOM2 CALL TILT elements unknown END IF END</PRE><P>Subroutine RANGPQ uses a certain number of element subroutines(RANGP1, RANGP2, RANGQ1, RANGQ2 ...). To add a finite element corresponds to adding theappropriate branch and using the appropriate element subroutine or writinga new one (each one very simple). To govern the computation, we have at our disposal, NOM1 and NOM2, the two parts of theelement name, its geometric code, its number of points and nodes and thearrays containing its points and nodes (it seems that with this information we are ableto recognize all the elements without ambiguity).<P><DL COMPACT><DT>Remark:<DD> The label used for an element recalls its geometry and number.For example, a 2P1D triangle has a geometric code NCGE = 3 and number 1 (100001 or 200001). The label of thiselement is thus set to 301.<P> </DL><P>Decomposition example using the subroutine names:<P><TABLE COLS=3><COL ALIGN=RIGHT><COL ALIGN=CENTER><COL ALIGN=JUSTIFY WIDTH="6cm"><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> RANGPQ </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP></TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> if </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> TRIA 2P1D : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> RANGP1 1 P1 <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> 1 P1 </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> TRIA AP1D : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> the same </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> if </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> TRIA 2P2D : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> RANGP2 1 P2 <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> 4 P1 </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - calculate the middle coordinates </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - and store RANGP1 the solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> if </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> TRIA 2P2C : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> RANGP2 1 P <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif">2 4 P1 </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - store RANGP1 the solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> TRIA AP2C : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> the same </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> if </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> QUAD 2Q1D : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> RANGQ1 1 Q1 <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> 4 P1 </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - calculate the barycentre and the solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - and store RANGP1 this solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> QUAD AQ1C : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> the same </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> if </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> QUAD 2Q2D : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> RANGQ2 1 Q2 <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> 16 P1 </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - calculate the middle coordinates </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - calculate the barycentre and the solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> and store RANGQ1 (RANGP1) this solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> if </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> QUAD 2Q2C : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> RANGQ2 1 Q2 <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> 16 P1 </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - calculate the barycentre and the solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> - and store RANGQ1 (RANGP1) this solution </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> QUAD AQ2C : </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"> the same </TD></TR><TR><TD VALIGN=BASELINE ALIGN=RIGHT NOWRAP> </TD><TD VALIGN=BASELINE ALIGN=CENTER NOWRAP> ...... etc </TD><TD VALIGN=BASELINE ALIGN=LEFT WIDTH="170"></TD></TR></TABLE><P><P><P><HR SIZE=3 WIDTH="75%"><IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM ALT="Modulef"><A NAME=tex2html963 HREF="node40.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif" ALT="previous"></A><A NAME=tex2html969 HREF="node39.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif" ALT="up"></A><A NAME=tex2html971 HREF="node42.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif" ALT="next"></A><A NAME=tex2html973 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif" ALT="contents"></A><A HREF="../Guide6-18/node41.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM ALT="[BIG]"></A><A HREF="../Guide6-14/node41.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM ALT="[Normal]"></A><A HREF="../Guide6-10/node41.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html972 HREF="node42.html">3.3 Two-dimensional stresses TRSTXX</A><B>Up: </B> <A NAME=tex2html970 HREF="node39.html">3 Visualization of solutions</A><B> Prev: </B> <A NAME=tex2html964 HREF="node40.html">4.1 Introduction</A><B><A HREF="node2.html" >Contents</A></B><BR> <HR><P><ADDRESS></ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -