User Tools

Site Tools


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


Session 6: Produce Output

Estimated completion time → 50 minutes.

In this practical session, you will create output to be displayed as a report on the Results pages. This report will include a summary of the user’s inputs, tables of results, and a contour plot of the plate displacement.

Please follow the instructions below to complete this practical session. Detailed information on the objects created during this session can be found at the Author's Pages.

  • Log in, and Set Mode→Author.
  • Under EASA→Author→Applications→My EASAPs find your ‘Rectangular Plate’ EASAP
  • Click on it then click on the EASAP Builder link on the new page.

The first object to add to the OUTPUT branch will be a NOTES object to help users annotate their individual EASAP runs.

  • Click on the Tree tab.
  • Right-click OUTPUT branch
    • Select Child→Add NOTES ()
      • Set:
        • Value: %project%:%case%

We need to perform some data processing in order to complete the report.

  • Right-click NOTES
    • Select Sibling→Add DATA PROCESSING
      • Expand it to show its Child SCALAR and Child LIST

Now extract the displacement data out of the output file created by the underlying plate analysis software and then present it in a table.

  • Right-click LIST
    • Select Child→Add EXTRACT ().
      • Rename it extract_values
        • Set:
          • File: PLATE.OUT

Note: This file name will not appear in the pull-down list because it is only created after running the plate software application.

  • Right-click extract_values
    • Select Child→Add FIND ()
      • Set:
        • Value: JOINT DISPLACEMENTS

Now set up a repeating find to pull out the desired data.

  • Right-click the new FIND object
    • Select Sibling→Add REPEAT ()
      • Set:
        • Stop When Value: plate MOMENT
  • Expand the above REPEAT
    • Select its child FIND
      • Set:
        • Value: %node% %xd% %yd% %zd%
        • Type: Integer, Real, Real, Real

Note 1: The Value: parameter color will change upon completing the content entry to: node xd yd zd. This indicates that the four DORs have been recognized as new list objects.

Note 2: The Type: parameter is set by clicking the 'Integer' selection once and then the 'Real' selection three times on the pop-up form.

  • Right-click the REPEAT object
    • Select Copy
      • Right-click again
        • Select Paste (Sibling)
          • Set:
            • Stop When Value: REACTIONS

to extract the plate moment data

  • Set the following parameters of the new Child FINDobject:
    • Value: %dum1% %MX% %MY% %MXY%
    • Type: Integer, Real, Real, Real

We have extracted the plate displacement data and now some processing of this data is required before it can be presented in the report. First we compute X and Y locations from the node list in three steps:

  1. Compute the column (i) and row (j) locations
  2. Compute the actual X and Y locations
  3. Format the values of the X and Y locations for inclusion in a report table
  • Right-click extract_values
    • Select Sibling→Add REPEATED COMPUTE
      • Rename it jNode
        • Set:
          • Value: round((node+5)/11)
          • Type: REAL
  • Right-click jNode
    • Select Sibling→Add REPEATED COMPUTE
      • Rename it iNode
        • Set:
          • Value: node-11*(jNode-1)
          • Type: REAL

To compute the nodal X and Y locations we need to create two more REPEATED COMPUTEs.

  • Right-click iNode
    • Select Sibling→Add REPEATED COMPUTE
      • Rename it xN
        • Set:
          • Value: dx*(iNode-1)
          • Type: REAL
          • Unit Group: Length
  • Right-click xN
    • Select Sibling→Add REPEATED COMPUTE
      • Rename it yN
        • Set:
          • Value: dy*(jNode-1)
          • Type: REAL
          • Unit Group: Length

To complete the nodal X and Y location values we use two REPEATED EXPAND's to specify the units of ‘ft’ and to format the numbers to be floating point style with three digits after the decimal point.

  • Right-click yN
    • Select Sibling→Add REPEATED EXPAND
      • Rename it xT
        • Set:
          • Value: %xN [ft] 8.3f%
  • Right-click xT
    • Select Sibling→Add REPEATED EXPAND
      • Rename it yT
        • Set:
          • Value: %yN [ft] 8.3f%

