Files
김경종 b7f84e1c0f
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
add documents
2026-05-29 15:59:56 +09:00

24 KiB
Raw Permalink Blame History

domain=(C3D8, C3D8R, C3D8I, C3D8H) will create sample values of C3D8, C3D8I, and C3D8H.

Three special cases of the NUMBER option are noteworthy:

• Specifying number=1 will sample the central value of a parameter, which is useful when the center of the design space is of interest. It is the only case in which the use of the NUMBER option does not sample the extreme values of the parameter.
• Specifying number=2 will sample the extreme values of a parameter, which is useful when the boundaries of the design space are of interest.
• Specifying number=3 will sample the central and the extreme values of a parameter, which is useful when the center and the boundaries of the design space are of interest.

Specification of number=0 is not permitted. A negative value for number is permitted; this indicates that the sampling is to be in reverse order. For continuous parameters reverse order means that the first sampled value is the largest and the last sampled value is the smallest. For discrete parameters reverse order means that the first sampled value is the last in the list of values and the last sampled value is the first in the list of values. Sampling in reverse order is useful when the TUPLE combination operation is used (see the discussion of combination of parameter samples).

Input File Usage: aStudy.sample (NUMBER, par=, number=, domain=)

Sampling by REFERENCE

This sampling option allows you to specify a reference value for the parameter and to sample parameter values with respect to this reference value. It is useful for studying alternate designs with respect to an existing (reference) design.

This sampling command creates sample values symmetrically about the reference value at multiples of a given interval; in addition, the reference value is also sampled. The number of parameter values in the sample depends on the number of symmetrical pairs of values you specify.

The reference value specification in this sampling option is optional:

• If a reference value is specified in this command, it temporarily redefines the reference specified in the define command.
• If a reference value is not specified in this command, the reference specification from the define command is used for sampling.
• An error is flagged when a reference value is not specified in this command or in the define command.

The reference value is interpreted differently for continuous and discrete parameters:

• For continuous valued parameters reference is the parameters numerical value about which a symmetrical sample will be created.
• For discrete valued parameters reference is the index of the list of values about which a symmetrical sample will be created.

A reference value that falls outside the domain definition for the parameter is flagged as an error.

The sampling interval is interpreted differently for continuous and discrete parameters:

• For continuous valued parameters the interval at which the samples are taken is based on a numerical value. For example, specifying reference=50., interval=10., and numSymPairs=2 for a continuous parameter will create sample values of 30., 40., 50., 60., and 70. for this parameter.
• For discrete valued parameters the interval at which the samples are spaced is based on the index of the list of values (indexing starts at zero); in this case interval must be an integer value. For example, specifying reference=5, interval=2 and numSymPairs=2 for a discrete parameter with domain=[1, 2, 3, 5, 7, 10, 12, 15, 20, 25] will create sample values of 25, 15, 10, 5, and 2 for this parameter.

The specified interval can have a positive or negative value, but a value of zero is not permitted. A positive interval indicates that the list of sampled values starts with the smallest sampled value for a continuous parameter or with the sampled value closest to the beginning of the list of values for a discrete parameter (forward sampling). A negative interval indicates that the list of sampled values starts with the largest sampled value for a continuous parameter or with the sampled value closest to the end of the list of values for a discrete parameter (reverse sampling). Reverse sampling is useful when the TUPLE combination operation is used (see the discussion on combination of parameter samples).

The number of symmetrical pairs you specify must be zero or a positive integer; setting the number of symmetrical pairs equal to zero indicates that only the reference value is sampled.

The domain specification in this command is optional:

• If a domain is specified in this command, it temporarily redefines the domain specified in the define command.
• If a domain is not specified in this command, the domain specification from the define command is used for sampling.
• An error is flagged in the case of discrete valued parameters when a domain is not specified in this command or in the define command.

A domain specification (either in this command or in the define command) is required for discrete valued parameters because the possible discrete values that can be sampled must be known. Although a domain specification is not required for continuous valued parameters, it may be given. In either the case of discrete parameters or the case of continuous parameters, a domain specification can be used to limit the number of values sampled using the REFERENCE option since the domain is treated as a bound on the possible sampling values. For example, specifying reference=50., interval=10., and numSymPairs=3 for a continuous parameter with domain=(35., 100.) will sample values of 40., 50., 60., 70., and 80. for this parameter. The minimum value of the domain acts as a bound in this sampling.

Input File Usage: aStudy.sample (REFERENCE, par=, reference=, interval=, numSymPairs=, domain=)

Sampling by VALUES

This sampling option assumes that you wish to create the parameter sample values directly. You must specify the actual parameter values, irrespective of whether the parameter is continuous or discrete.

