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

📄 node12.html

📁 htmdoc for html coding
💻 HTML
字号:
<!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>2.1 Manual construction of a D.S.  B</TITLE><LINK REL=STYLESHEET TYPE="text/css"	HREF="./Modulef.css" TITLE="Modulef CSS"><meta name="description" value="2.1 Manual construction of a D.S.  B"><meta name="keywords" value="Guide6"><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=tex2html628 HREF="node11.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif"	ALT="previous"></A><A NAME=tex2html634 HREF="node11.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif"	ALT="up"></A><A NAME=tex2html636 HREF="node13.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif"	ALT="next"></A><A NAME=tex2html638 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif"	ALT="contents"></A><A HREF="../Guide6-18/node12.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM	ALT="[BIG]"></A><A HREF="../Guide6-14/node12.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM	ALT="[Normal]"></A><A HREF="../Guide6-10/node12.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM	ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html637 HREF="node13.html">2.2 Symmetrization and &quot;gluing together&quot; of </A><B>Up: </B> <A NAME=tex2html635 HREF="node11.html">2 Manipulation of solutions</A><B> Prev: </B> <A NAME=tex2html629 HREF="node11.html">2 Manipulation of solutions</A><B><A HREF="node2.html"	>Contents</A></B><HR SIZE=3 WIDTH="75&#37;"><H1><A NAME=SECTION03310000000000000000>2.1 Manual construction of a D.S.  B</A></H1><P><P><P>Preprocessor <b> COSDXX</b> constructs a D.S. <b> B</b> from:<UL><LI> a given value: all the degrees of freedom are assigned to this value;<LI> a function dependent on the nodal coordinates, using:<UL><LI>  D.S. <b> NOPO</b>,<LI>  D.S. <b> MAIL</b> and <b> COOR</b>, in particular for the case where the number of degrees of freedom per node, ND, is not constant.</UL></UL><P>For the case where  a given value is assigned (via a vector), module COSDB is called.To assign a value dependent on the nodal coordinates, we use moduleCOSNOB which, for a constant ND,  exploits  D.S. <b> NOPO</b>, or we usemodule COSMCB which, for arbitrary ND, exploits D.S. <b> MAIL</b> and <b> COOR</b>.<P>Module COSDB corresponds to the case where we input a vector (U), or two vectors (U et V), to constructthe D.S. <b> B</b> such that:<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img6.gif"></DIV><P>or, to create one structure with two arrays B4 (two vectors are therefore used):<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img7.gif"></DIV><P><PRE>      SUBROUTINE COSDB(M,NVEC,U,V,LUV,ND,NFB,NIB,NTAB)C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C  UTILITY COSDB : CREATE A DS B FROM ONE OR TWO VECTORSC  -------------C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</PRE><P>where<UL><LI> M is the super array,<LI> NVEC is the number of vectors input (1 or 2) indicating that we want one or two arrays B4. IfNVEC <b>&gt;</b> 0, the structure is in single precision, for a negative NVEC, it is in double precision,<LI> U (V) are the vectors duly filled (as a function of type) containing the values to assign,<LI> LUV is the <b> number of words</b> of each vector,  <LI> NFB, NIB and NTAB are the file number, the level and the number of arrays to associate to theO.D.S. <b> B</b>. </UL><P><P><P>If NTAB is non-zero, we need to input:<P><P><P>Loop I from 1 to NTAB<UL><LI> name of array I in 4 characters, <LI> type of array (1 = integer, 2 = real single precision, 4 = character, 5 = real double precision, ...),<LI> number of words in the array,<LI> the array variables,<LI> comments pertaining to the contents of array I in 18 words of 4 characters.</UL> End of loop.<P><P><P>Module COSNOB corresponds to the case where one vector (U) or two vectors (U and V) are calculated to construct the D.S. <b> B</b> such that:<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img8.gif"></DIV><P>or, to create a structure with two arrays B4 (two vectors are therefore used):<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img9.gif"></DIV><P><P><P>Functions <b>VALCL*</b> are in fact VALCLR, in single precision, and  VALCLD, in double precision. Theirarguments are I  (from 1 to ND), <b> assumed constant</b>, see lower down)the degree of freedom number,  X, Y and Z the coordinates of the point under consideration readinto array NOP4 of data structure <b> NOPO</b>. These functions are input:<UL><LI> in the form of a  FUNCTION in the case of a classical call of the module (FONINT = .FALSE.),<LI> in the interpreted <em> or parsed</em> form, or in the form of a FUNCTION (choice given) in the case of a call via <b> COSDXX</b>.</UL><P><PRE>        SUBROUTINE COSNOB(M,XM,NFNOPO,NINOPO,NVEC,U,V,DU,DV,ND,     +                  NFB,NIB,NTAB,FONINT,VALCLR,VALCLD)C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C  UTILITY COSNOB : CREATE A DS B FROM NOPO AND A FUNCTIONC  --------------  ( SAME AIM AS COSDB )C  U(I) ( V(I) ) = FUNCTION(X(I),Y(I),Z(I)) AT POINT IOF THE DS NOPOC  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</PRE><P>where<UL><LI> M and XM represent the super array,<LI> NFNOPO, NINOPO are the file number and the level of structure <b> NOPO</b>,<LI> NVEC is the number of vectors (1 or 2) indicating that we want one or two arrays B4. IfNVEC <b>&gt;</b> 0, the structure is in single precision, for NVEC negative, it is in double precision,<LI> U or DU (V or DV) are the vectors which are used (according to type) with the values to assign,<LI> ND is the number (assumed constant) of degrees of freedom at each node,<LI> NFB, NIB and NTAB are the file number, the level and the number of  arrays to associate withthe O.D.S. <b> B</b>,<LI> FONINT is a logical set to .TRUE. if we use functions VALCLR or VALCLD in the interpreted form, .FALSE. if we use them normally.</UL><P><P><P>If NTAB is non-zero, we must input:<P><P><P>Loop  I from 1 to NTAB<UL><LI> name of array I in 4 characters,<LI> type of array (1 = integer, 2 = real single precision, 4 = character, 5 = real double precision, ...),<LI> number of words in the array,<LI> the array variables,<LI> comments pertaining to the contents of array I in 18 words of 4 characters.</UL> End of loop.<P><P><P>Depending on the value of  FONINT, we need to, or not, write functions VALCL*.VALCLR and VALCLD have the following form:<P><PRE>      FUNCTION VALCLR(I,X,Y,Z)      DOUBLE PRECISION FUNCTION VALCLD(I,X,Y,Z)</PRE><P>Note further that the number of variables of the vectors is calculated as<IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img10.gif"> where NP is the number of points in the mesh.<P><P><P>Module COSMCB corresponds to the case where vector (U) or two vectors (U et V) are calculated to construct the D.S. <b> B</b> such that:<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img8.gif"></DIV><P>or, to create a structure with two arrays B4 (two vectors are therefore used):<P><DIV ALIGN=center><IMG BORDER=0 ALIGN=MIDDLE ALT="" SRC="img9.gif"></DIV><P><P><P>Functions <b>VALCL*</b> are in fact VALCLR in single precision and VALCLD in double precision. Theirarguments are  I (from 1 to ND, see lower down) the degree of freedom number, X, Y and Z the coordinatesof the point under consideration read into arrayCOO4 of structure <b> COOR</b> associated to the <b> MAIL</b> data structure. These functions are input:<UL><LI> in the form of a  FUNCTION in the case of a classical call of the module (FONINT = .FALSE.),<LI> in the interpreted form or in the form of a  FUNCTION in the case of a  call via <b> COSDXX</b>.<P></UL><P><PRE>      SUBROUTINE COSMCB (M,XM,DM,NFMAIL,NIMAIL,NFCOOR,NICOOR,NVEC,     +   NFB,NIB,NTAB,FONINT,VALCLR,VALCLD,U,V,DU,DV)C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++C  UTILITY COSMCB : CREATE A DS B FROM MAIL AND COOR ANDC  --------------   A FUNCTION ( SAME AIM AS COSDB )C  U(I) ( V(I) ) = FUNCTION(X(I),Y(I),Z(I)) AT POINT I OF DS COORC  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</PRE><P>where<P><UL><LI> M, XM and DM represent the super array,<LI> NFMAIL, NIMAIL are the file number and the level of structure <b> MAIL</b>,<LI> NFCOOR, NICOOR are the file number and the level of structure <b> COOR</b>,<LI> NVEC is the number of vectors (1 or 2) indicating that we want one or two arrays B4. IfNVEC <b>&gt;</b> 0, the structure is in single precision, for NVEC negative, it is in double precision,<LI> U or DU (V or DV) are the vectors which are used (according to type) with the values to assign,<LI> NFB, NIB and NTAB are the file number, the level and the number of  arrays to associate withthe O.D.S. <b> B</b>,<LI> FONINT is a logical set to .TRUE. if we use functions VALCLR or VALCLD in the interpreted form, .FALSE. if we use them normally.</UL><P><P><P>If NTAB is non-zero, we must input:<P><P><P>Loop  I from 1 to NTAB<UL><LI> name of array I in 4 characters,<LI> type of array (1 = integer, 2 = real single precision, 4 = character, 5 = real double precision, ...),<LI> number of words in the array,<LI> the array variables,<LI> comments pertaining to the contents of array I in 18 words of 4 characters.</UL> End of loop.<P><P><P>Depending on the value of FONINT, we need to, or not, write the functions VALCL*.Note that VALCLR and VALCLD have the following form:<P><PRE>      FUNCTION VALCLR(I,X,Y,Z)      DOUBLE PRECISION FUNCTION VALCLD(I,X,Y,Z)</PRE><P><P><P><HR SIZE=3 WIDTH="75&#37;"><IMG SRC="../icons/smallmod.gif" WIDTH=211 HEIGHT=50 ALIGN=BOTTOM	ALT="Modulef"><A NAME=tex2html628 HREF="node11.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/previous_motif.gif"	ALT="previous"></A><A NAME=tex2html634 HREF="node11.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/up_motif.gif"	ALT="up"></A><A NAME=tex2html636 HREF="node13.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/next_motif.gif"	ALT="next"></A><A NAME=tex2html638 HREF="node2.html"><IMG BORDER=0 ALIGN=BOTTOM SRC="../icons/contents_motif.gif"	ALT="contents"></A><A HREF="../Guide6-18/node12.html"><IMG BORDER=0 SRC="../icons/zoom18.gif" ALIGN=BOTTOM	ALT="[BIG]"></A><A HREF="../Guide6-14/node12.html"><IMG BORDER=0 SRC="../icons/zoom14.gif" ALIGN=BOTTOM	ALT="[Normal]"></A><A HREF="../Guide6-10/node12.html"><IMG BORDER=0 SRC="../icons/zoom10.gif" ALIGN=BOTTOM	ALT="[small]"></A><BR><B> Next: </B> <A NAME=tex2html637 HREF="node13.html">2.2 Symmetrization and &quot;gluing together&quot; of </A><B>Up: </B> <A NAME=tex2html635 HREF="node11.html">2 Manipulation of solutions</A><B> Prev: </B> <A NAME=tex2html629 HREF="node11.html">2 Manipulation of solutions</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 + -