User Tools

Site Tools

Connect an EASAP to a batch software process

Introduction | Session 1 | Session 2 | Session 3 | Session 4 | Session 5

In this session, we create a PROCESS to:

  • Run a software application
  • Manipulate each User input into a form suitable to be input for a batch application
  • Modify a batch input file to create a template with a delimited object reference (or DOR) as a placeholder for each input value

1. Let's get started:

  • Start EASA, log in, and: EASA > Set Mode > Author
  • Find our EASAP under: EASA > Author > Applications > My EASAPs
  • Click on it
  • In the new page click on the EASAP Builder link
  • Double-click the ' atos.easa ' file to launch the EASAP Builder

2. We need to upload a few files required by the EASAP.

  • Select the 'Files' tab just above the Tree
  • Click: Browse
  • Select the folder on the local machine computer with the downloaded and unzipped tutorial files
  • Double-click: input.txt
  • Click: Upload

'input.txt' will be added to the list of current files shown below the 'Browse' and 'Upload' buttons.

'input.txt' contains responses to queries from the executable that would otherwise be typed at an interactive command prompt.

  • Upload the following files as well
    plate.txt (contains input data)
    femrctpl.exe (the executable)

3. Let's create a PROCESS for running the plate analysis batch software.

  • Click on the Tree
  • Right-click the PROCESSES branch
  • Select: Child > Add PROCESS
  • Rename it runplate
  • Set
    Run Using: cmd.exe /C "femrctpl.exe < input.txt"
    Software: demo

4. We need to manipulate each User input into the form required by the batch input file plate.txt

  • Material selection mat will specify a 'modulus of elasticity' and a 'Poisson ratio'
  • Length 'L' will affect the size of each finite element for the moments and loads calculations
  • Finally we use the Template Editor to change the static input file into a template for User-specified values

5. Let's create a MAP to associate a plate material with a modulus of elasticity which is required by the plate analysis software.

  • Right-click runplate
  • Select: Sibling > Add DATA PROCESSING
    …The default name data_processing1 is fine
  • Right-click SCALAR under data_processing1
  • Select: Child > Add MAP
  • Rename it modulus
  • Set (see CTRL-c CTRL-v shortcut below)
    Value: mat
    Inputs: Steel, Aluminum, Titanium
    Outputs: 27600, 10600, 15000

Try a CTRL-c CTRL-v shortcut:

  • Highlight 'Steel, Aluminum, Titanium' in: TABBED PANE LIST > input > mat > Choices:
  • Type CTRL-c to copy the string
  • Type CTRL-v to paste the string into modulus > Inputs:

6. Let's create a similar MAP for the material’s Poisson ratio.

  • Right-click modulus
  • Select: Copy
  • Right-click modulus
  • Select: Paste (Sibling)
  • Rename the new MAP poisson
  • Set Outputs: 0.305, 0.33, 0.34
  • Let's save our work, click 'Save'

7. We use a COMPUTE to translate the plate’s dimensions into a uniform element size that is expected in the input file. The plate needs to be divided into 20 elements along its length:

  • Create a COMPUTE to derive the width of these 20 elements based on the length L
  • Right-click poisson
  • Select: Sibling > Add COMPUTE
  • Rename it dx
  • Set
    Value: L/20
    Unit Group: Length

8. PROCESS runplate will use a REPLACEMENT object instead of a static input file, plate.txt

  • Right-click runplate
  • Select: Child > Add REPLACEMENT
    …The default name is fine
  • Set File: plate.txt

The PROCESSES branch of the EASAP Tree should look like this,

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

The order of objects on the Tree within a PROCESS is not important

The order of execution of multiple PROCESS objects is based on their order on the Tree
…Execution order is from top to bottom.

9. Save the EASAP.

10. We will now go through the process of replacing fixed inputs (text strings or numbers) with object references.

We use 'plate.txt' as a template which specifies the correct format for inputs generated by the EASAP User at runtime.

  • Select replacement1
  • Click on the 'Open Template Editor' button () in the toolbar
    …The 'Template Editor' will start in a new window
  • On the third line of the file,
  • Highlight '0.5' and insert the DOR dx by double-clicking on dx in the DOR List
  • Set its 'Units' to 'ft' in the toolbar

If you encounter problems setting units for dx, ensure that the Unit Group: parameter has been set properly. If you need to go back and make a change in EASAP Builder keep the Template Editor open and after saving your changes in the EASAP Builder select: File > Reload

  • Back again on the third line,
  • Highlight '1.5' and double-click on t
  • Set its Units to 'in'
  • Highlight '3500' and insert the SCALAR reference modulus
  • Highlight '0.2' and insert the SCALAR reference poisson
  • On the sixth line below the word ‘LOADS’,
  • Replace '2.5' with the SCALAR reference Lu
  • Set its 'Units' to 'kip/ft'
  • Click on the 'Save' button ()

At this point the file will appear in the Template Editor as follows,

  • Once the file looks correct, exit the Template Editor
  • Select: File > Exit

11. At this point, our EASAP will be ready for its first test run.

Even though the OUTPUT branch is empty and nothing will be displayed on the results pages, we may still submit a test run and take a look at what is produced at this point.

  • In the EASAP Builder click on the 'Test Web Browser' button () at the far left of the 2nd toolbar
  • Once the EASAP window appears click on the 'Submit EASAP' button ()
    …After a second or two, a pop-up window will appear when the EASAP has been submitted successfully
  • Click OK on this pop-up window.
  • Close the EASAP window and in a browser return to: EASA > Authoring > Testing

  • Locate the application that we just submitted in the testing table
    …It will probably be the only entry in the table

12. If there aren't any rows in the table, click the browser refresh button.

  • Look at the 'Status' column for the recent run, it may show a variety of messages.

Queued - implies the job is waiting for some other jobs to finish before starting to run
[Percentage value] - implies the job is currently running
Completed - implies the job is done

13. Once the job has completed, examine some of the files produced by the test run.

  • In the Files column for the EASAP run click on the 'Browse Files' button ()
    …A pop-up window should appear which shows the following,

14. Let’s check the delimited object reference replacements for the input file, plate.txt

  • Click on the link and the window’s display should look like the following,

If the file content shown above is missing or different, there may be an error in the EASAP settings or in the template input file. We may attempt to fix these problems at this time or wait until Session 5, where we test and debug an EASAP.

  • After reviewing the file click on the 'Back' button.

15. Let’s look at the PLATE.OUT output file produced by the underlying software application.

  • Click on the link and the window’s display should look like the following,

If there is no PLATE.OUT link or the file content differs from what is shown above, there is an error in the EASAP settings or in the template input file. After reviewing the file, close the window.

Let's review the values of data produced in the EASAP:

  • In the DORs column for the EASAP run, click on the 'View DOR Information' button ()
    …A new table will appear in your browser window that will look like the following,

We are now finished with Session 3. Let's continue with Session 4.

Introduction | Session 1 | Session 2 | Session 3 | Session 4 | Session 5