A parameter domain specified in the define command does not affect the values sampled for the parameter when this option is used.

Input File Usage: aStudy.sample (VALUES, par=, values=)

Combination of parameter samples

Use the aStudy.combine command (see “Combine parameter samples for parametric studies.,” Section 20.2.1) to create sets of design points from the parameter samples. Choose how the combining is done using one of the following tokens: MESH, TUPLE, or CROSS. The use of each combination command results in the creation of a number of design points, which are grouped into design sets. If a combine operation creates a design that duplicates a design in an existing design set, the duplicate design is deleted immediately. The total number of designs in a parametric study (before the application of any design constraints) is the sum of the number of designs in each design set.

You can name a design set; if you do not, it is named by default. The default naming convention is p1 for the first non-user-named design set in the parametric study, p2 for the second non-user-named design set, and so on. The design set name is used to help identify individual designs. A design set named by you with a name identical to a previously specified design set name indicates that it is a respecification of the design set and, thus, overwrites the previously existing one.

Input File Usage: aStudy.combine (token, name=)

MESH combination

This combine option indicates that every sampled value for a parameter is to be combined with every sampled value of every other parameter in the parametric study.

The following examples illustrate the use of the MESH combine option. In a two-parameter study with the parameters defined and sampled as

study=ParStudy(par=('par1', 'par2'))
study.define(DISCRETE, par='par1', domain=(1, 3, 5, 7, 9, 11, 13))
study.sample(REFERENCE, par='par1', reference=0, interval=2, numSymPairs=2)
study.define(CONTINUOUS, par='par2', domain=(10., 60.))
study.sample(INTERVAL, par='par2', interval=20.) 

the combine command

study.combine(MESH, name='dSet1') 

creates the following 12 design points (par1, par2): (1, 10.), (5, 10.), (9, 10.), (1, 30.), (5, 30.), (9, 30.), (1, 50.), (5, 50.), (9, 50.), (1, 60.), (5, 60.), and (9, 60.) (see Figure 20.1.11).

A second use of the combine command preceded by a respecification of the parameter sampling

study.sample(NUMBER, par='par1', number=3)
study.sample(NUMBER, par='par2', number=3)
study.combine(MESH, name='dSet2') 

scatter
par1 par2
1 60
1 50
1 30
1 10
3 60
3 50
3 30
3 10
5 60
5 50
5 30
5 10
7 60
7 50
7 30
7 10
9 60
9 50
9 30
9 10
11 60
11 50
11 30
11 10
13 60
13 50
13 30
13 10

Figure 20.1.11 Design points in design set dSet1 created with the MESH option of the combine command.

creates designs at the following nine points: (1, 10.), (7, 10.), (13, 10.), (1, 35.), (7, 35.), (13, 35.), (1, 60.), (7, 60.), and (13, 60.) (see Figure 20.1.12). The extreme and center values of both parameters are combined.

scatter
par1 par2
1 60
1 35
7 35
13 35
1 10

Figure 20.1.12 Design points in design set dSet2 created with the MESH option of the combine command after the parameter sampling is redefined.

TUPLE combination

This combine option creates design sets consisting of n-tuples of the sampled parameter values, where n is the number of parameters in the parametric study. Each n-tuple consists of one sampled value for each parameter. For example, in a three-parameter study the first sampled value of each of the three parameters makes up the first 3-tuple, the second sampled value of each of the three parameters makes up the second 3-tuple, and so on. The creation of tuples ceases when any of the parameter samples runs out of sampled values.

The following examples illustrate the use of the TUPLE combination operation. For a two-parameter study with the parameters defined and sampled as

study=ParStudy(par=('par1', 'par2'))
study.define(DISCRETE, par='par1', domain=(1, 3, 5, 7, 9, 11, 13))
study.define(CONTINUOUS, par='par2', domain=(10., 60.))
study.sample(INTERVAL, par='par1', interval=1)
study.sample(INTERVAL, par='par2', interval=10.) 

the combination operation

study.combine(TUPLE, name='dSet3') 

creates designs at the following 6 points: (1, 10.), (3, 20.), (5, 30.), (7, 40.), (9, 50.), and (11, 60.) (see Figure 20.1.13). This represents a diagonal pattern in the two-parameter space. We see that all par2 values are used in the tuple combination but the last par1 value is not used because there are no more par2 sample values to form additional tuples.

scatter
par1 par2
1 10
3 18
5 28
7 38
9 48
11 58

Figure 20.1.13 Design points in design set dSet3 created with the TUPLE option of the combine command.

A second invocation of the above combine command after respecifying the par2 sampling as

study.sample(INTERVAL, par='par2', interval=-10.)
study.combine(TUPLE, name='dSet4') 

