www.kxcad.net Home > CAE Index > ANSYS Index > Release 11.0 Documentation for ANSYS
You can approach an ANSYS probabilistic design as a batch run or interactively through the Graphical User Interface (GUI). The approach you take depends upon your experience and preference for interacting with the ANSYS program.
If you are familiar with ANSYS commands, you may want to perform the entire probabilistic design analysis by creating an ANSYS command input file and submitting it as a batch job. The command method may be more efficient for complex analyses (for example, nonlinear) requiring extensive run time.
The interactive features of probabilistic design offer flexibility and immediate feedback for review of loop results. When performing probabilistic design via the GUI, it is important to first establish the analysis file for your model.
The usual process for probabilistic design consists of the following general steps. The steps may vary slightly, depending on whether you are performing probabilistic design interactively (through the GUI) or in batch mode. The items in parentheses indicate which ANSYS processor is necessary to perform the given task.
Create an analysis file for use during looping. The file should represent a complete analysis sequence and must do the following:
Build the model parametrically (PREP7).
Obtain the solution(s) (SOLUTION).
Retrieve and assign to parameters the quantities that will be used as random input variables and random output parameters (POST1/POST26).
Establish parameters in the ANSYS database which correspond to those used in the analysis file. This step is typical, but not required (Begin or PDS); however, if you skip this step, then the parameter names are not available for selection in interactive mode.
Visualize random input variables (PDS). Optional.
Execute the loops required for the probabilistic design analysis (PDS).
Fit the response surfaces (if you did not use a Monte Carlo Simulation method) (PDS).
Because analyzing complex problems can be time-consuming, ANSYS offers you the option of running a probabilistic analysis on a single processor or distributing the analyses across multiple processors. By using the ANSYS PDS parallel run capabilities, you can run many analysis loops simultaneously and reduce the overall run time for a probabilistic analysis.
The analysis file is crucial to ANSYS probabilistic design. The probabilistic design system (PDS) uses the analysis file to form the loop file, which in turn is used to perform analysis loops. Any type of ANSYS analysis (structural, thermal, magnetic, etc.; linear or nonlinear) may be incorporated into the analysis file.
The model must be defined in terms of parameters (both RVs and RPs). Only numerical scalar parameters are used by the PDS. You can use up to a total of 5000 parameters (RVs and RPs together). See Use ANSYS Parameters in the Modeling and Meshing Guide for a discussion of parameters. See the ANSYS Parametric Design Language Guide for a discussion of the ANSYS Parametric Design Language (APDL).
It is your responsibility to create and verify the analysis file. It must represent a clean analysis that will run from start to finish. Most nonessential commands (such as those that perform graphic displays, listings, status requests, etc.) should be stripped off or commented out of the file. Maintain only those display commands that you want to see during an interactive session (such as EPLOT), or direct desired displays to a graphics file (/SHOW). Because the analysis file will be used iteratively during probabilistic design looping, any commands not essential to the analysis will decrease efficiency.
You can create an analysis file by inputting commands line by line via a system editor, or you can create the analysis interactively in the ANSYS program and use the ANSYS command log as the basis for the analysis file.
Creating the file with a system editor is the same as creating a batch input file for the analysis. (If you are performing the entire probabilistic design in batch mode, the analysis file is usually the first portion of the complete batch input stream.) This method allows you full control of parametric definitions through exact command inputs. It also eliminates the need to clean out unnecessary commands later. If you are unfamiliar with ANSYS commands, however, this method may be inconvenient.
You prefer to perform the initial analysis interactively, and then use the resulting command log as the basis for the analysis file. In this case, you must edit the log file to make it suitable for probabilistic design looping. For more information about using the log files, see "Using the ANSYS Session and Command Logs" in the Operations Guide.
The simple beam problem introduced earlier illustrates a probabilistic design analysis.
Young's modulus is 20E4.
PREP7 is used to build the model in terms of the RV parameters. For our beam example, the RV parameters are H1 (snow height at left end), H2 (snow height at right end), and the Young's modulus E.
... ! Initialize ANSYS parameters: H1=100 ! Initialize snow height H1 @ left end (in mm) H2=100 ! Initialize snow height H2 @ right end(in mm) YOUNG=200.0e3 ! Initialize the Young's modulus (in N/mm**2) ROOFWDT=1000.0 ! Initialize roof width left and right of beam (in mm) BWDT=10.0 ! Initialize beam width (in mm) BHGT=40.0 ! Initialize beam height (in mm) BLEN=3000.0 ! Initialize beam length (in mm) SNOWDENS = 200e-9 ! Density of snow (200 kg/m**3) GRAVACC = 9.81 ! Earth gravity (in N/kg) LOAD1 = H1*GRAVACC*ROOFWDT*SNOWDENS ! Pressure load due to snow @ left end LOAD2 = H2*GRAVACC*ROOFWDT*SNOWDENS ! Pressure load due to snow @ right end DELLOAD = LOAD2-LOAD1 ! ! Material definitions: MP,EX,1,YOUNG ! Young's modulus MP,PRXY,1,0.3 ! Poisson's ratio ! ! Create the geometry (a line) K,1,0,0,0 ! keypoint at left end K,2,BLEN,0,0 ! keypoint at right end L,1,2,100 ! line between keypoints ! ! Mesh definitions ET,1,BEAM3 ! 2-D beam element AREA=BWDT*BHGT ! Beam cross-sectional area IZZ=(BWDT*(BHGT**3))/12 ! Moment of inertia about Z R,1,AREA,IZZ,BHGT ! Real constants in terms of RV parameters LATT,1,1,1 LMESH,1 ! mesh the line FINISH ! Leave PREP7 ...
As mentioned earlier, you can vary virtually any aspect of the design: dimensions, shape, material property, support placement, applied loads, etc. The only requirement is that the design be defined in terms of parameters. The RV parameters (H1, H2, and E in this example) may be initialized anywhere, but are typically defined in PREP7.
If you build your model interactively (through the GUI), you will encounter many situations where data can be input through graphical picking (such as when defining geometric entities). Because some picking operations do not allow parametric input (and PDS requires parametric input), you should avoid picking operations. Instead, use menu options that allow direct input of parameters.
The SOLUTION processor is used to define the analysis type and analysis options, apply loads, specify load step options, and initiate the finite element solution. All data required for the analysis should be specified: master degrees of freedom in a reduced analysis, appropriate convergence criteria for nonlinear analyses, frequency range for harmonic response analysis, and so on. Loads and boundary conditions may also be RVs as illustrated for the beam example here.
The SOLUTION input for our beam example could look like this:
...
/SOLU
ANTYPE,STATIC ! Static analysis (default)
D,1,UX,0,,,,UY ! UX=UY=0 at left end of the beam
D,2,UY,0,,,, ! UY=0 at right end of the beam
!D,2,UX,0,,,,UY ! UX=UY=0 at right end of the beam
elem=0
*get,numele,ELEM,,COUNT
*DO,i,1,numele
elem=elnext(elem) ! get number of next selected element
node1=NELEM(elem,1) ! get the node number at left end
node2=NELEM(elem,2) ! get the node number at right end
x1 = NX(node1) ! get the x-location of left node
x2 = NX(node2) ! get the x-location of rigth node
ratio1 = x1/BLEN
ratio2 = x2/BLEN
p1 = LOAD1 + ratio1*DELLOAD ! evaluate pressure at left node
p2 = LOAD1 + ratio2*DELLOAD ! evaluate pressure at left node
SFBEAM,elem,1,PRES,p1,p2 ! Transverse pressure varying linearly
! as load per unit length in negative Y
*ENDDO
SOLVE
FINISH ! Leave SOLUTION
...This step is not limited to just one analysis. You can, for instance, obtain a thermal solution and then obtain a stress solution (for thermal stress calculations).
If your solution uses the multiframe restart feature, all changes to the parameter set that are made after the first load step will be lost in a multiframe restart. To ensure that the correct parameters are used in a multiframe restart, you must explicitly save (PARSAV) and resume (PARESU) the parameters for use in the restart. See the Basic Analysis Guide for more information on multiframe restarts.
This is where you retrieve results data and assign them to random output parameters to be used for the probabilistic portion of the analysis. Use the *GET command (Utility Menu> Parameters> Get Scalar Data), which assigns ANSYS calculated values to parameters, to retrieve the data. POST1 is typically used for this step, especially if the data are to be stored, summed, or otherwise manipulated.
In our beam example, the maximum deflection and the maximum stress of the beam are random output parameters (RPs). The parameters for these data may be defined as follows:
...
/POST1
SET,FIRST
NSORT,U,Y ! Sorts nodes based on UY deflection
*GET,DMAX,SORT,,MIN ! Parameter DMAX = maximum deflection
!
! Derived data for line elements are accessed through ETABLE:
ETABLE,VOLU,VOLU ! VOLU = volume of each element
ETABLE,SMAX_I,NMISC,1 ! SMAX_I = max. stress at end I of each
! element
ETABLE,SMAX_J,NMISC,3 ! SMAX_J = max. stress at end J of each
! element
!
ESORT,ETAB,SMAX_I,,1 ! Sorts elements based on absolute value
! of SMAX_I
*GET,SMAXI,SORT,,MAX ! Parameter SMAXI = max. value of SMAX_I
ESORT,ETAB,SMAX_J,,1 ! Sorts elements based on absolute value
! of SMAX_J
*GET,SMAXJ,SORT,,MAX ! Parameter SMAXJ = max. value of SMAX_J
SMAX=SMAXI>SMAXJ ! Parameter SMAX = greater of SMAXI and
! SMAXJ, that is, SMAX is the max. stress
FINISH
...
If you choose to create your model interactively in ANSYS, you must now derive the analysis file from the interactive session. Use the command log or the session log file to do so. For more information on using these log files, see "Using the ANSYS Session and Command Logs" in the Operations Guide.
Do not use the /CLEAR command in your analysis file as this will delete the probabilistic design database during looping. If this happens, the random input variables are no longer recognized during looping and you will get the same (deterministic) results for all simulation loops. However resume the ANSYS database using the RESUME command as part of your analysis file. For example, this is helpful if the variations of the random input variables do not require that meshing is done in every loop (because the mesh is not effected). In this case you can mesh your model, save the ANSYS database, and resume the database at the beginning of the analysis file.
After completing the analysis file, you can begin the probabilistic design analysis. (You may need to reenter ANSYS if you edited the analysis file at the system level.)
When performing probabilistic design interactively, it is advantageous (but optional) to first establish the parameters from the analysis file in the ANSYS database. (It is unnecessary to do so in batch mode.)
To establish the parameters in the database:
Resume the database file (Jobname.DB) associated with the analysis file. This establishes your entire model database in ANSYS, including the parameters. To resume the database file:
| Command(s): | RESUME |
| GUI: | Utility Menu> File> Resume Jobname.db Utility Menu> File> Resume from |
Read the analysis file into ANSYS to perform the complete analysis. This establishes your entire model database in ANSYS, but might be time-consuming for a large model. To read the analysis file:
| Command(s): | /INPUT |
| GUI: | Utility Menu> File> Read Input from |
Restore only the parameters from a previously saved parameter file; that is, read in a parameter file that you saved using either the PARSAV command or the Utility Menu> Parameters> Save Parameters menu path. To resume the parameters:
| Command(s): | PARRES |
| GUI: | Utility Menu> Parameters> Restore Parameters |
Recreate the parameter definitions as they exist in the analysis file. Doing this requires that you know which parameters were defined in the analysis file.
| Command(s): | *SET |
| GUI: | Utility Menu> Parameters> Scalar Parameters |
You may choose to do none of the above, and instead use the PDVAR command to define the parameters that you declare as probabilistic design variables. See Declare Random Input Variables for information on using PDVAR.
The remaining steps are performed within the PDS processor.
| Command(s): | /PDS |
| GUI: | Main Menu> Prob Design |
In interactive mode, you must specify the analysis file name. This file is used to derive the probabilistic design loop file Jobname.LOOP. The default for the analysis file name is Jobname.pdan. You can also specify a name for the analysis file:
| Command(s): | PDANL |
| GUI: | Main Menu> Prob Design> Analysis File> Assign |
For a probabilistic design run in batch mode, the analysis file is usually the first portion of the batch input stream, from the first line down to the first occurrence of /PDS. In batch mode, the analysis file name defaults to Jobname.BAT (a temporary file containing input copied from the batch input file). Therefore, you normally do not need to specify an analysis filename in batch mode. However, if for some reason you have separated the batch probabilistic design input into two files (one representing the analysis and the other containing all probabilistic design operations), then you will need to specify the analysis file using PDANL after entering the PDS (/PDS).
In the analysis file, the /PREP7 and /PDS commands must occur as the first nonblank characters on a line. (Do not use the $ delimiter on a line containing either of these commands.) This requirement is necessary for proper loop file construction.
You cannot assign a different analysis file using the PDANL command after a probabilistic analysis has been performed. This ensures the integrity of the previously generated results with the specified probabilistic model.
Of course, ANSYS cannot restrain you from editing the analysis file or exchanging it with system level commands. If you do so, then it is your responsibility to ensure the integrity of the generated results with the definitions in the analysis file. If you are not sure that this integrity is maintained or if you know that it is not, then we recommend that you save the current PDS database via the PDSAVE command and then clear the probabilistic analysis results from the probabilistic design database using the PDCLR, POST command. The PDCLR command does not delete the result files that have been generated; it erases the link to the result files from the database.
In the example of a beam supporting a roof with a snow load you could store the analysis file in a macro called "beam.mac". Here, the analysis is specified with the commands:
... /PDS PDANL,beam,mac ...
The next step is to declare random input variables, that is, specify which parameters are RVs. As mentioned earlier, the PDS allows for a combined total of 5000 random input variables and random output parameters. To declare random input variables:
| Command(s): | PDVAR |
| GUI: | Main Menu> Prob Design> Prob Definitns> Random Input |
If the parameter name that you specify with the PDVAR command is not an existing parameter, the parameter is automatically defined in the ANSYS database with an initial value of zero.
For random input variables you must specify the type of statistical distribution function used to describe its randomness as well as the parameters of the distribution function. For the distribution type, you can select one of the following:
Gaussian (Normal) (GAUS):

