A user runs a thermal transient analysis in Workbench Simulation. The temperatures from each time step need to be used in a corresponding Flexible Dynamic analysis (i.e., transient structural analysis). Using the "Thermal Condition" load to read in temperatures from 100 Steps is cumbersome. Is there an easier way to accomplish this?

A "Commands" object using the LREAD command can be used to perform such an analysis. The overall steps are outlined below:

(1) Set up and solve the Thermal Transient analysis as normal

(2) Set up the Flexible Dynamic analysis (supports and other external loads)

(3) The temperatures are read in at each Step, so the user should not use substeps/timesteps but, instead, define as many Steps as needed under "Analysis Settings". For example, a user may run a thermal transient analysis for 50 seconds using 1 Step and automatic time-stepping. However, for the Flexible Dynamic analysis, the user may want to read in temperatures at 0.5 second intervals. In this case, the user should define 100 Steps for the Flexible Dynamic Analysis Settings with each Step having an appropriate End Time value. 1 substep can be defined for each Step, or automatic time-stepping can be used within each Step if the simulation is very nonlinear- however, keep in mind that temperatures will be ramped linearly within the Step. To facilitate setting timestep controls for multiple Steps, use "Select All" in the Analysis Settings Timeline, then modify all the timesteps at once in the Details view. The End Times can be modified by copying/pasting values in the Table to/from Excel. Lastly, keep in mind that if temperatures are read in from the Thermal Transient analysis for a time value that is not solved, linear interpolation will be used to obtain the temperature profile (i.e., if temperatures at TIME=10.5 are requested but the thermal simulation has temperature results at TIME=10 and TIME=11, linearly interpolation will be performed to obtain the temperature profile at TIME=10.5).

(4) Insert a "Commands" object. Ensure that in the Details view that the "Step Selection Mode" is set to "All" so that the commands will be used at each Step. Assuming that each Step in the Flexible Dynamic analysis is of a 0.5 second time increment, the contents will consist of the following twolines:
ldread,temp,,,MY_TIME,,'..Transient Thermalfile',rth
MY_TIME, if not initialized, will default to a very tiny value (essentially zero), or the user can initialize the value with an additional "Commands" object. In this example, MY_TIME parameter will increment itself by 0.5. This value then references the ending time for the current Step. Assuming that the thermal transient results are under a branch with the default name "Transient Thermal," the LDREAD command grabs the temperatures from that result file. Note that if multiple "Thermal Transient" branches exist, the second branch onwards will have a "(2)" appended to the name; hence, the user should verify that the correct folder "i.e., "Transient Thermal" in this case) is referenced. Also, if the user is not using constant time steps, a separate Commands object can be used to initialize an array of time values for each Step to be used in place of the MY_TIME parameter.

(5) Request structural results as normal and solve. Note that if thermal strain output is required, a 'dummy' Thermal Condition load must be present, although the user leave the values as constant room temperature, as the temperatures read in from the thermal transient analysis via LDREAD command will be used instead.

Try this procedure with a simple model to verify the methodology. Note that there are really only 2 special steps (#3 and 4 above) - defining the appropriate Steps under "Analysis Settings" and using two ANSYS commands in a Commands object - so this should be straightforward to implement.

Show Form
No comments yet. Be the first to add a comment!