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

📄 node15.html

📁 htmdoc for html coding
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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>1.1 Solving a concrete problem using MODULEF</TITLE><LINK REL=STYLESHEET TYPE="text/css"	HREF="./Modulef.css" TITLE="Modulef CSS"><meta name="description" value="1.1 Solving a concrete problem using MODULEF"><meta name="keywords" value="Guide1"><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=tex2html379 HREF="node14.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif"	ALT="previous"></A><A NAME=tex2html383 HREF="node14.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif"	ALT="up"></A><A NAME=tex2html385 HREF="node16.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif"	ALT="next"></A><A NAME=tex2html387 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif"	ALT="contents"></A><A HREF="../Guide1-18/node15.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM	ALT="[BIG]"></A><A HREF="../Guide1-14/node15.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM	ALT="[Normal]"></A><A HREF="../Guide1-10/node15.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM	ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html386 HREF="node16.html">2 Conversational tests</A><B>Up: </B> <A NAME=tex2html384 HREF="node14.html">1 Introduction</A><B> Prev: </B> <A NAME=tex2html380 HREF="node14.html">1 Introduction</A><B><A HREF="node2.html"	>Contents</A></B><HR SIZE=3 WIDTH="75&#37;"><H1><A NAME=SECTION04110000000000000000>1.1 Solving a concrete problem using MODULEF</A></H1><P><P><P>The following simple example enables us to illustrate how to solve a problem with the help of MODULEF. This also gives us the opportunity to introduce the finite element notation used.<P>We start by formulating the boundary value problem, from which the variational formulation is derived. The finite element approximations and computer implementation are then discussed briefly, describingthe various steps to be executed to solve the problem numerically using the modules in the MODULEF library. To achieve this, let us consider the Dirichlet problem described below:<P><P><P><H2><A NAME=SECTION04111000000000000000>1.1.1 The mathematical formulation</A></H2><P><P><P>Consider the following Dirichlet boundary value problem:<P><P><A NAME=eq1>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img7.gif"><P><P>where<P><DL COMPACT><DT><b>f</b><DD> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img8.gif">, and <DT><b>a</b><DD> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img9.gif">, i.e., <DT><b>a</b><DD> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img10.gif">, where <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img11.gif"> is a regular open subset of <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img12.gif"> with a regular boundary <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img13.gif">.<P> </DL><P>The variational (weak) formulation derived from the boundary value problem is given by:  <BR><P>Find <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img14.gif">, the space of admissible functions, such that<P><P><A NAME=eq2>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img15.gif"><P>   for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img16.gif">.<P><P><P>The variational formulation of the problem is the point of departure for the Finite Element Method.<P><b> Remark:</b> A detailed analysis of the solutions to problems  (<A HREF="node15.html#eq1">1.1</A>) and (<A HREF="node15.html#eq2">1.2</A>) is not in the scope of this report and the reader should consult additional literature if necessary (for example &quot;The Finite Element Method for Elliptic Problems&quot; by P. G. Ciarlet (1978)).<P>At first sight the above type of problem cannot be solved by MODULEF. However, closer analysis will show thatwe can treat it as a thermal type problem.<P><P><P><H2><A NAME=SECTION04112000000000000000>1.1.2 The finite element approximation</A></H2>    <A NAME=secint_fea>&#160;</A><P><P><P>The Finite Element Method  consists of finding an approximate solution in a finite dimensional subspace.In order to solve the variational problem (<A HREF="node15.html#eq2">1.2</A>), we must therefore pose the problem in a finite dimensional (discrete) subspace, so that equation (<A HREF="node15.html#eq2">1.2</A>) becomes: <BR><P>Find the approximate solution <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img17.gif"> such that<P><A NAME=eq3>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img18.gif"><P>for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img19.gif">, andwhere the finite dimensional (discrete) subspaces <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img20.gif"> and <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img21.gif"> are defined by:<P><P><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img22.gif"><P>  and<P><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img23.gif"><P>where<DL COMPACT><DT><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img24.gif"><DD> denotes the space of polynomials of degree less or equal to <b>k</b>, where <b>k</b>  depends on the choice of finite element.<P> </DL><P><P><P><H3><A NAME=SECTION04112100000000000000> Finite element notation</A></H3><P><P><P>Before writing equation (<A HREF="node15.html#eq3">1.3</A>) in terms of the finite element approximations, let us define the following notation:<P><UL><LI> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img25.gif"> is the partitioning (mesh) of the domain <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img26.gif">, with <b>T</b> an element in       <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img25.gif">, so that       <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img27.gif"></DIV><LI> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img28.gif">       where <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img29.gif"> denotes the total number of degrees of freedom.<LI> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif"> denotes the values of the global degrees of freedom.<LI> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img31.gif"> denotes the values of the local degrees of freedom for element <b>T</b>.<LI> The map <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img32.gif"></DIV>      defined on each element <b>T</b>, relates the global values of the degrees of freedom to the local values      at the corresponding degrees of freedom, so that      <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img33.gif"></DIV><LI> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img34.gif"> is the set of degrees of freedom on the boundary.  <LI> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img35.gif"> (or <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img36.gif">) signifies that the global degree of freedom,       <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img37.gif">, belongs to the mesh (or to the boundary).<LI> Consider the set of <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img29.gif"> basis functions, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img38.gif">, which spans the subspace <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img20.gif">,       then <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img39.gif">, in terms of these basis functions, is given by      <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img40.gif"></DIV>      since  <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img41.gif">.  <BR>       In vector notation <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif"> can be written as      <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img42.gif"></DIV>      where <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img43.gif"> are the component of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img39.gif"> on the basis <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img44.gif">, and supposing that the       degrees of freedom on the boundary are numbered last. <LI> Let <b>N</b> be equal to the number of degrees of freedom per element and           <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img45.gif"></DIV>      the basis polynomials, then <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img46.gif"> in terms      of the element polynomial basis functions, is given by:     <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img47.gif"></DIV>      Here <b>N</b> denotes the dimension  of the polynomial space <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img24.gif">, defined previously.<BR><P>      Let the derivative of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img39.gif"> be defined by     <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img48.gif"></DIV>     for the two-dimensional case, then in terms of the element basis functions, we have      <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img49.gif"></DIV>      where      <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img50.gif"></DIV>  <BR> </UL><P><P><P>Equation (<A HREF="node15.html#eq3">1.3</A>) in terms of the above finite element notation can now be written as follows:  <BR><P>Find <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif"> which satisfies  <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img51.gif">, for <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img36.gif">, such that<P><A NAME=eq6>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img52.gif"><P>for any <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img53.gif"> satisfying <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img54.gif">,  <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img55.gif">. <BR><P><P><P>At this stage, the derivation from formulation (<A HREF="node15.html#eq3">1.3</A>) to formulation (<A HREF="node15.html#eq6">1.6</A>) is quite general (independent ofMODULEF). It remains to define the corresponding mathematical operators, after which we must find their equivalents in MODULEF.<P>Let us first consider the classical thermal problem, described in [<A HREF="node65.html#mod_100">100</A>], which is fully solved by the MODULEF system, where the element stiffness and mass matrices and force vector is given by:<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img56.gif"></DIV><P><A NAME=eqclass>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img57.gif"><P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img58.gif"></DIV><P>We notice that if we set: <BR> <b>[k] = [I]</b> : the thermal conductivity (<b>[I]</b> : unit matrix),   <BR> <b>g=0</b> : the coefficient of heat transfer at <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img59.gif">,     <BR> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img60.gif"> : the mass density, and                           <BR> <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img61.gif"> : the boundary force.    <BR><P>in the classical thermal system, we can define the element stiffness and mass matrices and force vector for the Dirichlet problem in terms of the thermal problem. The resulting simplified system is then given by:<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img62.gif"></DIV><P><A NAME=eqsimp>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img63.gif"><P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img64.gif"></DIV><P>By combining these simplified element calculations, equation (<A HREF="node15.html#eq6">1.6</A>) can now be rewritten, so thatour problem can be  completely solved by MODULEF, as a thermal type problem.<P><b> Remark:</b> A list and the description of the thermal finite elements available in the MODULEF libraryare given in [<A HREF="node65.html#mod_100">100</A>].<P><P><P>In terms of the above notation, (<A HREF="node15.html#eq6">1.6</A>) becomes: <BR><P>Find <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif"> which satisfies <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img51.gif">,for <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img36.gif">, such that<P><P><A NAME=eq7>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img65.gif"><P>  for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img66.gif">, such that <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img67.gif">, for <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img68.gif">, which results in a linear system with a positive definite symmetric matrix.<P><P><P><H3><A NAME=SECTION04112200000000000000> Assembly of matrices</A></H3><P><P><P>Let <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img69.gif"> be an element matrix of element T, with corresponding matrix<DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img70.gif"></DIV>which constitutes the assembly operation, independent of the structure of <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img69.gif">.<P>There are two possible interpretations of the above example:If <IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img71.gif"> is the system matrix to be solved, it may be written as follows:<OL><LI><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img72.gif"></DIV>or equivalently<LI><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img73.gif"></DIV>so that <DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img74.gif"></DIV></OL><P>From a mathematical point of view, these formulas are identical. However, they may lead to two different computer problems. In both cases it is necessary to calculate the element mass <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img75.gif"> and stiffness <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img76.gif"> matrices,after which we either:<OL><LI> <UL><LI>      assemble <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img75.gif">, resulting in <b>[M]</b>,       <LI>      assemble <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img76.gif">, resulting in <b>[K]</b>, and <LI>      add the two matrices (with particular storage), </UL> or  else <BR> <LI> <UL><LI>      add the element matrices, and then<LI>      assemble the resulting matrix.  </UL></OL>                   Either of the above possibilities may be adopted, depending on the nature of the  problem under consideration.<P><P><P><H3><A NAME=SECTION04112300000000000000> The finite element calculations</A></H3><P><P><P>After assembly of the system matrices, equation (<A HREF="node15.html#eq7">1.9</A>) becomes:<P>Find <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img30.gif"> satisfying <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img51.gif">, for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img36.gif">, such that<P><P><A NAME=eq8>&#160;</A><IMG BORDER=0 ALIGN=BOTTOM ALT="" SRC="img77.gif"><P><P>for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img53.gif"> satisfying <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img78.gif">, for all <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img36.gif">.<P><P><P>Recall that, for the discrete space <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img79.gif"> span<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img80.gif">, <IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img81.gif"> is given by:

⌨️ 快捷键说明

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