You provide values for the mean value μ and the standard deviation σ of the random variable x.
Truncated Gaussian (TGAU):

You provide the mean value μ and the standard deviation σ of the non-truncated Gaussian distribution and the truncation limits xmin and xmax.
Lognormal option 1 (LOG1):

You provide values for the mean value μ and the standard deviation σ of the random variable x. The PDS calculates the logarithmic mean ξ and the logarithmic deviation δ:


Lognormal option 2 (LOG2):

You provide values for the logarithmic mean value ξ and the logarithmic deviation δ. The parameters ξ and δ are the mean value and standard deviation of ln(x):

Triangular (TRIA):

You provide the minimum value xmin, the most likely value limit xmlv and the maximum value xmax.
Uniform (UNIF):

You provide the lower and the upper limit xmin and xmax of the random variable x.
Exponential (EXPO):

You provide the decay parameter λ and the shift (or lower limit) xmin of the random variable x.
Beta (BETA):

You provide the shape parameters r and t and the lower and the upper limit xmin and xmax of the random variable x.
Gamma (GAMM):

You provide the decay parameter λ and the power parameter k.
Weibull (Type III smallest) (WEIB):

You provide the Weibull characteristic value xchr , the Weibull exponent m and the minimum value xmin. Special cases: For xmin = 0 the distribution coincides with a two-parameter Weibull distribution. The Rayleigh distribution is a special case of the Weibull distribution with α = xchr - xmin and m = 2.
You may change the specification of a previously declared random input variable by redefining it. You may also delete a probabilistic design variable (PDVAR,Name,DEL). The delete option does not delete the parameter from the database; it simply deactivates the parameter as a probabilistic design variable.
Changing the probabilistic model by changing a random input variable is not allowed after a probabilistic analysis has been performed. This ensures the integrity of the previously generated results with the specified probabilistic model. If you need to change one or more random input variables (for example, because you learned that some specifications were incorrect after running an analysis), then we recommend that you save the current PDS database (using the PDSAVE command) and then clear the probabilistic analysis results from the probabilistic design database (using the PDCLR,POST command). The PDCLR command does not delete the result files that have been generated, it simply removes the link to the results file from the database.
In the example of a beam supporting a roof with a snow load, you could measure the snow height on both ends of the beam 30 different times. Suppose the histograms from these measurements look like the figures given below.
From these histograms you can conclude that an exponential distribution is suitable to describe the scatter of the snow height data for H1 and H2. Suppose from the measured data we can evaluate that the average snow height of H1 is 100 mm and the average snow height of H2 is 200 mm. The parameter λ can be directly derived by 1.0 divided by the mean value which leads to λ1 = 1/100 = 0.01 for H1, and λ1 = 1/200 = 0.005 for H2. From measurements of the Young's modulus you see that the Young's modulus follows a Gaussian distribution with a standard deviation of 5%. Given a mean value of 200,000 N/mm2 for the Young's modulus this gives a standard deviation of 10,000 N/mm2. These definitions can be specified using the following commands:
... PDVAR,H1,EXPO,0.01 PDVAR,H2,EXPO,0.005 PDVAR,YOUNG,GAUS,200000,10000 ...
After you define your random input variables, you should use ANSYS' visual tools to verify them. You can plot individual RVs, and you can obtain specific information about them through an inquiry.
| Command(s): | PDPLOT, PDINQR |
| GUI: | Main Menu> Prob Design> Prob Definitns> Plot Main Menu> Prob Design> Prob Definitns> Inquire |
The PDPLOT command plots the probability density function as well as the cumulative distribution function of a defined random input variable. This allows you to visually check that your definitions are correct.
Use the PDINQR command to inquire about specific information for a defined random input variable by retrieving statistical properties or probing the two function curves that are plotted with the PDPLOT command. For example you can inquire about the mean value of a random input variable or evaluate at which value the cumulative distribution function reaches a certain probability. The result of this inquiry is stored in a scalar ANSYS parameter.
In a probabilistic design analysis, random input variables can have specific relationships to each other, called correlations. If two (or more) random input variables are statistically dependent on each other, then there is a correlation between those variables.
To define these correlations:
| Command(s): | PDCORR |
| GUI: | Main Menu> Prob Design> Prob Definitns> Correlation |
You specify the two random input variables for which you want to specify a correlation, and the correlation coefficient (between -1 and 1). To remove a correlation, enter DEL in the correlation coefficient field (PDCORR,Name1,Name2,DEL)
In the example of a beam supporting a roof with a snow load, the data for the snow height indicates that there is a correlation between the snow height at one end versus the snow height at the other end. This is due to the fact that it is unlikely that one end of the beam has very little snow (or no snow at all) at the same time that the other end carries a huge amount of snow. In the average the two snow heights tend to be similar. This correlation is obvious if you plot the measured data values for H2 versus the data value for H1. This scatter plot looks like this:
Performing a statistical evaluation of the data, we can conclude that the linear correlation coefficient between the values of H1 and H2 is about 0.8. You can define this correlation using the commands:
... PDVAR,H1,EXPO,0.01 PDVAR,H2,EXPO,0.005 PDCORR,H1,H2,0.8 ...
You may have a more complex correlation where you have a spatial dependency. If so, you can use the PDCFLD command to calculate a correlation field and store it into an ANSYS array.
Random fields are random effects with a spatial distribution; the value of a random field not only varies from simulation to simulation at any given location, but also from location to location. The correlation field describes the correlation coefficient between two different spatial locations. Random fields can be either based on element properties (typically material) or nodal properties (typically surface shape defined by nodal coordinates). Hence, random fields are either associated with the selected nodes or the selected elements. If a random field is associated with elements, then the correlation coefficients of the random field are calculated based on the distance of the element centroids.
Note that for correlation fields, the “domain distance” D({xi} , {xj}) is not the spatial distance |{xi} - {xj}|, but the length of a path between {xi} and {xj} that always remains inside the finite element domain. However, exceptions are possible in extreme meshing cases. For elements that share at least one node, the PDCFLD evaluates the distance by directly connecting the element centroids with a straight line. If these neighboring elements form a sharp inward corner then it is possible that the “domain distance” path lies partly outside the finite element domain, as illustrated below.