Now we create lists of X and Y values to be used in a 2D Graph object, which only needs X values for a single row and Y values for a single column.

  • Right-click yT
    • Select Sibling→Add AUTO LIST
      • Rename it xylist
        • Set:
          • Type: INTEGER
          • Size: 11
  • Right-click xylist
    • Select Sibling→Add REPEATED COMPUTE
      • Rename it xP
        • Set:
          • Value: 10*(xylist-1)
          • Type: REAL
  • Right-click xP
    • Select Copy
      • Right-click xP
        • Select Paste (Sibling)
          • Rename it yP

Finally compute the maximum displacement on the plate.

  • Right-click SCALAR
    • Select Child→Add STATISTICS ()
      • Rename it MaxDisp
        • Set:
          • List: zd
          • Function: MAXIMUM

Now create an object that determines when the results have been created and extracted properly.

  • Right-click MaxDisp
    • Select Sibling → Add IS VALID ()
      • Rename it results_ready
        • Set:
          • Value: zd

We use an EXPAND to display our selected units of kip for REALBOX input_Lc instead of the default of newtons, N:

  • Right-click results_ready
    • Select Sibling → Add EXPAND ()
      • Rename it input_Lc_kip
        • Set:
          • Value: %input_Lc [kip]%

Time to save your work, * Click the Save button

Proceed with creating the report. We read-in the main body of the report as an HTML file.

  • Right-click the DATA PROCESSING above
    • Select Sibling→Add REPORT ()
      • Right-click report1
        • Select Child→Add HTML OUTPUT ()
        • Rename it body
          • Set:
            • File: plate.html

Add a table for displaying the concentrated loads specified by the user.

  • Right-click body
    • Select Sibling→Add TABULATED DATA ().
      • Rename it Cloads_table
        • Set parameters below:

Note: To set the Columns: parameter click on the three list objects in the order shown.

Parameter Name Parameter Value
Column Titles:X location [%], Y location [%], Load [kip]
Columns:xloc, yloc, input_Lc_kip
Show if:input_Lc_kip >0

Create a heading that will show in the event that no concentrated loads were specified by the user.

  • Right-click Cloads_table
    • Select Sibling→Add TEXT OUTPUT
      • Set:
        • Text: No concentrated loads specified.
        • Style: Normal
        • Show if: input_Lc ==0

Create a heading to introduce the results section of the report.

  • Right-click the TEXT OUTPUT
    • Select Sibling→Add HTML OUTPUT
      • Rename it Results
        • Set:
          • Text: <br /> <h3>Analysis Results: </h3> <br />

The first result to be displayed in the report is the maximum displacement of the plate.

  • Right-click Results
    • Select Sibling→Add TEXT OUTPUT ()
      • Rename it MaximumDisp
        • Set:
          • Text: Maximum Plate Displacement: %MaxDisp% in.
          • Style: Normal

Create a heading introducing the plot section of the report.

  • Right-click MaximumDisp
    • Select Sibling→Add HTML OUTPUT
      • Rename it Plots
        • Set:
          • Text: <h4>Plots: </h4>

Create a contour plot of the displacement on the plate using the 2D GRAPH.

  • Right-click Plots
    • Select Sibling→Add 2D GRAPH ()
      • Rename it graph_Disp
        • Set:
          • Display: IMAGE
          • Width: 600
          • Height: 600
  • Right-click graph_Disp
    • Select Child→Add CONTOUR DATA ()
      • Set:
        • X Values: xP
        • Y Values: yP
        • Data Values: zd
        • Type: LINEAR
        • Style: FILL_LINE
        • Number of Contours: 10 Refinement Factor: 2
  • Select X AXIS
    • Set:
      • Title: X [% Width]
      • Type: LINEAR
  • Select Y AXIS
    • Set:
      • Title: Y [% Length]
      • Type: LINEAR
  • Select TITLE
    • Set: Title: Contour Plot of Plate Displacement
    • SubTitle: - Units = inches

Now we create three more graphs to display plate moment data.

  • Right-click graph_Disp
    • Select Copy
      • Right-click
        • Select Paste (Sibling) three times
        • Rename the pasted graphs:
          • graph_MX
          • graph_MY
          • graph_MXY
  • For each, set the parameters of the Child CONTOUR DATA objects to match their respective graphs:
  • Data Values: MX
  • Data Values: MY
  • Data Values: MXY
  • Finally edit the parameter TITLE objects to match their respective graphs:
    • Title: Contour Plot of Plate Moment X
    • SubTitle: - Moment X [foot-kips/foot]
    • Title: Contour Plot of Plate Moment Y
    • SubTitle: - Moment Y [foot-kips/foot]
    • Title: Contour Plot of Plate Moment XY
    • SubTitle: - Moment XY [foot-kips/foot]

