<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>COMPILE</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <hr noshade="true">
      <div class="title_refTopic" id="xps10_pagetitle">COMPILE </div>
      <hr noshade="true">
      <h4 class="refClassification">Compile DMAP Statements </h4>
      <p class="para_refTopic">Requests the compilation of a subDMAP, subDMAP alter, or NDDL sequence. </p>
      <div class="title_refCategory">Format 1:</div>
      <div class="refCategoryContent">
         <p class="para_refCategory">Compiles a subDMAP or subDMAP alter sequence</p>
         <p align="center"><img align="bottom" src="graphics/executive-ufig02.gif"></p>
         <p align="center"><img align="bottom" src="graphics/executive-ufig03.gif"></p>
      </div>
      <div class="title_refCategory">Format 2:</div>
      <div class="refCategoryContent">
         <p class="para_refCategory">Compiles an NDDL sequence</p>
         <p align="center"><img align="bottom" src="graphics/executive-ufig04.gif"></p>
      </div>
      <div class="title_refCategory">Examples: </div>
      <div class="refCategoryContent">
         <ol type="1" start="1">
            <li>
               <p class="para_item">The following compiles an alter in subDMAP PHASEIDR. </p><pre class="indent">COMPILE PHASE1DR
ALTER &lsquo;CALL PHASE1A&rsquo;
CEND</pre></li>
            <li>
               <p class="para_item">The following compiles a subDMAP called MYDMAP.  (SUBDMAP and END are DMAP statements; see <a class="links" href="javascript:void(0)" onclick="top.popUpPage('QRG/linkInter_target_not_resolved.html#dmap:ref86112:-aux,-home','linkInter','menubar=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes,location=no,directories=no');return(false);"><em>NX Nastran DMAP Programmer&rsquo;s Guide</em></a>.) 
               </p><pre class="indent">COMPILE MYDMAP LIST REF
SUBDMAP MYDMAP $
.
.
.
END $
CEND</pre></li>
            <li>
               <p class="para_item">The following obtains a listing of the NDDL. </p><pre class="indent">ACQUIRE NDDL
COMPILE NDDL=NDDL LIST
CEND</pre></li>
         </ol>
      </div>
      <div class="title_refCategory">Describers:</div>
      <div class="refCategoryContent">
         <table cellpadding="10" cellspacing="" width="100%" align="center">
            <colgroup span="1">
               <col span="1" width="24.56*">
               <col span="1" width="75.44*">
            </colgroup>
            <thead>
               <tr>
                  <th align="left" colspan="1" rowspan="1">
                     <p class="para_th"><b class="uiTerm">Describer </b></p>
                  </th>
                  <th align="left" colspan="1" rowspan="1">
                     <p class="para_th"><b class="uiTerm">Meaning </b></p>
                  </th>
               </tr>
            </thead>
            <tbody>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">subDMAP-name </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">The name of a subDMAP sequence.  SubDMAP-name must be 1 to 8 alphanumeric characters in length and the first character must be alphabetic.  The keywords DMAP and SUBDMAP are optional and do not have to be specified. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">nddl-name </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">The name of an NDDL sequence.  (Character; 1 to 8 alphanumeric characters in length and the first character must be alphabetic.)  The keyword NDDL must be specified. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">souin-DBset </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">The name of a DBset from which the subDMAP or NDDL source statements will be retrieved.  (Character; 1 to 8 alphanumeric characters in length and the first character must be alphabetic.)  The default is MSCSOU if the next statement is not a subDMAP statement. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">souout-DBset </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">The name of a DBset on which the subDMAP or NDDL source statements will be stored.  (Character; 1 to 8 alphanumeric characters in length and the first character must be alphabetic.)  The default is the SCRATCH DBset. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">objout-DBset </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">The name of a DBset on which the subDMAP object code will be stored.  (Character; 1 to 8 alphanumeric characters in length and the first character must be alphabetic.)  The default is the OBJSCR DBset. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">LIST, NOLIST </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">LIST requests a compiled listing of the subDMAP or NDDL sequence.  NOLIST suppresses the listing. NOLIST is the default. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">REF, NOREF </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">REF requests a compiled cross reference of the subDMAP or NDDL sequence.  NOREF suppresses the cross reference. NOREF is the default. </p>
                  </td>
               </tr>
               <tr>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">DECK, NODECK </p>
                  </td>
                  <td align="left" colspan="1" rowspan="1" valign="top">
                     <p class="para_td">DECK requests the subDMAP or NDDL source statements to be written to the PUNCH file.  NODECK suppresses the writing to the PUNCH file.  NODECK is the default. </p>
                  </td>
               </tr>
            </tbody>
         </table><br></div>
      <div class="title_refCategory">Remarks: </div>
      <div class="refCategoryContent">
         <ol type="1" start="1">
            <li>
               <p class="para_item">SubDMAP names for NX Nastran solution sequences are given in the SOL statement description. </p>
               <ul>
                  <li>
                     <p class="para_item">For the unstructured solution sequences (SOLs 1 through 16), the subDMAP-name is formed by appending the solution number to the string &ldquo;SOL&rdquo;.  For example, &ldquo;SOL3&rdquo; is the subDMAP-name of NX Nastran Solution 3. </p>
                  </li>
                  <li>
                     <p class="para_item">For the structured solution sequences (SOLs 100 through 200), the subDMAP-names do not follow a similar scheme.  The &ldquo;COMPILER LIST REF&rdquo; statement may be used to determine the appropriate subDMAP-name. </p>
                  </li>
               </ul>
            </li>
            <li>
               <p class="para_item">If a subDMAP is being compiled and SOUIN=souin-DBset is specified, then an ALTER Executive Control statement or an INCLUDE statement which contains an ALTER statement as the first non comment line, must appear immediately after these.  If not, then the SUBDMAP DMAP statement must appear immediately after these statements.  See the <a class="links" href="javascript:void(0)" onclick="top.popUpPage('QRG/linkInter_target_not_resolved.html#dmap:ref86112:-aux,-home','linkInter','menubar=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes,location=no,directories=no');return(false);"><em>NX Nastran DMAP Programmer&rsquo;s Guide</em></a>.
               </p>
            </li>
            <li><a name="ref73376"></a><p class="para_item">DBsets USRSOU and USROBJ are no longer automatically created.  They must be initialized by the INIT FMS statement and then may be specified for souin-dbset (or souout-dbset) and objout-dbset, respectively.  They may be used to store the subDMAP source statements and object code on the primary database for re-execution in a subsequent run.  For example: </p>
               <p class="para_item">In the first run, the following COMPILE statement compiles and stores a subDMAP called MYDMAP. </p><pre class="indent">COMPILE MYDMAP SOUOUT=USRSOU OBJOUT=USROBJ