After the correlation coefficients have been calculated and stored in an ANSYS parameter (PDCFLD,ParR), then you can use the PDCORR command to define the correlations between the elements of the random field.
When specifying one variable (A) with correlations to two or more other variables (B, C, etc.), be certain that you consider the relationship implied between the other variables B and C, etc. If you specify high correlations between A and B and A and C, without specifying the relationship between B and C, you might receive an error. Specifying a relatively high correlation between A and B, with only a moderate correlation between A and C might work because the logical correlation between B and C could still be low or nonexistent.
The structure illustrated below is modeled with 12 elements. We will evaluate the domain distances of the element centroids.

First, build the finite element structure:
... /PREP7 et,1,shell63 ! create the nodes N,1,0,4 N,2,1,4 N,3,2,4 N,4,3,4 N,5,4,4 N,6,0,3 N,7,1,3 N,8,2,3 N,9,3,3 N,10,4,3 N,11,1,2 N,12,2,2 N,13,3,2 N,14,4,2 N,15,0,1 N,16,1,1 N,17,2,1 N,18,3,1 N,19,4,1 N,20,0,0 N,21,1,0 N,22,2,0 N,23,3,0 N,24,4,0 ! create the elements E,1,2,7,6 E,2,3,8,7 E,3,4,9,8 E,4,5,10,9 E,7,8,12,11 E,9,10,14,13 E,11,12,17,16 E,13,14,19,18 E,15,16,21,20 E,16,17,22,21 E,17,18,23,22 E,18,19,24,23 ...
Next, calculate the domain distances and store the results in the array “elemdist”:
... /PDS PDCFLD,elemdist,ELEM,DIST ...
Finally, get all the element domain distances and print them:
...
*GET,numsel,ELEM,0,COUNT ! Get the number of selected elements
!
! Outer loop through all selected elements from first to last
index=0
elem1=0
! Pipe output to file
/OUT,elements,dat
*DO,i,1,numsel
elem1=ELNEXT(elem1) ! get number of next selected element
*IF,elem1,EQ,0,CYCLE ! Leave do loop if no more elements
!
! Inner loop through selected elements from "elem1+1" to last
elem2=elem1
*DO,j,i+1,numsel
elem2=ELNEXT(elem2) ! get number of next selected element
*IF,elem2,EQ,0,CYCLE ! Leave do loop if no more elements
index=index+1
!
! Print out the element distance
*MSG,INFO,elem1,elem2,elemdist(index)
Distance between element %i and %i is %g
*ENDDO ! go to next element for inner loop
*ENDDO ! go to next element for outer loop
...The print out will show that for the structure illustrated above the "domain distance" between the element centroids of elements 1 and 9 is 3.8284 and between the element centroids of elements 1 and 12 it is 4.8284. The paths related to these distances are sketched in the illustration with a solid line and a dashed line respectively. In this example there are 12 elements, thus the array "elemdist" has a length of 12*(12-1) = 66.
After declaring your input variables and correlations among them you must define the random output parameters. The random output parameters (RPs) are results parameters that you are interested in. To define random output parameters:
| Command(s): | PDVAR,Name,RESP |
| GUI: | Main Menu> Prob Design> Prob Definitns> Random Output |
In the Probabilistic Design System, several probabilistic design methods are available.
You can select one of two primary methods, the Monte Carlo Simulation (default) or the Response Surface Method.
Options under the Monte Carlo Simulation method include the Latin Hypercube Sampling method (default) and the Direct Monte Carlo Sampling method.
Options under the Response Surface Method include the Central Composite Design and the Box-Behnken Matrix Design method.
Both the Monte Carlo Simulation and the Response Surface Methods allow a user-defined option. See the PDDMCS, PDLHS, and the PDDOEL, commands or Probabilistic Design Techniques for further details about these methods.
To specify a method to be used for probabilistic design looping:
| Command(s): | PDMETH |
| GUI: | Main Menu> Prob Design> Prob Method> Monte Carlo Sims Main Menu> Prob Design> Prob Method> Response Surface |
To use Response Surface Methods, the random output parameters must be smooth and continuous functions of the involved random input variables. Do not use Response Surface Methods if this condition is not satisfied.
You can use the Probabilistic Method Determination Wizard to find the fastest method for solving your probabilistic analysis. You should have completed one analysis prior to starting the wizard.
Use Main Menu> Prob Design> Prob Method> Methods Wizard to access the wizard. Answer the questions on the screens as they are presented. Before you start the wizard, you should know:
How long did it take to run the analysis file (hours, minutes, seconds)? Or, you should give an estimation of the time it will take if you haven't run the analysis yet.
How many CPUs are available to run the probabilistic analysis (if running parallel processing)?
Is your output parameter a smooth/continuous function of the input parameters?
What results are you interested in evaluating? Options are mean values, standard deviation, sensitivities, or acceptable part failures.
Below is one of the wizard screens, as an example.
Based on the information you provide, the wizard will tell you the fastest method for solving your probabilistic design problem. The wizard will issue the PDMETH command and either the PDLHS or the PDDOEL command. You will still need to run the analysis, then fit the results to a response surface, etc. to evaluate your results.
You can execute your analysis on your computer alone (serial execution), or using other computers in your network to save running time and speed processing (parallel execution).
If you want to use serial processing only, select the serial option from the Run menu.
If you want to run parallel analyses on multiple CPUs, you must first set the parallel options before performing the analysis. (See PDS Parallel Analysis Runs for more details).
| Command(s): | PDEXE |
| GUI: | Main Menu> Prob Design> Run> Exec Serial> Run Serial Main Menu> Prob Design> Run> Exec Parallel> Run Parallel |
For security reasons ANSYS strongly recommends that you use parallel processing only within the firewall of your local area network.
If you choose serial processing to perform a probabilistic analysis then you will utilize only the CPU of the computer you are working on. If you have access to only one license of ANSYS or if you have access to only one computer, then this is the only way in which you can run a probabilistic analysis. While the simulation loops are running in serial mode, your ANSYS session is locked (you cannot perform other tasks in the same ANSYS session). If you are running your ANSYS session in interactive mode then the simulation loops are also performed in interactive mode. If you are running your ANSYS session in batch mode then the simulation loops are performed in batch mode.
If you choose the PDS parallel-processing option, you can use other CPUs that you have access to for running the probabilistic analysis. PDS parallel processing can distribute the necessary jobs in a local area network. With this option, the simulation loops are sent to CPUs that you can specify, where they are executed in "server mode." This looks the same as a batch run (in other words, there is no interactive visualization during the execution of a simulation loop). While the simulation loops are running in parallel mode, your ANSYS session is locked; however, you can instruct the ANSYS session to start postprocessing the probabilistic results as they are calculated so you can review and visualize the results before all simulation loops are finished.
In parallel processing, you can monitor the running jobs and the completed results.
When using parallel-processing, for n available licenses, n - 1 will be available for PDS solutions, as one license is used as a PDS administrator. For example, if you have 8 licenses available, you will be able to run 7 PDS solutions concurrently.
Regardless of whether you opt for serial or parallel processing, ANSYS controls the analysis looping; you cannot modify this process. It does the following:
Always reads the analysis file from the beginning.
Always ignores the RV settings and replaces their value with the derived value that the probabilistic method has assigned to an RV for a particular loop.
Always reads the PDS database after each loop.
For the execution of the simulation loops you must specify a solution label (Slab on the PDEXE command). The solution label is used for several purposes:
The results are stored in an ASCII readable file under the name "jobname_Slab.pdrs". Here, Slab is the user-specified solution label.
If you want to fit response surfaces to the results of the random output parameters then you need to specify the solution label to indicate which set of results you want to use for the fitting procedure.
If you want to postprocess the results generated with the PDEXE command then you must specify the solution label to indicate which results you want to postprocess.
When you execute the probabilistic analysis (PDEXE), ANSYS creates a probabilistic design loop file (Jobname.LOOP) from the analysis file. This loop file is used to perform analysis loops. Looping continues until all parameters have been evaluated.
If a loop is interrupted due to an error in the execution run (for example, a meshing failure, a non-converged nonlinear solution, etc.), ANSYS PDS aborts that loop. Further processing depends if you are in serial or parallel processing mode. If you are using:
Serial interactive processing: you can choose to terminate when you receive the error, or continue processing.
Serial batch processing: processing terminates at the first error.
Parallel processing: processing terminates if the allowed number of failed loops is exceeded (set in PDEXE), otherwise it continues.
Note that for all failed loops (loops with errors), the results for that loop are discarded, no data from that loop is used for post processing.
After the PDEXE command is issued, the PDS generates a file containing the input sample values. The file is called jobname.samp. An example of the content of the file is given below:
TEST1 ITER CYCL LOOP X1 X2 X3 1 1 1 1.619379209e+000 2.364528435e-001 1.470789050e+000 1 1 2 2.237676559e-001 5.788049712e-001 1.821263115e+000 1 1 3 7.931615474e+000 8.278689033e-001 2.170793522e+000 .. .. .. ... ... ... .. .. .. ... ... ...
The first line contains the solution label (the parameter Slab is set via the PDEXE command); the second line contains the headers of the data columns - the iteration number, cycle number, loop number, and the random variable names. The iteration number and cycle number tell the PDS to which group (with specific PDS method and settings) the loops belong. Subsequent lines provide specific iteration, cycle, loop, and input sample values for the defined input variables.
The PDS also creates a file where the results are stored. The name of the results file is jobname_Slab.pdrs. Before the job is executed, the file looks like this:
TEST1 ITER CYCL LOOP ERR X1 X2 X3 RESULT
In the first line, the PDS enters the solution label. In the second line are the headers for the data columns: the first four columns are the iteration, cycle number, loop number, and an error flag. The fifth and subsequent columns are for the random input variable and random output parameter values. If you run a subsequent analysis (same type of analysis with the same solution label), the cycle is incremented, the loop count is reset to 1, and the result file is appended.
For example, the content of the result file could look like this:
TEST1 ITER CYCL LOOP ERR X1 X2 X3 RESULT 1 1 1 0 1.619379209e+000 2.364528435e-001 1.470789050e+000 4.162928057e+000 1 1 2 0 2.237676559e-001 5.788049712e-001 1.821263115e+000 4.744249212e+000 1 1 3 0 7.931615474e+000 8.278689033e-001 2.170793522e+000 1.149997825e+001 .. .. .. .. ... ... ... ... .. .. .. .. ... ... ... ...
Loops ending with an ANSYS error are deemed "not trustworthy", i.e. if the loop lead to an error, then the calculated results are probably wrong. Those loops will have the error flag in the fourth column set to "1" instead of "0". Those loops will be excluded from the probabilistic post-processing altogether, i.e. the loops will not be used for the response surface fitting and also the statistical analysis in connection with a Monte Carlo simulation will skip those loops.
Serial execution of the probabilistic analysis is useful for smaller models, or if you have access to only one machine.
| Command(s): | PDEXE |
| GUI: | Main Menu> Prob Design> Run> Exec Serial> Run Serial |
To save time when analyzing large models with PDS, use the parallel processing option available under the PDEXE command, if you have multiple CPUs available.
To successfully execute a probabilistic analysis in parallel mode you need to follow three steps:
Configure the remote machines that you want to use for parallel processing. See Machine Configurations for details. You must have account privileges on all remote hosts.
Configure the local machine that you want to use for managing the parallel processing. See Configuring the Master Machine for details.
Start the parallel execution.
Each of these steps is explained in detail in the following sections.
An understanding of the following terms will be useful in the discussion of the parallel analysis.
Simulation: A simulation is a set of input variables used with the analysis file to produce the output variables
Parent Process: The parent process is the ANSYS executable which manages the creation of input parameters, communication with child processes, and postprocessing of output parameters (i.e. this is where the ANSYS session runs, which you started to perform a probabilistic design analysis). There is only one parent process for a parallel analysis.
Child Process: A child process is an ANSYS server running on a particular slave machine which processes a simulation. There can be any number of children for a given parent process.
Master Machine: This is the machine on which you are running the ANSYS parent process. If this machine has more than one CPU you may want to also use it as a slave machine.
Slave Machine: This is the name of the machine on which you are running the ANSYS child process. If the slave machine has more than one CPUyou may want to run more than one child process.
ANSYS Nanny: This is a program in the parent process that starts a child process on a slave machine; manages the transfer of files and data between the parent process and child processes and eventually terminates the child processes on the various slave machines and removes temporary files.
ANSYS Thin Server: This is an application, which must be running on the slave machine, which is responsible for tranferring files between the master machine and slave machine as well as starting an ANSYS session for each child process. This application may be started automatically (remote shell option) or you can start it manually (connection port option).
ANSYS Server: This is the ANSYS application using TCP/IP which receives commands and return information to the parent process (client-server).
Connection Port: This is the port on which the ANSYS Thin Server accepts connections from a Master Machine.
Communication Port: This is a port on which the ANSYS Thin Server will allow communications from a Master Machine.
For security reasons, ANSYS recommends that you use parallel processing within your local network protected by a firewall. There is minimal security when using the ANSYS Thin Server. The client that connects to the server has all of the permissions allowed by the person or account starting the ANSYS Thin Server.
The slave machines host one or more child processes. To be able to host a child process the slave machine must have the ANSYS Thin Server running. The ANSYS Thin Server may be started automatically using the remote shell option or manually using the connection port option.
You can designate any machine that has a licensed copy of ANSYS installed as a remote host (slave machine) but it is a good practice to follow these guidelines when selecting remote hosts:
Use idling computer power. During regular work hours, computers usually have designated "owners" using the machines for interactive work. Using these computers for parallel processing can slow down the machine performance and possibly disturb your colleagues in their work. However, computers are usually idle at night and can then be used without disturbing others.
Use machines that are dedicated as computer servers. There might be some computers in your work environment that are not used for interactive work at all. It is fairly safe to use these computers as remote hosts for parallel-processing at all times.
Check with your System Administrator for additional guidelines.
With this option the ANSYS Thin Server is started and configured to communicate with the Master machine automatically. To use the remote shell option requires the following on each slave machine:
A remote shell daemon must be running
An account that the master machines remote shell command can communicate with
The master machine and user name must be granted access for the account
The installation path for the ANSYS executable must be in the lookup path
A valid ANSYS license available for the child process
Your system administrator should install and configure your machine to assure that this daemon or service is running. The PC does not ship with a remote shell daemon facility so you will need to acquire one (you may use the connection port ooption instead).
Your system administrator should create an account specifically for you or an account utilized only for PDS parallel.
Depending on how and which remote shell daemon is installed it will need to know which master machines and users can access this account. This is typically done using the .rhosts file located in the account's HOME directory, refer to the documentation for your particular remote shell daemon. So for example:
On all slave machines edit/create the ".rhosts"-file in your home directory to include:
| MasterMachine1 UserId |
| MasterMachine2 UserId |
| MasterMachine3 UserId |
| MasterMachine4 UserId |
| … |
To be able to run the parallel process the ANSYS executable and ANSYS Thin Server script must be in your path. The most effective way to determine this is to do the following.
Determining if the ANSYS executable is in your path:
On the master machine use the command "rsh SlaveMachine which ansys110" (replace rsh by remsh if master machine is an HP machine). This should return the string
| …/ansys110/bin |
Here "…" is for the directory where ANSYS is installed. If you do not get this then you need to modify your PATH variable to contain the installation path. The way this is done depends on the operating system being used, refer to the documentation for your particular O/S environment. Here are some examples for typical uses:
To change the PATH requires you to modify a certain system file depending which shell you are running under. To find out which shell you are using, issue the UNIX command
| echo $shell or echo $SHELL |
If the prompt is "/bin/csh" or similar, then you are running under c-shell. If the prompt is "/bin/ksh" or similar, then you are running under k-shell. If the prompt is "/bin/tcsh" or similar, then you are running under tc-shell, which can be treated the same as c-shell.
If you are running under c-shell (or tc-shell) you need include the following line at the end of your ".cshrc"-file in your home directory:
| set path=( .../ansys110/bin $path) |
If you are running under k-shell you need include the following line at the end of your ".kshrc"-file in your home directory:
| export PATH={ .../ansys110/bin $PATH } |
If you don't have a ".cshrc"-file or ".kshrc"-file in your home directory, then you need to create one and include the respective commands mentioned above.
To change the PATH variable go to Control Panel and choose System on the Advanced tab choose Environment Variables and add the ANSYS executable to the PATH under System variables.
Determining if the ANSYS Thin Server script is in your path:
On the master machine issue the command "rsh SlaveMachine which ansysts110". This should return the string
| …/ansys110/bin |
Here "…" is for the directory where ANSYS is installed. If you do not get this then you need to modify your PATH variable as outlined above.
If the licensing is not managed from a license server, but installed locally then the access to the license must be made available. Include the following line at the end of your ".cshrc"-file or ".kshrc-file in your home directory depending which shell you are running under (see above):
| setenv ANSYSLMD_LICENSE_FILE. ../shared_files/licensing/FileName.lic |
Here "…" is for the directory where ANSYS is installed. The name "FileName.lic" is for the file containing the license key.
With this option the communication between the ANSYS Nanny and the ANSYS Thin Server is manually configured and started. The ANSYS Nanny running on a master machine can only make a connection to an ANSYS Thin Server using a specific connection port. The ANSYS Nanny reads the connection port from the "hosts110.ans"-file. When the ANSYS Thin Server is started, with the same specific connection port, it reads the file "AnsysClients" from the same directory it is started within to determine the communication ports and master machines with which it will communicate.
The purpose of these two different port numbers is a two-level authentication mechanism. You can only use an ANSYS Thin Server on a certain slave machine, if you know which connection port it is using and those communication ports from which it will accept communications. If the connection port is not correct, then you will not be able to even make a connection to the ANSYS Thin Server. If the communication port number is incorrect, then the ANSYS Thin Server will refuse the connection.
To use the connection port option requires the following on each slave machine:
An account that you have access to
The installation path for the ANSYS executable must be in the lookup path
Configuring the AnsysClients file
A valid ANSYS license available for the child process
Start the ANSYS Thin Server
Stop the ANSYS Thin Server
Your system administrator should create an account specifically for you.
See Using the Remote Shell Option for information on how to place the ANSYS executable in your path.
The AnsysClients file is read by the ANSYS Thin Server on startup and must be in the directory in which you are going to run the ANSYS Thin Server. This file must contain a list of each master machine IP address and the communication port that the ANSYS Thin Server will accept communications from. The master machine's IP address must be used, but may be specified with a wildcard to allow connection from a network domain. The communication port is to be a value between 49512 and 65535. The communication port can also be specified as a range, which allows for that many connections. It is best to always specify a range for the communication port numbers. For example:
| 10.3.* 59100-59130 |
| 10.3.20.1 59200-59230 |
| 10.2.5.55 59300-59330 |
| 10.1.1.104 59400-59430 |
| 192.1.10.34 59500-59530 |
| … |
| … |
Make sure that the port number ranges are not overlapping and are unique for each master machine or network domain. You should make the range at least as wide as the number of possible users connecting from a master machine.
Starting on a PC
On a PC open a command prompt window and go to the directory containing the AnsysClients file mentioned above.
Issue the command: ansysts110 connection port
This will start the ANSYS Thin Server using the specific connection port. The value of connection port is the port on which the master machines will connect to the ANSYS Thin Server. The value of "connection_port" should be between 49512 and 65535. For example:
ansysts110 62000
The ANSYS Thin Server will start without any message and will continue running until the command prompt window is closed or using Ctrl-C to stop the process. The command prompt window may be minimized.
Starting on a UNIX Machine
On a UNIX machine go to the directory containing the AnsysClients file mentioned above.
Issue the command: ansysts110 connection_port &
This will start the ANSYS Thin Server using the specific connection port. The value of connection port is the port on which the master machines will connect to the ANSYS Thin Server. The value of "connection_port" should be between 49512 and 65535. For example:
ansysts110 62000&
The ANSYS Thin Server will start without any message and will continue running in the background until the machine is restarted or you kill the process. You may close or minimize the window in which the ANSYS Thin Server was started.
The ANSYS Thin Server should be stopped once the parallel process is complete.
Stopping on a PC
You may stop the process by closing the command prompt window or using Ctrl-C.
Stopping on a UNIX Machine
On a UNIX machine use a "ps -u UserId | grep tclsh" in the command line to find out under which process-id the ANSYS Thin Server is running. Here, UserId is your user account name on the machine. With this "ps" command should get two processes running. Typically, there will be two processes listed, one process for "anstclsh" and another for "tclsh". Use "kill -9 process-id" to kill both processes. Under certain circumstances killing the "anstclsh"-process will also take away the "tclsh"-process (just issue the "ps" command again to verify). If this does not happen, then just kill the "tclsh"-process separately.
After you have configured the slave machines you need to configure the master machine for the type of ANSYS Thin Server startup you chose to use on the slave machines. The communication from the master machine to the slave machines is done by the ANSYS Nanny which is a program running in the parent process. It takes care of running the necessary simulations on different slave machines. It will establish the connection to the slave machines, copy the necessary files over to the slave machines, start and monitor the running simulations and clean up the working directories after the entire sequence of simulations is finished. The ANSYS Nanny will be started automatically as you start executing PDS simulations in parallel, distributed mode.
For parallel processing you need to specify the remote hosts you want to use. This information is placed in a file called hosts 110.ans. You can create this file using a text editor or you can use the ANS_ADMIN utility (see the online help available with the ANS_ADMIN utility for more information). This file contains host information for all remote machines on which you may want to run. This file is global and does not contain job-specific information. Typically, your IT administrator would provide this file, including all the information about the slave machines a typical user can use in your network. If you have multiple users running parallel or distributed jobs at your site, you should have one hosts 110.ans file for all users. But you can copy this file to your local working directory and make adjustments. ANSYS searches for this file first in the local directory, followed by the home directory, and finally the apdl directory.
You have two options when setting up the Master Machine to use the ANSYS Thin Server on the slave machines.
Let's assume that the slave machine called "MySlaveMachine" has been prepared to work under the remote shell option as outlined above. The slave machine "MySlaveMachine" is an SGI UNIX machine and it has 4 CPUs. On the slave machine we also want to use the directory "/tmp/sdr/pds_runs" as the local directory for the remote simulations to run in. In this case your hosts 110.ans file must include the line:
| # | ||||||
| # HOST | OS | PORT | CPU | TIME | LocPORT | I/O Directory |
| MySlaveMachine | SGI64 | 0 | 4 | 15 | 0 | /tmp/sdr/pds_runs |
Let's assume you now want to use the same slave machine "MySlaveMachine" using the ANSYS Thin Server. The ANSYS Thin Server has been started on a slave machine called "MySlaveMachine" using the command "ansysts110 62000as illustrated above. Let us also assume that the file "AnsysClients" looks exactly like shown in the section above, i.e. your master machine "MyMasterMachine" can communicate to the ANSYS Thin Server using the communication port numbers 59400-59430. In this case your hosts 110.ans file must include the line:
| # | ||||||
| # HOST | OS | PORT | CPU | TIME | LocPORT | I/O Directory |
| MySlaveMachine | SGI64 | 62000 | 4 | 15 | 59400-59430 | /tmp/sdr/pds_runs |
This will make sure that the ANSYS Thin Server on the slave machine will be contacted using the same connection port it has been started with, i.e. 62000 in this case. Also the communication will use the same communication port numbers the ANSYS Thin Server accepts from the machine "MyMasterMachine" where you try to connect from.
A sample hosts110.ans file looks like this:
# This file is used to specify those hosts that the ANSYS Nanny may
# run children on.
#
# Each host entry is to be on its own line. The host entry consists of
# several fields which are space delimited.
#
# Field 1 - host IP address or name
# Field 2 - host machine type
# Field 3 - execution key (used for Probabilistic Design only):
# 0-Use a remote shell to start the child process;
# this requires a remote shell server to be
# running on the host machine.
# >1024-Use a running ANSYS thin server on the host
# which is listening on this port number.
# Field 4 - The default maximum number of jobs to run on this host
# Field 5 - The time in minutes to check again if the host is available.
# If this is zero then the host will not be checked again.
# Field 6 - The local port number to start the communication with the
# ANSYS Thin Server on. This is tied to authentication on the
# ANSYS Thin Server.
# Field 7 - The directory to create the children subdirectories in
# Field 8 - The cluster type. Only valid entry is MPI.
# Field 9 - The speed factor (relative speed to other machines listed).
Only valid entry is 1.
# Field 10 - Number of OpenMP threads. Only valid entry is 1.
# Example:
#
# UNIX box that has five processors
# zeus sgi64 0 5 30 2000 /scratch/wjc
# Microsoft box using the ANSYS Thin Server
# wjcpc XP 2010 1 0 2000 C:\TEMP
alpha1 alpha 0 1 15 2000 /scratch/epc MPI 1 1
athena sgi64 0 1 15 2000 /scratch/epc MPI 1 1
rs43p rs6000 0 1 15 2000 /home/pdstest MPI 1 1
rs260 rs64 0 1 15 2000 /home/pdstest MPI 1 1
snoopy hppa8000 0 1 15 2000 /home/pdstest MPI 1 1
alpha24 alpha 0 1 15 2000 /home/pdstest MPI 1 1
hp770 hppa8000 0 1 15 2000 /home/pdstest MPI 1 1
us60 usparc 0 1 15 2000 /home/pdstest MPI 1 1
ss60 sun64 0 1 15 2000 /home/pdstest MPI 1 1The picture below illustrates an example of the set-up of a network with 2 master machines and 4 slave machines using the connection port option. Here, the first master machines uses slave machines 1, 2 and 3, while the second master machine is using only slave machines 2, 3 and 4. In this illustration "NN" represents the revision number of ANSYS.