Add another heading to introduce a data table.

  • Right-click graph_MXY
    • Select Sibling→Add HTML OUTPUT
      • Rename it Table1
        • Set:
          • Text: <h4>Table of Nodal Displacements</h4>
          • Show if: showdisp=="TRUE"

Note: The logical expression in the Show if: parameter refers to the value of the logic box found on the fourth TABBED PANE. The TEXT OUTPUT will only be displayed if this expression evaluates as true.

Now display the previously extracted nodal displacement data in a table.

  • Right-click Table1
    • Select Sibling→Add TABULATED DATA
      • Rename it Disp_table
        • Set:
          • Column Titles: Node, X [ft], Y [ft], Displacement [in]
          • Columns: node,xT,yT,zd
          • Show if: showdisp=="TRUE"

Note: The logical expression in the Show if: parameter refers to the value of the logic box found on the fourth TABBED PANE: Disp_table will only be displayed if this expression evaluates as true

Finally display the previously extracted plate moment data in a table in the same manner as you displayed the nodal displacement data.

  • Right-click Disp_table
    • Select Sibling→Add HTML OUTPUT
      • Rename it Table2
        • Set:
          • Text: <h4>Table of Plate Moments</h4>
          • Show if: showmom=="TRUE"
  • Right-click Table2
    • Select Sibling→Add TABULATED DATA
      • Rename it Mom_table
        • Set:
          • Column Titles: Node , X [ft] , Y [ft] , Moment X [ft-kip/ft] , Moment Y [ft-kip/ft] , Moment XY [ft-kip/ft]
          • Columns: node,xT,yT,MX,MY,MXY
          • Show if: showmom=="TRUE"

We are done defining the browser-based report that will be generated by each submitted run of our EASAP. Now display some of the generated results back on the user interface of your EASAP. Copy the plate displacement graph for pasting the user interface.

  • Select OUTPUT→report1→graph_Disp
    • Type Ctrl-C
  • Expand the USER INTERFACE branch and then expand the DIAGRAM LIST
    • Select loads2
      • Type Ctrl-B

A new 2D GRAPH will appear on the tree, rename it graph_Disp_results

  • Right-click the TABBED PANE USER INTERFACE→report
    • Select Sibling→Add TABBED PANE
      • Rename it results
        • Set:
          • Tab: 5. Results
          • Diagram: graph_Disp_results
          • Enable if: results_ready=="TRUE"
          • Divider Location: -80
  • Right-click on OUTPUT→report1→Mom_table
    • Select Copy
      • Expand the TABBED PANE USER INTERFACE→result
        • Select Paste (Child)

Add some results output to results.

  • Right-click on results
    • Select Child→Add LABEL ()
      • Rename it Max_disp
        • Set:
          • Label: Maximum Plate Displacement: %MaxDisp% in.

Copy the tabulated data from your report onto this pane.

  • Select OUTPUT→report1→Disp_table
    • Type Ctrl-C
      • Select USER INTERFACE→results→Max_disp
        • Type Ctrl-B

For this new TABULATED DATA

  • Set:
    • Column Titles: Node, X [ft], Y [ft], dZ [in]
    • Height: 400

The final step in adding the results display to the user interface is to add EVENT PROCESSING to refresh automatically when the results are completed.

  • Right-click TABBED PANE LIST
    • Select Child→Add EVENT PROCESSING
  • Select USER INTERFACE
    • Set:
      • Results Time: 5
  • Now save the EASAP, and then check the EASAP tree to ensure that the OUTPUT branch looks like this:

At this point, you can also get a preliminary view of the report that will be generated by the objects in the OUTPUT branch.

  • Back in your EASA browser window select EASA→Authoring→Testing and click View Results button () in the Output column for the test run completed in the previous practical session.

The following should appear in the browser window:

If you scroll down in the window, you should also see the following:

Note: If your results pages do not look like what is shown above, you may have a problem with the original EASAP run or with the objects on your OUTPUT branch. You can try to resolve the problem now or wait until Session 8 where we test and troubleshooting our EASAP.

  • After reviewing the OUTPUT content, return to EASAP Builder and then exit it.

We have completed Session 6. Let's continue to Session 7.


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


Page Tools