SUBDMAP MYDMAP $
.
.
END $
CEND</pre><p class="para_item">In the second run, the SOL statement is used to execute the MYDMAP stored in the previous run.  The LINK statement is required to retrieve the object code from the USROBJ DBset. </p><pre class="indent">SOL MYDMAP
LINK MYDMAP INCL=USROBJ
CEND</pre><p class="para_item">In the third run, the COMPILE statement is used to alter MYDMAP and execute. </p><pre class="indent">SOL MYDMAP
COMPILE MYDMAP SOUIN=USRSOU
ALTER...
.
.
.
CEND</pre></li>
            <li>
               <p class="para_item">If SOUOUT or OBJOUT is specified and a subDMAP with the same name as the subDMAP-name already exists on the database, then its source statements or object code will be replaced. </p>
            </li>
            <li>
               <p class="para_item">A COMPILE statement is required for each subDMAP to be compiled.  If two or more COMPILE statements reference the same subDMAP name, then only the last is used in the linking of the object code.  If the COMPILE statement is being used only to alter a subDMAP and two or more COMPILE statements reference the same subDMAP name, then the multiple alters are assembled and the subDMAP is compiled only once. </p>
            </li>
            <li>
               <p class="para_item">Only one COMPILE statement for an NDDL sequence may be specified in the input file. </p>
               <ul>
                  <li>
                     <p class="para_item">SOUIN=souin-DBset requests only a compilation of the NDDL sequence stored on souin-DBset for purposes of obtaining a listing or a cross reference, and it cannot be modified with the ALTER statement.  See Remark <a class="links" href="javascript:void(0)" onclick="top.openFile('QRG/04ref64485_10.html#ref73376');return(false);">8-3.</a> COMPILE NDDL=NDDL SOUIN=MSCSOU LIST requests a listing of the NX Nastran NDDL sequence.  The ACQUIRE FMS statement or the SOL statement must be specified in order to attach the corresponding Delivery Database. 
                     </p>
                  </li>
                  <li>
                     <p class="para_item">To alter the NX Nastran NDDL sequences, the entire modified NDDL sequence is included after the COMPILE statement and SOUIN=souin-DBset is not specified. </p>
                  </li>
                  <li>
                     <p class="para_item">SOUOUT=souout-DBset requests the storage of the NDDL source statements on the souout-DBset and may not be specified with SOUIN=souin-DBset. </p>
                  </li>
               </ul>
            </li>
            <li>
               <p class="para_item">The COMPILER statement may be used to override the defaults of NOLIST, NOREF, and NODECK.  In other words, if LIST or NOLIST, REF or NOREF, or DECK or NODECK is not specified, then the corresponding option on the COMPILER statement will be used.  In the following example, REF on the COMPILER statement will override the default of NOREF on the COMPILE statement. </p><pre class="indent">COMPILER REF
COMPILE MYDMAP</pre></li>
            <li>
               <p class="para_item">MSCSOU and MSCOBJ, specified with SOUOUT and OBJOUT, are special DBsets similar to USRSOU and USROBJ except that they are used in the creation or modification of a delivery database.  For an example application, see the <em>NX Nastran Installation and Operations Guide.</em></p>
            </li>
         </ol>
      </div>
   </body>
</html>