After the host110.ans file is specified you need to provide specific information that may change from analysis to analysis.
If you are working in interactive mode then select:
Main Menu> Prob Design> Run> Exec Parallel> Host Select
In this menu you can:
Select the slave machines you want to use for a particular analysis. This is necessary, for example, if you know that some machines in your network are in use by another user at the time you want to start the analysis.
Choose the licenses you want to use for the particular analysis. If there are multiple levels of licenses of ANSYS available in your network, then you should first select the lower license that will be able to run your analysis.
Based on the information provided in this menu a Jobname.hosts file is created or updated as you press OK in the menu.
If you are working in batch mode, you must create this file using a text editor. However, for sake of simplicity it is recommended to let ANSYS create this file using interactive mode and then to proceed with batch mode operation. This file must reside in the directory where you are running ANSYS PDS. This file must include the following information:
Remote hosts to be used for this particular parallel run.
Number of processes that can run in parallel on each host. If a remote host has more than one CPU, you can use all of the CPUs on the remote host. For performance reasons, we recommend leaving one CPU for system tasks and using only N-1 CPUs for parallel processing (if N is the number of CPUs on the remote host).
Directories in which you want the child processes to be executed. It is recommend that you use temporary directories like "/scratch" or "/tmp" on UNIX or "C:\TEMP" on PCs. These remote directories are cleaned up automatically after the parallel processes finish running. Make sure that there is enough disk space in the directory for the files created by the analysis.
A sample jobname.hosts file looks like this:
# This file is used to specify those hosts that the ANSYS Parent may # run children processes on. # # Each host entry is to be on its own line. The host entry consists of # several fields which are space delimited. # # Field 1 - host IP address or name # Field 2 - username to use for a remote shell to the host # Field 3 - execution key: # 0 - Use a remote shell to start the child process # >1024 - Use a running ANSYS thin server on the host # which is communicating on this port number # Field 4 - the product code sequence to attempt to start ANSYS jobs # on the host with. This is a colon delimited list. # Field 5 - the number of jobs to run on this host # Field 6 - The time in minutes to check again if the host is available. # If this is zero then the host will not be checked again. # Field 7 - If field 3 is nonzero then this is the local port number # or range to start the communication with the ANSYS Thin # Server on. This is tied to the "authentication" on the # ANSYS Thin Server. # If field 3 is zero then this should be set to zero. # Field 8 - directory to create the children subdirectories in # # Example: # # UNIX box that has five processors and will first attempt to # run with ANSYS Mechanical Batch Child and then ANSYS Mechanical # zeus wjc 0 MEBACH:ANSYS 5 30 2000 /scratch/wjc # XP box running the thin server on port 2010 # wjcpc wjc 2010 ANSYS 1 0 2000 C:\TEMP alpha1 epc 0 MEBA:MEBACH 1 15 2000 /scratch/epc athena epc 0 MEBA:MEBACH 1 15 2000 /scratch/epc rs43p pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest rs260 pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest snoopy pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest hp160 pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest alpha24 pdstest 0 MEBA:MEBACH 2 15 2000 /home/pdstest hp770 pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest us60 pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest ss60 pdstest 0 MEBA:MEBACH 1 15 2000 /home/pdstest
You also need to specify all other files that will be used in the distributed processing run. These files are listed in a separate file called Jobname.ifiles. At a minimum, this file must include the analysis file. Additionally, you may need other files, such as data files or ANSYS macros. You must include all files that the analysis files calls in order for the PDS run to execute successfully. These files, which are typically found only on your local machine, will then be copied to all remote hosts during the PDS run. The Jobname.ifiles must reside in your working directory. If you are working in batch mode, you need to create this file manually. The first file listed must be the analysis file. Other files listed must include the full path.
| Command(s): | PDANL |
| GUI: | Main Menu> Prob Design> Analysis File> Assign |
A sample jobname.ifiles file looks like this:
# Files to copy to the ANSYS server for job Jobname # created on Fri Oct 13 10:33:44 EDT 2000. pdsrun1.inp /home/staff/epc/ddts/pds/tags
If you are working interactively, you need to complete one additional step. When you select Run Parallel, you see a dialog box listing all remote hosts specified in the Jobname.hosts file, as well as their current status. You can use this dialog box to specify a solution label, set the number of allowed failures (loops leading to an ANSYS error during execution) as well as monitor the processes and remote machines, and stop or start processes on those machines as necessary.
The number of allowed failures is used to automatically stop the parallel execution process if the number of loops leading to an error exceeds the allowed maximum number. In a typical case you don't expect your analysis file to cause an ANSYS error. If in this case there are several loops leading to an error, then this is most likely due to a bug in the APDL programming in the analysis file. Here, the ANSYS PDS automatically terminates the parallel execution if the number of allowed failures (loops with errors) exceeds the allowed maximum.
In certain cases however, you will know that executing the analysis file always leads to an error that can be ignored. An example is a non-linear burst analysis, which terminates with an error as the maximum displacement grows out of proportion. I.e. ultimately all loops will terminate with an error and the result of a burst analysis is the value of the load factor at which this instability happens. In this case you can force the ANSYS PDS to ignore the error and set the error flag in the result file to "0". To do this set the number of allowed failures in the exactly equal to the total number of loops. Since you are bypassing the error checking mechanism it is strongly recommended to thoroughly review of the probabilistic results in the file jobname_Slab.pdrs. It is not recommended to do this as a standard procedure, but only in cases where you are sure that the error generated in the analysis loop can be safely ignored.
The status codes you could see include:
DOWN - The remote host is not available (reason unknown).
DN-TS - The Thin Server is down.
DN-DRF - ANSYS was unable to create the necessary directories on that host.
DN-ANS - ANSYS would not start on that host.
DN-ATH - Authentication failure (the batch child product was unable to authenticate with the parent product).
UP - The Thin Server is up.
RUN - The ANSYS simulation is running on that host.
If you want to check diagnostics for a status code in parallel processing mode, choose the Diagnostics button in the Server Process Control dialog. The diagnostics system will show you the status of the slave machine(s), and details to help you address any issues that arise. Suggested actions are presented.
In batch mode, ANSYS will always attempt to start remote processing on all machines listed in the Jobname.hosts file.
You can now activate the parallel execution:
| Command(s): | PDEXE |
| GUI: | Main Menu> Prob Design> Run> Exec Parallel> Run Parallel |
Several things happen when you initiate a parallel processing run.
The networked machines are initialized (ANSYS checks for machine permissions, licenses, and directory permissions), and any necessary directories are created.
The relevant files are copied to the networked machines.
ANSYS is launched in server mode on each networked machine.
Simulations are sent to each machine as that machine finishes a previous simulation; faster machines will naturally process more simulations. If a slave machine (for whatever reason) does not complete a simulation, that simulation is automatically sent to another machine to be processed.
When the analyses are finished (either completed or stopped manually), then the PDS removes any files or directories it created and stops any processes it started.
After you have executed a probabilistic analysis, you can use the results stored in the result files to fit response surfaces.
If the probabilistic analysis was based on the Response Surface Method, this step is mandatory. The random output parameter values generated using the Response Surface Method are meant to be fitted with a response surface; therefore, the Response Surface Method determines the values of the random input variables such that fitting of a response surface is most efficient (that is, so that it uses the fewest sampling points).
If the probabilistic analysis was based on the Monte Carlo Simulation method, this step is optional and you can go directly to the results postprocessing. If you use Monte Carlo Simulation results to derive response surfaces, then the sampling points are not as efficiently located for the fitting process, so you should accommodate by using more sample points.
You should use at least 20% more Monte Carlo Simulation points than what would be required for a Response Surface Method for the same problem. For a list of the number of sampling points required for a Response Surface Method please see Probabilistic Design Techniques.
If you cannot determine how many sampling points a Response Surface Method needs (for example, because there are too many random input parameters), then you should have at least two times more sampling points than the number of coefficients of the response surfaces.
The results generated by the response surface fitting procedure as well as the results generated by applying the approximation equation (Monte Carlo Simulation) are combined in a response surface set. Each response surface set includes the following information:
A unique name that you provide. This name is used to identify the response surface set during probabilistic postprocessing.
The name of the solution set you used for the fitting procedure (containing the data points).
The number and the names of the random output parameters for which a response surface has been evaluated. If you have many random output parameters you might not be interested in fitting a response surface for every one, but only for those that are most important.
For each random output parameter that was fitted with a response surface, the response surface set includes information about the regression model that was used to fit the response surface (linear, quadratic, or quadratic with cross-terms), as well as the terms and coefficients that were derived as result of the regression analysis.
The Monte Carlo Simulation samples created using the response surface equations.
There is a one-to-one relationship between solution sets and response surface sets. For each solution set containing sample points you can have only one response surface set containing the response surfaces fitting these sample points. The reverse is also true, that each response surface set can only contain the response surfaces that are based on the sample points of one solution set.
To fit a response surface you must specify a name for the response surface set where you want the results to be stored, the solution set you want to use, one random output parameter, the regression model, an output transformation technique (if any), and whether to filter terms.
The regression model describes which regression terms are used for the approximation function of the response surface. In the ANSYS PDS, the following regression models are implemented:
Linear approximation function
Quadratic approximation function without cross-terms
Quadratic approximation function including cross-terms
While you can use all terms included in the regression model, the ANSYS PDS also offers an option that automatically filters out insignificant terms. This technique is called the forward-stepwise regression analysis. For example, where the Young's modulus E and the thermal expansion coefficient are random input variables, a full quadratic regression model reads:

