📄 node15.html
字号:
<DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img82.gif"></DIV><P>Let us consider the decomposition of <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> and <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img83.gif">, such that<P><A NAME=eq9> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img84.gif"><P>where <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img85.gif"> is a <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img86.gif"> matrix.<P>With this decomposition, and by using the properties of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img53.gif"> in subspace <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img21.gif">into account, equation (<A HREF="node15.html#eq8">1.10</A>) is equivalent to:<P><P><A NAME=eq10> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img87.gif"><P><P>Thus, in order to calculate <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif">, it is necessary to solve (<A HREF="node15.html#eq10">1.12</A>), or equivalently:<P><P><A NAME=eq11> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img88.gif"><P><P>where <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img89.gif"> is a <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img90.gif">-dimensional array, whose components are the first <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img91.gif"> components of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif">.<P><P><P><b> Remarks:</b> <OL><LI> From a mathematical point of view, the relation (<A HREF="node15.html#eq10">1.12</A>) implies (<A HREF="node15.html#eq11">1.13</A>), therefore, to obtain <b>u</b>, it is possible to solve (<A HREF="node15.html#eq10">1.12</A>) or (<A HREF="node15.html#eq11">1.13</A>). However, from a practical (computer) point of view, it is preferable to solve (<A HREF="node15.html#eq10">1.12</A>) rather than (<A HREF="node15.html#eq11">1.13</A>), as (<A HREF="node15.html#eq11">1.13</A>) requires a second enumeration of the degrees of freedom, or otherwise the imposed boundary conditions will not be taken into account.<LI> The direct computation of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img92.gif"> (equation (<A HREF="node15.html#eq10">1.12</A>)), by assembling the elements<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img93.gif">, necessitates a distinction between the elements <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img93.gif"> for <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img94.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img95.gif">, so that the condition <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img96.gif"> is taken intoaccount. <BR><P>It is therefore simpler to first calculate <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img97.gif"> and then compute <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img92.gif"> . This operation is called "imposing the boundary conditions".</OL><P><P><P>The above analysis enables us to extract the different mathematical operators, so that the problem can bedecomposed into the following steps: <OL><LI> mesh of the domain, <A NAME=item1> </A><LI> choice of finite elements, <A NAME=item2> </A><LI> physical data and calculation of the element matrices and arrays,<LI> solution of the linear problem, and<LI> display of the results. </OL><P><b> Remark:</b> Step <A HREF="node15.html#item1">1</A>) and <A HREF="node15.html#item2">2</A>) result from the chosen variational formulation.<P><P><P>Each step can be decomposed into sub-steps. The decomposition of each step, as well as the choice of moduleswhich compute the mathematical operators, are briefly discussed in the remainder of this section. <BR><P><P><P><H3><A NAME=SECTION04112400000000000000> MODULEF terminology</A></H3><P><P><P>Let us first define the following terminology:<DL COMPACT><DT>Variational unknown:<DD> unknown of the continuous problem;<DT>Degree of freedom (d.o.f.):<DD> unknown of a discrete system (here a linear system);<DT>Mnemonic:<DD> associated with a d.o.f. in order to define it clearly, for example: <b> VN</b> is the value at a node, <b> DX</b> is the derivative with respect to <b>x</b>, etc. The complete list is given in array <b> MAI8</b> of the data structure (D.S.) <b> MAIL</b> (consult [<A HREF="node65.html#guide_2"><A NAME=tex2html35 HREF="../Guide2/welcome.html">MODULEF User Guide - 2</A></A>] for a description of data structures); <DT>Node:<DD> support for the degrees of freedom;<DT>Point:<DD> defines the geometry of the element; <DT>Vertex:<DD> usual geometric sense; <DT>Sub-domain number:<DD> number associated with each material, permitting the distinction of the sub-domains with different characteristics or different treatments of the same material;<DT>Reference number:<DD> similar notion to that of the sub-domains but this time applied to the boundaries(surfaces in <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img98.gif">, lines and points in <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img12.gif"> or <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img98.gif">). These numbers allows for the treatment "by block" of the boundary conditions, the loads, or to define the curved lines (or surfaces).<OL><LI> <b> Reference numbers:</b> <BR><P>In the figure <A HREF="node15.html#figint1">1.1</A>, the body is clamped at boundary <b>AF</b>, and pulled along boundary <b>CD</b>. It is composed of two materials, with a circular hole and a half-circle.<P>In this configuration there are two sub-domains:<P><OL><LI> the copper domain <b>ABEF</b>, and<LI> the iron domain <b>BCDE</b>,</OL><P>and at least four reference numbers:<OL><LI> to define the circles which form the boundary of the hole and half-circle, and the line which partitions the domain into two sub-domains,<LI> to define the fixed portion of the boundary, and<LI> to define the edge <b>DC</b> where the load is applied.</OL><P><b> Remark:</b> Lines <b>AC</b> and <b>FD</b> do not have reference numbers assigned as no particular conditions applies there. <BR><P><P><A NAME=1054> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img99.gif"><BR><STRONG>Figure 1.1:</STRONG> <i> Clamped body with applied load</i><A NAME=figint1> </A><BR><P><P><LI> <b> Nodes and points:</b> <BR><P>Consider the two elements illustrated in figure <A HREF="node15.html#figint2">1.2</A>: a straight P2 triangle and a curved P2 triangle.A straight element is an element whose points are the vertices. A curved element is an element whose points arethe vertices plus some other characteristics. In the case of a P2 triangle, the straight elementis defined by 3, and the curved element by 6 points, both having 6 nodes.<P><P><A NAME=1063> </A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img100.gif"><BR><STRONG>Figure 1.2:</STRONG> <i> P2 triangular elements</i><A NAME=figint2> </A><BR><P></OL> </DL><P><P><P><H2><A NAME=SECTION04113000000000000000>1.1.3 Relation between the mathematical and computer operators</A></H2> <A NAME=secint_op> </A><P><P><P>So far we have defined various mathematical operators to solve a typical problem. With each of these mathematical operators we will now associate a computer module, to solve the problemnumerically. The data structures (D.S.) provides the interfaces between themodules. In this section we will mention the modules and data structures associated with each step.<P><DL COMPACT><P><P><DT>Step 1:<DD> <b> Mesh of the domain</b> <BR><P>This step is the simplest with respect to the mathematical operator. The discretization must respectthe general rules of the finite element mesh. Let <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img101.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img102.gif"> be elements of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img25.gif"> then:<P><UL><LI><TABLE COLS=2><COL ALIGN=LEFT><COL ALIGN=LEFT><TR><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img103.gif"></TD><TD VALIGN=BASELINE ALIGN=LEFT NOWRAP><P><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img104.gif"><P></TD></TR></TABLE><P><LI> The angles must not be too small.<P></UL><P>The corresponding implementation is not trivial (see for example [<A HREF="node65.html#mod_plg">George-1986</A>]) and, even if all the necessary operators are presentin the library, it proves labour costly. A well adapted mesh is an essential condition for good results.<P>The mesh generation technique adopted in MODULEF has a "tree" (top-down, bottom-up) structure, where the domain is partitioned into geometrically simple sub-domains. These sub-domains are then manipulated by simple operators (symmetry, rotation,translation, etc.) and then glued together to obtain the final mesh. This procedure is implemented by the module<b> APNOPO</b> for a two-dimensional domain. The mesh generation technique, as well as the different modules available, are described in detail in [<A HREF="node65.html#mod_104"><A NAME=tex2html37 HREF="../Guide3/welcome.html">MODULEF User Guide - 3</A></A>].<P>The resulting mesh is stored in the D.S. <b> NOPO</b>. This D.S. contains the mesh description: the elements, the nodes (with or without vertices), as well as the coordinates at the vertices, that have been generated.<P>At this stage the nodes have been numbered. However, the interpolation has not been introduced, which will be discussed in the next step.<P><b> Example:</b><P><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img105.gif"> \<IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img106.gif"><P><P><P>A plot of the mesh is generated by module <b> TRNOPO</b> <BR>[4][<A HREF="node65.html#mod_96"><A NAME=tex2html41 HREF="../Guide6/welcome.html">MODULEF User Guide - 6</A></A>], which will be discussed in the next section.<P><P><P><DT>Step 2:<DD><b> Choice of finite element</b> <BR><P>In this step the interpolation of functions are taken into account. This procedure is implemented by module<b> COMACO</b> [<A HREF="node65.html#mod_13">13</A>]. Two cases may occur: <OL><LI> The chosen finite element exists in one of the following libraries: <DL COMPACT><DT>THER<DD> Thermal elements [<A HREF="node65.html#mod_100">100</A>] <DT>ELAS<DD> Linear elastic elements [<A HREF="node65.html#mod_101">101</A>] <DT>ELNL<DD> Nonlinear elements [<A HREF="node65.html#mod_97">97</A>]<P> </DL> <LI> The chosen element does not exist, in which case <UL><LI> it can either be incorporated in one of the following libraries: <b> THER</b>, <b> ELAS</b>, <b> ELNL</b>, <b> FLUI</b>, or <b> PERS </b> [<A HREF="node65.html#mod_95">95</A>] (this operation is described in [<A HREF="node65.html#mod_95">95</A>]), after which we return to the first case, or <LI> it can be directly described in <b> COMACO</b> using data cards. </UL></OL><P>The results of this step are found in two data structures: <b> MAIL</b> and <b> COOR</b>. The D.S. <b> MAIL</b> contains the description of the mesh (nodes, points, etc.) and of the interpolation (number and name ofthe variational unknowns, mnemonics, etc.). The D.S. <b> COOR</b> contains the coordinates of the points(vertices or not).<P><b> Note:</b> The D.S. <b> COOR</b> does not contain the coordinates of the nodes on exit from <b> COMACO</b>. Consider again the examples of the elements "straight P2 triangle" and "curved P2 triangle": In the first example the D.S. <b> COOR</b> contains the coordinates of the vertices. In the second example, the D.S. <b> COOR</b> contains the coordinates of the vertices and those of the mid-side points.<P><P><P><DT>Step 3:<DD><b> Entering of physical data, and creation of element matrices and arrays</b> <BR><P>The purpose of this step is to construct the element matrices and arrays, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img75.gif">, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img76.gif">, and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img107.gif">. This calculation requires the knowledge of the physical data which describes the materials, loads, temperatures, etc.In the present example, this corresponds to <b> f</b> and <b> a</b> which appear on the right- and left-hand-sideof the equation. All physical data must be known at the time of activation of the module calculating the element matrices and arrays.<P>There are two possibilities: <OL><LI> For the general case (data not constant), the data is provided by a subroutine or array. The module <b> COFORC</b> [<A HREF="node65.html#mod_14">14</A>] constructs the D.S. <b> FORC</b>, which indicates how the necessary data will be provided in order to calculate the element force vectors. Module <b> COMILI</b> [<A HREF="node65.html#mod_14">14</A>] constructs the D.S. <b> MILI</b>, which indicates how the necessary information (physical properties) will be provided in order to be able to calculate the element matrices. The element matrices and arrays are constructed by module <b> THENEW</b> [<A HREF="node65.html#mod_14">14</A>]. <LI> When the material characteristics, loads or heat sources are constant by sub-domain or by boundary section characterized by reference number, module <b> THERCT</b> [<A HREF="node65.html#mod_14">14</A>] is used for the thermal case and <b> ELASCT</b> [<A HREF="node65.html#mod_14">14</A>] in elasticity, instead of <b> COFORC</b>, <b> COMILI</b>, and <b> THENEW</b>. </OL><P>In all the cases, it is possible to provide these characteristics by sub-domain and/or reference number, whichminimizes the amount of data. The results of this step are found in the D.S. <b> TAE</b>, containing the element matrices and arrays corresponding to all the elements in the mesh.<P><b> Remarks:</b> <OL><LI> This step changes according to the nature of the problem. The modules <b> THENEW</b>, <b> THERCT</b> and<b> ELASCT</b> performs this step for the cases of thermal and linear elasticity problems. These modules can be adapted for the solution of other problems.<P>Other modules implement this step for some specific problems (ex: <BR>[2] <b> COTAE</b> in nonlinear elasticity with large deformations [<A HREF="node65.html#mod_97">97</A>]; <b> BIHAP1</b>, <BR>[4] <b> BIHAP2</b> for the biharmonic problem [<A HREF="node65.html#mod_93">93</A>], etc.). <LI> In order to treat a new problem, it is often sufficient to construct the D.S. <b> TAE</b> from the D.S.<b> MAIL</b> and D.S. <b> COOR</b>, and from the material characteristics. </OL><P><P><P><DT>Step 4:<DD><b> Solution of the linear problem </b><BR><P>This step can be decomposed into several sub-steps. The sub-steps vary according to the desired method of solution, however the basic principles remain the same. The MODULEF library contains a large number of solution methods for
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -