User Tools

Site Tools


Intro | Session 1 | Session 2 | Session 3 | Session 4 | Session 5 | Session 6 | Session 7 | Session 8

Session 5: Connect an EASAP to other software

Estimated completion time → 45 minutes.

In this session we create a process to run the software application.

We manipulate User inputs into the exact format required for the batch files.

The Template Editor helps us take a single example input file and replace each input with a delimited object reference (historically a 'DOR') which substitues a User specified value prior to being submitted for processing.


A. Create a PROCESS to run an .exe file

  • if not already in the Builder log in via a browser and EASA→Set Mode→Author
  • find the ‘Rectangular Plate’ EASAP in EASA→Applications→My EASAPs
  • click on it and then in the new page click on the EASAP Builder link
  • in the Builder we will upload the external files our EASAP will need
    • select the Files tab just above the Tree in EASAP Builder
    • click on Browse and select the folder on your computer in which you downloaded and unzipped the tutorial files
    • select input.txt
      • click Upload
  • also browse to and upload
    • plate.txt
    • femrctpl.exe
    • plate.html
  • plate.txt contains input data for the plate application
  • femrctpl.exe is the executable for the plate application
  • input.txt contains responses to queries from the plate application that would normally be typed at the command prompt
  • we create a PROCESS for running the external plate analysis .exe program
  • click on the Tree tab
  • right-click the PROCESSES branch
    • select Child→Add PROCESS () rename it runplate
      • set
        • Run Using: cmd.exe /C "femrctpl.exe <input.txt"
        • Software: demo

A User will set plate dimensions in the GUI and we will convert this data into the same format as the input file plate.txt

First we translate the plate dimensions into the normalized dimensions that are expected, the plate is divided into a 10×10 grid of elements.

  • right-click runplate
    • select Child→Add DATA PROCESSING
      • expand it
  • right-click SCALAR
    • select Child→Add COMPUTE rename it dx
      • set
        • Value: W/10
        • Unit Group: Length
  • right-click dx
    • select Copy
  • right-click Paste (Sibling) rename it dy
    • set
      • Value: L/10

We need to map the edge support conditions (free, pinned or fixed) to their numerical indicators (0, 1, 2) used in the input file.

  • right-click dy
    • select Sibling→Add MAP rename it ibot
      • set
        • Value: bottom
        • Inputs: Free, Pinned, Fixed
        • Outputs: 0,1,2
  • right-click ibot
    • select Copy
  • right-click Paste (Sibling) three times rename the new objects
    • itop
    • ileft
    • iright
  • set Value: for each to match the corresponding CHOICE LISTs of top, left and right

We translate the two lists of the concentrated loads x and y coordinates into the normalized nodal format that the program expects.

  • for the list of x coordinates
  • right-click LIST
    • select Child→Add REPEATED COMPUTE rename it xc
      • set Value: xloc/10+1
  • for the y coordinates
  • right-click xc
    • select Copy
      • right-click Paste (Sibling) rename it yc
        • set Value: yloc/10+1

B. Use an EXPAND to assemble a line for an input file

We construct a line in the input file that corresponds to each concentrated load.

  • right-click yc
    • select Sibling→Add REPEATED EXPAND rename it Cloads
      • set
        • Value: %yc% %xc% %input_Lc [kip] 8.3f%
        • Expansion Separator: \r\n

With a REPEATED EXPAND we are creating a string of text from existing COMPUTE objects to match the plate.txt format expected by the program.

Note 1, The % symbol denotes an object reference in the Value: parameter. Each object reference will be replaced by an object value when the EXPAND is processed.

Note 2, The \r\n symbol stands for a new line, so to set the Expansion Separator: parameter, you can click on the Text box button () at the right- end of the Parameter Value cell and then in the text entry pop-up, hit the Enter key once and click on OK

  • time to save your work, click Save

The next step for the runplate PROCESS is to replace the conventional input text file plate.txt with our own identically formatted input data.

  • right-click runplate
    • select Child→Add REPLACEMENT ()
      • set File: plate.txt

It is a good idea to clear away redundant files to minimize disk space usage.

  • right-click replacement1

The PROCESSES branch should look like,

  • The order of execution within a PROCESS object is always,
    1. DATA PROCESSING objects,
    2. REPLACEMENT objects,
    3. Commands specified in the Run Using: parameter of the PROCESS object,
    4. The CLEAR FILESPACE object.