A full regression model uses the available sampling points to determine values for all regression coefficients c0 to c3. Of course the values for c0 to c2 will be zero or very close to zero; taking more coefficients into account than really necessary reduces the degrees of freedom of the algebraic equation to be solved to evaluate the coefficients. This in turn reduces the accuracy of the coefficients that are important for the regression fit. The forward-stepwise regression analysis takes this into account and automatically eliminates terms that are not needed.
The ANSYS PDS offers a variety of transformation functions that can be used to make the random response parameter to be more appropriately described by a quadratic function after the transformation has been applied. These transformation functions can be found in Transformation of Random Output Parameter Values for Regression Fitting in the Theory Reference for ANSYS and ANSYS Workbench.
Here, yi is the value of a random output parameter
obtained in the i-th sampling loop and
is the corresponding transformed value. The physical
nature of the problem should indicate which transformation to use; for example,
lifetime parameters (such as the number of cycles until low cycle fatigue
occurs) are usually transformed with a logarithmic transformation. If you
do not have this kind of information, then you should start with the Box-Cox
transformation. The PDS automatically searches for an optimum value for the
Box-Cox parameter λ within the interval (-2,2). As guidelines:
If λ is close to -1.0 then the data is best transformed by a reciprocal transformation, which is a power transformation with an exponent of -1.0.
If λ is close to zero then the data is best transformed by a logarithmic transformation.
If λ is close to 0.5 then use the square root transformation.
If λ is close to 1.0, then no transformation should be used.
If λ is not close to any of these specific values then the Box-Cox transformation is appropriate.
To fit a response surface:
| Command(s): | RSFIT |
| GUI: | Main Menu> Prob Design> Response Surf> Fit Resp Surf |
Whether a response surface is a good representation of the sampling point that it is supposed to fit can be best illustrated by plotting the response surface. The ANSYS PDS plots the sampling points as symbols and the response surface as a contour plot so you can visually compare them. However, you can only plot one random output parameter as a function of two random input variables at a time.
To plot a response surface:
| Command(s): | RSPLOT |
| GUI: | Main Menu> Prob Design> Response Surf> Plt Resp Surf |
After using a regression analysis to fit a response surface, ANSYS automatically prints all necessary results in the output window:
The transformation function that has been used or has been determined automatically (in case of Box-Cox transformation)
Regression terms
Regression coefficients
Goodness-of-fit measures
The goodness-of-fit measures provide a means to verify the quality of the response surface and whether it is a good representation of the underlying data (in other words, the sample points).
You can request a print out of this data at any time.
| Command(s): | RSPRNT |
| GUI: | Main Menu> Prob Design> Response Surf> Prn Resp Surf |
After you have generated a response surface set that includes one or more response surfaces for one or more random output parameters then you also need to perform Monte Carlo Simulations using these response surfaces to generate probabilistic results. This is where the PDS generates sampling values for the random input variables in the same way it did for the simulation looping performed using your analysis file. But instead of using the random input variable values in the analysis file and running through the analysis file, it uses the approximation function derived for the response surfaces to calculate approximated response values. The process of calculating an explicitly known equation is much faster than running through the analysis file and performing a finite element analysis, so you can run a large number of simulation loops in a relatively short time. Usually, several thousand simulation loops are performed if you utilize the response surfaces.
After you have generated the Monte Carlo Simulation loops on the response surfaces, you can begin probabilistic postprocessing and review the probabilistic results the same way as you would for Monte Carlo Simulations. However, there is one difference for postprocessing between Monte Carlo results and Monte Carlo results derived from response surface approximations. For Monte Carlo simulation results, the accuracy of the results is determined by the number of simulation loops that are performed. The PDS can visualize the accuracy of Monte Carlo results by means of confidence limits or confidence bounds. For Monte Carlo results derived from response surface approximations, the confidence bounds are suppressed. This is necessary because the accuracy is not determined by the number of simulation loops (as mentioned above, you typically perform a large number of these) but by the goodness-of-fit or the response surface model itself. With increasing numbers of simulation loops the confidence bounds tend to merge with the result curve you are plotting (the width of the confidence band shrinks to zero). This could lead you to conclude that the results are very, very accurate. However, the underlying response surface approximation could have been completely inadequate (for example, using a linear approximation function for a highly nonlinear problem).
| Command(s): | RSSIMS |
| GUI: | Main Menu> Prob Design> Response Surf> RS Simulation |
After probabilistic design looping is complete, you can review the results sets in a variety of ways using the commands described in this section. These commands can be applied to the results from any probabilistic design method or tool.
Statistics
Sample History
Histogram
Cumulative Distribution Function
Probabilities
Inverse Probabilities
Trends
Scatter Plot
Sensitivities
Correlation Matrix
Report
Print HTML Report
To postprocess one particular design variable, choose this option. The statistics options are described below.
Use the PDSHIS command to request a sample history plot.
| Command(s): | PDSHIS |
| GUI: | Main Menu> Prob Design> Prob Results> Statistics> Sampl History |
You must choose the results set you want to use, the design variable you want to review, the plot type to use, and the confidence level.
Use the PDHIST command to request a histogram plot of a design variable.
| Command(s): | PDHIST |
| GUI: | Main Menu> Prob Design> Prob Results> Statistics> Histogram |
You must choose the results set you want to use, the design variable you want to review, the number of classes/points to use, and the type of histogram.
Use the PDCDF command to request a histogram plot of a design variable.
| Command(s): | PDCDF |
| GUI: | Main Menu> Prob Design> Prob Results> Statistics> CumulativeDF |
You must choose the results set you want to use, the design variable you want to review, and the confidence level.
The confidence level is a probability expressing the confidence that the values for the cumulative distribution function are in fact between the confidence bounds. The larger the confidence level, the wider the confidence bounds. Plotting of the confidence bounds only makes sense for the postprocessing of Monte Carlo simulation results. Here, the confidence bounds represent the accuracy of the results and with increasing sample size the width of the confidence bounds gets smaller for the same confidence level. For response surface methods the number of simulations done on the response surface is usually very large. Therefore, the accuracy of the results is determined by the goodness of the response surface fit and not by the confidence level.
Use the PDPROB command to request the value of a design variable at an specific point on the cumulative distribution curve.
| Command(s): | PDPROB |
| GUI: | Main Menu> Prob Design> Prob Results> Statistics> Probabilities |
You must choose the results set you want to use, the design variable you want to review, the relation (greater than, less than), the limit value, and the confidence level.
Use the PDPINV command to request the value of a design variable at a specific point on the cumulative distribution curve.
| Command(s): | PDPINV |
| GUI: | Main Menu> Prob Design> Prob Results> Statistics> Inverse Prob |
You must choose the results set you want to use, the design variable you want to review, the relation (greater than, less than), the limit value, and the confidence level.
To postprocess one particular design variable as it relates to another, choose this option. The trend options are described below.
Use the PDSCAT command to request a scatter plot showing the correlation between two design variables.
| Command(s): | PDSCAT |
| GUI: | Main Menu> Prob Design> Prob Results> Trends> Scatter Plot |
You must select the results set that you want to use, the design variables that you want to review, the type of trendline curve to use (and if plotted, the polynomial order), and the maximum number of point to include in the scatter plot.
Use the PDSENS command to request the sensitivities of an output parameter to the input variables.
| Command(s): | PDSENS |
| GUI: | Main Menu> Prob Design> Prob Results> Trends> Sensitivities |
You must choose the results set and output parameter you want to use, the type of chart to plot, the type of correlation coefficient, and the sensitivity level.
Use the PDCMAT command to calculate the correlation coefficient matrix.
| Command(s): | PDCMAT |
| GUI: | Main Menu> Prob Design> Prob Results> Statistics> Probabilities |
You must choose the results set you want to use, which type of design variables you are looking at, the specific design variable names, the type of correlation, the significance level, and whether you want to see the probabilities with the correlation coefficients.
To visualize and summarize all results of a probabilistic analysis, choose this option. Details on specifying a report are described below.
Use the PDROPT command to request an HTML report.
| Command(s): | PDROPT |
| GUI: | Main Menu> Prob Design> Prob Results> Report> Report Options |
You must choose which statistics and trends to show in the report and in what form you want to see them. See the PDROPT command for details, and see the other probabilistic results options for further details.
Use the PDWRITE command to request the sensitivities of an output parameter to the input variables.
| Command(s): | PDWRITE |
| GUI: | Main Menu> Prob Design> Prob Results> Report> Generate Report |
You must enter a name for the report file, your first and last name, and whether links should be generated between your report and the analysis file, each analysis loop, and the response surface output parameter details (if the response surface method was used).