creates designs at the following 6 points: (1, 60.), (3, 50.), (5, 40.), (7, 30.), (9, 20.), and (11, 10.) (see Figure 20.1.14). This represents the other diagonal in the two-parameter space.

scatter
par1 par2
1 60
3 50
5 40
7 30
9 20
11 10

Figure 20.1.14 Design points in design set dSet4 created with the TUPLE option of the combine command after the parameter sampling is redefined.

CROSS combination

This combine option creates designs in the form of “cross-shaped” patterns as follows: each value sampled for an individual parameter is combined with the reference value, as specified in the define command, of all the other parameters used in the parametric study. To use the CROSS combine option, it is necessary to specify a reference value in the define command for all parameters in the parametric study.

The reference value specified for a parameter in the define command does not have to coincide with a value sampled by that parameters sampling rule. However, if the reference value does not coincide with a sampled value, the reference parameter value is not added to the list of sampled values for that parameter; it is used only to form the CROSS combination.

The following examples illustrate the use of the CROSS combine option. For a two-parameter study with the parameters defined and sampled as

study=ParStudy(par=('par1', 'par2'))
study.define(DISCRETE, par='par1', domain=(1, 3, 5, 7, 9, 11, 13), reference=3)
study.define(CONTINUOUS, par='par2', domain=(10., 60.), reference=40.)
study.sample(REFERENCE, par='par1', interval=1, numSymPairs=3)
study.sample(INTERVAL, par='par2', interval=10.) 

the combine cross option

study.combine(CROSS, name='dSet5') 

creates designs at the following 12 points: (1, 40.), (3, 40.), (5, 40.), (7, 40.), (9, 40.), (11, 40.), (13, 40.), (7, 10.), (7, 20.), (7, 30.), (7, 50.), and (7, 60.) (see Figure 20.1.15). This combination is a cross-shaped pattern where the cross intersection is at (7, 40.) as specified [7 is the fourth value (reference=3) of the discrete parameter par1].

scatter
par1 par2
1 40
3 40
5 40
7 10
7 50
7 30
7 20
7 10
9 40
11 40
13 40

Figure 20.1.15 Design points in design set dSet5 created with the CROSS option of the combine command.

A second invocation of the above combine command after respecifying par2 as

study.define(CONTINUOUS, par='par2', domain=(10., 60.), reference=45.)
study.combine(CROSS, name='dSet6') 

creates designs at the following 13 design points: (1, 45.), (3, 45.), (5, 45.), (7, 45.), (9, 45.), (11, 45.), (13, 45.), (7, 10.), (7, 20.), (7, 30.), (7, 40.), (7, 50.), and (7, 60.) (see Figure 20.1.16).

Constraining designs

A constraint that determines the allowable design points in the parametric study can be specified using the aStudy.constrain scripting command (see “Constrain parameter value combinations in parametric studies.,” Section 20.2.2). When such a constraint is specified, existing designs that violate the constraint are eliminated immediately.

For example, the constrain command

aStudy.constrain('height*width < 12.')

where height and width are parameters in the parametric study, can be used to enforce that the crosssectional area of a rectangular beam must be less than 12.0 in all designs.

Input File Usage: aStudy.constrain ('constraint expression')

scatter
par1 par2
1 45
3 45
5 45
7 50
7 40
7 30
7 20
7 10
9 45
11 45
13 45

Figure 20.1.16 Design points in design set dSet6 created with the CROSS option of the combine command when the parameter par2 is redefined.

Generation and execution of the designs of a parametric study

Once the required design points have been specified, it is necessary to generate the corresponding analysis job data and execute the analyses.

Generation of analysis job data

Use the aStudy.generate scripting command (see “Generate the analysis job data for a parametric study.,” Section 20.2.6) to generate an input file for each design.

The name of the parametrized template input file from which the input files of each design are generated must be specified.

The naming convention for the input files generated by the parametric study is as follows:

• The name of each analysis job will start with the template input file name; for example, shell.
• The name of the parametric study (specified by you in the ParStudy command using the name= option) is appended, preceded by an underscore (_); for example, shell_thickness for a parametric study defined with the study = ParStudy(name=thickness) command. (If no parametric study name has been given, the parametric study name defaults to the name of the Python script file in which the study is defined.) If the template input file name and parametric study name are the same, the name is not repeated.
• The name of the design set (specified or created by default in the combine command) is appended, preceded by an underscore (_); for example, shell_thickness_p1 for the first design set (named by default) of the above parametric study.
• The design name (created automatically in the combine command) is appended, preceded by an underscore (_); for example, shell_thickness_p1_c1 for the first design in the first design set of the above parametric study.