Therefore, the order of objects on the tree within a process object is not important. However, the order of execution of multiple process objects is based on their order on the tree, occurring from top to bottom.

  • save the EASAP and exit EASAP Builder

C. The Template Editor automates input file creation

We will translate the input file plate.txt into a template containing 'delimited' object references which are placeholders for the User specified input values.

  • in a browser under EASA→Authoring
    • select Template Editor
      • → the file plate.txt should appear in the table on the Template Editor page
    • click on the Edit File button on the right side of the row
      • the Template Editor will start in a new window
  • we replace fixed input values such as text strings and numbers with percent delimited object references
  • highlight the entire first line of the file
    • type in Project: and then double-click on the project object in the DOR List on the left
  • highlight the entire second line of the file
    • type in Case: and then double-click on the case object in the DOR List on the left
  • on the third line of the file, highlight 1.0
    • double-click on dy in the DOR List
      • then set its Units setting to ft in the toolbar

Tip, If you encounter problems setting the units of the DOR, ensure that the Unit Group: parameter has been set properly for the dy COMPUTE. If you need to go back and make a change in EASAP Builder, you can keep Template Editor open and just select Reload under the file menu after saving your changes in EASAP Builder

  • highlight 0.5 in the third line
    • double-click on dx in the DOR List
      • set its Units setting to ft as well
  • Still on the third line, highlight 1.5
    • double-click on t
      • set its Units to in
      • highlight 3500 and insert the DOR modulus
      • highlight 0.2 and insert the DOR poisson.
  • modify the fourth line so that it appears as below (type commas between double-clicks),
    ibot, ileft, itop, iright
  • to save your changes so far, click File→Save
  • move to the sixth line below the word LOADS
    • replace 2.5 with the DOR Lu
      • set its Units to ksf
  • replace the entire seventh line with the DOR Cloads
  • save the file again by clicking on the Save button ()

At this point, the file should appear in the Template Editor as below,

  • once the file looks correct, exit the Template Editor, select File→Exit

At this point, your EASAP should be ready for its first test run. Even though the OUTPUT branch is empty and nothing will be displayed on the results pages, you can still submit a test run and take a look at what is produced

  • in your EASA browser window select EASA→Authoring→Testing then click on the Test EASAP link on the new page
  • after the EASAP window appears, select the third tab labeled 3. Loads on Plate and set a concentrated load of 1.0 kip at the 50%- 50% location
  • click on the Submit button under the fourth tabbed pane
  • after a second or two, a pop-up window should appear when the EASAP has been submitted successfully
  • click OK on this pop-up window.
  • minimize the EASAP window, and on the browser page EASA→Authoring→Testing you should be taken to a page similar to the following

  • locate the Application that we just submitted in the Testing table.
    • → it should be the only entry in the table
    • if you do not see any rows in the table, try clicking the refresh button on your browser

Look at the Status column for the run you just submitted. It may show a variety of messages. If you see Queued then the job is waiting for some other jobs to finish before starting to run. If you see a percentage number, then your job is currently running. Finally, if you see Completed then your job is done.

Once the job has completed, we may look at the files produced by the test run

  • in the Files column for our EASAP run
    • click on the Browse Files button () and a pop-up window will appear that will look like the following

First, let’s take a look at the input file plate.txt, and see the result of the DOR replacements.

  • click on the plate.txt link and the window’s display should change to look like the following

If you do not see the file content shown above, then you may have an error either in the EASAP settings or in the template input file. We may attempt to fix these problems at this time or wait until Session 8, in where we test and debug the completed EASAP. After reviewing the file, click on the Back button

  • let’s take a look at the output file PLATE.OUT, produced by the underlying software application.
  • click on the PLATE.OUT link, and the window’s display should change to look like the following

If you do not see the PLATE.OUT link or the file content shown above, then may have an error either in the EASAP settings or in your template input file. We may attempt to fix these problems at this time or wait until Session 8, where we test and debug the completed EASAP. After reviewing the file, click on the x to close the window.

Review the values of data produced in the EASAP.

  • in the DORs column for your EASAP run
    • click on the View DOR Information button () and a new table will appear in your browser window similar to the following

You may browse through all pages of the table to review values of all data in the EASAP run.

  • finally, restore and then close the EASAP window used to submit the test run.

We have completed Session 5. Let's continue with Session 6.


Introduction | Session 1 | Session 2 | Session 3 | Session 4 | Session 5 | Session 6 | Session 7 | Session 8