As usual, the input files each have the extension .inp. You can examine and/or edit these input files before execution.

The generate command creates a file with the .var extension that contains a description of the parametric study. This file is given the parametric study name—for example, studyName.var—and contains a list of all the designs generated, together with the parameter values associated with each design. You can examine and/or edit this file; however, editing this file will affect the gathering of results across the designs of the parametric study (see “Gathering results”).

Each time the generate command is used, new versions of the studyName.var files are created reflecting the designs specified by all previous combine commands.

The define, sample, and combine steps are performed before the generate command is executed. It is, thus, possible for you to refer to parameters that do not exist or are not independent parameters in the template input file. These errors are detected and flagged by the generate command.

Input File Usage: aStudy.generate (template)

Execution of the analysis of the designs of a parametric study

Use the aStudy.execute command (see “Execute the analysis of parametric study designs.,” Section 20.2.4) to execute the analysis of the designs of the study.

The command will submit a number of analysis jobs for execution under the control of a Python process. All designs can be evaluated without further user interaction by specifying the ALL or DISTRIBUTED options of this command, or you can control the execution of the analyses interactively by specifying the INTERACTIVE option. In the interactive case you are prompted for further execution instructions. The prompt allows you to:

• Specify a number of analyses to be executed before the process pauses and prompts you again.
• Execute the remaining analyses without further user interaction.
• Specify a number of analyses whose execution is to be skipped before the process pauses and prompts you again.
• Stop execution.

The interactive option is useful because it provides the opportunity to:

• Study the results of the analyses already executed.
• Delete unnecessary files generated by the analyses to conserve disk space when many designs are being analyzed.
• Analyze only certain designs of the parametric study.

The ALL and INTERACTIVE tokens are used for sequential execution of the Abaqus analyses on your machine. The DISTRIBUTED token can be used to schedule analysis jobs on multiple machines or multiple CPUs of one machine.

The DISTRIBUTED option is available only on variants of the Linux operating system. In particular the implementation depends on the operating system for support of the rsh, rcp, and xhost Linux commands. Because of the use of these commands, it is necessary that for distributed execution of parametric studies the parametric study must itself be executed on your local computer. If binary results are output during the analyses, both the local and remote computers must be binary

compatible. Before the distributed execution capability can be used, it is necessary to configure the appropriate queue interfaces in the Abaqus environment file.

Each analysis of a design of the parametric study that is executed when you issue the execute command is, by default, executed by Abaqus in background mode, irrespective of the command option used. Files created by the Abaqus analysis of each design will overwrite any existing files of the same name without you being prompted.

You can add any necessary Abaqus execution options (refer to “Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD execution,” Section 3.2.2) to the execution command for each of the analyses by specifying them with the execOptions option.

Input File Usage: aStudy.execute (token, files= , queues= , execOptions= )

Parametric study results

Once the analyses associated with a parametric study have been executed, the variation of key results across the different designs can be examined. First, results must be gathered from the results file or output database of each of the analyses; then, these results must be reported.

The aStudy.output command (see “Specify the source of parametric study results.,” Section 20.2.7) can be used to specify the source of the results to be gathered. All arguments to the aStudy.output command are optional: the specification of the file, the analysis step, and the increment (for non-frequency steps) or the mode (for frequency steps) from which the results are to be gathered. If the file is not specified, the results (.fil) file will be used. If the step is not specified, it must be specified in the gather command (see the discussion that follows). The defaults of the increment (for non-frequency steps) or the mode (for frequency steps) are the last increment of the step and the first mode calculated in the step unless specified in the gather command. Some arguments are applicable only to the output (.odb) database: the instance name, the request type (field or history), the frame value where the results are to be gathered, and whether the memory used to access an output database should be overlayed when a different output database is accessed.

The specification of the source of the gathered results remains in effect for all subsequent gather commands until the source is respecified. Respecification of the gathering source is treated as a complete respecification; that is, nothing is retained from the previous specification of the gathering source.

Input File Usage: aStudy.output (file=, instance=, overlay=, request=, step=, frameValue= | inc= | mode=)

Gathering results

Use the aStudy.gather command (see “Gather the results of a parametric study.,” Section 20.2.5) to gather results from the results file or output database of each of the analyses.

In each use of the gather command you must specify a name that is associated with the gathered result record. This label is used to refer to the results record in the report commands.

When gathering results from the results (.fil) file, each result record to be gathered must be chosen by specifying one of the available output variable identifier keys appearing under the .fil column heading in “Abaqus/Standard output variable identifiers,” Section 4.2.1, or “Abaqus/Explicit output variable identifiers,” Section 4.2.2. For example, the U or S variable identifier keys can be