<!-- source-page: 421 -->

# 3.2.16 QUERYING THE KEYWORD/PROBLEM DATABASE

Products: Abaqus/Standard Abaqus/Explicit Abaqus/CFD

# Reference

• “Execution procedure for Abaqus: overview,” Section 3.1.1

# Overview

The abaqus findkeyword utility queries a keyword/problem database that contains information on Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD example problems, verification problems, problems used in training seminars, problems shown in the Abaqus technology briefs and benchmark timing problems. You specify which keywords, parameters, and values are of interest; and this utility will list the input files that contain those keywords, parameters, and values. You can specify multiple keywords, which causes the findkeyword utility to list those input files that contain all of the specified keywords. You can then use the abaqus fetch utility to fetch the input files (see “Fetching sample input files,” Section 3.2.17). The output is grouped into problem sets; e.g., Abaqus Example Problems or Abaqus/Standard Technology Brief Problems.

Command summary 

<table><tr><td rowspan="2">abaqus findkeyword</td><td>[job=job-name]</td></tr><tr><td>[maximum=maximum-output]</td></tr></table>

keyword data lines

# Command line options

# job

This option is used to specify the output file name for the output listing. If this option is omitted from the command line, the output will be printed to the standard output device.

# maximum

This option is used to limit the number of sample problems that are listed for each set. If this option is omitted, a maximum of 100 sample problems are listed for each set.

# keyword data lines

The keyword data lines specify which Abaqus keywords, parameters, and values are of interest to the user. The names of sample problems that contain the specified keywords, parameters, and values are printed to the standard output device or to the file indicated by the job command line parameter. The keyword is required, but parameters and values are optional. If a keyword is specified without a parameter or a value, all sample problems that use that keyword (with or without parameters and values) will be listed.

<!-- source-page: 422 -->

If a parameter is specified without a value, all sample problems that use that parameter with any value will be listed. Parameter values that are user-specified data (e.g., numeric data, set names, orientation names, etc.) are ignored. The end of the keyword data lines is indicated by an empty line or an end of file.

# Examples

The following examples illustrate the different types of search criteria utilized by the findkeyword execution procedure.

# Querying for keywords and parameters

To list the sample problems that use the \*RESTART option with the WRITE parameter, type the following command and data lines:

```txt
abaqus findkeyword
*RESTART, WRITE 
```

To generate a list of sample problems that contain two keyword lines in the same file, both keywords are included as data lines. For example,

```txt
abaqus findkeyword
*RESTART, WRITE
*NGEN 
```

To list all sample problems that use a keyword and parameter with a value, the value must be included on the data line. For example,

```txt
abaqus findkeyword job=beam
*BEAM SECTION,SECTION=ARBITRARY 
```

The output is written to the file beam.dat.

# Querying for user-specified parameter values

User-specified parameter values (e.g., numeric data, set names, orientation names, etc.) are ignored. The following two examples are equivalent because the value MYSET is an element set name.

```txt
abaqus findkeyword
*ELSET, ELSET = MYSET
abaqus findkeyword
*ELSET, ELSET 
```

<!-- source-page: 423 -->

# 3.2.17 FETCHING SAMPLE INPUT FILES

Products: Abaqus/Standard Abaqus/Explicit

# Reference

• “Execution procedure for Abaqus: overview,” Section 3.1.1

# Overview

The abaqus fetch utility is used to extract sample Abaqus input files, user subroutine files, journal files, parametric study script files, or postprocessing programs from the compressed archive files provided with the release (for problems in the Abaqus Example Problems Guide, the Abaqus Benchmarks Guide, and the Abaqus Verification Guide). File names are specified in the guides. If no file extension is specified, all files corresponding to the name given will be extracted.

Wildcard expressions can be used when specifying the file names and include the following:

• An asterisk (\*) matches a sequence of zero or more characters.   
• A question mark (?) matches exactly one character.   
• A bracketed item [...] matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point (!) or a caret (^) follow the left bracket, the range of characters within the brackets is complemented; that is, anything except the characters inside the brackets is considered a match.

Any character that might otherwise be interpreted or modified by the operating system, particularly on Linux platforms, should be placed inside quotation marks. If no matches are found using the wildcard expressions, the abaqus fetch utility attempts to extract a file with the name specified.

Command summary 

<table><tr><td>abaqus fetch</td><td>job=job-name [input=input-file]</td></tr><tr><td colspan="2">Command line options</td></tr></table>

# job

This option is used to specify the output file name for the fetched input file or files. It is also the default name of the input file to fetch.

If this option is omitted from the command line, you will be prompted for this value.

# input

This option is used to specify the name of the input file or files to fetch if it is different from the job-name.

<!-- source-page: 424 -->

# Examples

To fetch the example input file c2.inp from the archive files, use the following command:

abaqus fetch job=c2.inp

To fetch all files associated with job c8 from the archive files, do not specify a file extension. The following command will extract both the input file (c8.inp) and the user subroutine file (c8.f):

abaqus fetch job=c8

To fetch the sample parametric study scripting file parstudy.psf from the archive files, use the following command:

abaqus fetch job=parstudy.psf

<!-- source-page: 425 -->

# 3.2.18 MAKING USER-DEFINED EXECUTABLES AND SUBROUTINES

Products: Abaqus/Standard Abaqus/Explicit

# Reference

• “Execution procedure for Abaqus: overview,” Section 3.1.1

# Overview

The abaqus make utility is used to create user postprocessing executables and user-defined libraries of Abaqus user subroutines. The commands used to compile and link a user-supplied program or user subroutine source file can be changed using the appropriate Abaqus environment file parameters; i.e., compile\_cpp, compile\_fortran, link\_exe, and link\_sl. You can skip the compilation step by providing a precompiled object as input for postprocessing programs.

Postprocessing executables created using this procedure must be run using the Abaqus execution procedure. This is necessary to set the operating system environment variables for finding the Abaqus utility libraries. To run a user postprocessing program, use the following command:

abaqus job-name

User subroutine shared libraries created using this procedure are used by specifying the usub\_lib\_dir variable in the Abaqus environment file. The advantage of doing this is that an analysis using user subroutines can execute without having to compile or link the user subroutine.

Command summary 

<table><tr><td>abaqus make</td><td>{job=job-name | library=source-file}[user={source-file | object-file}][directory=library-dir][object_type={fortran | c | cpp}]</td></tr></table>

# Command line options

job

This option is used to create a user-supplied postprocessing program. The value of the option specifies the name of the executable created by this procedure. It is also used as the default source file name.

If no option is given on the command line, you will be prompted for this value.

# library

This option is used to create user subroutine object files and shared libraries. The value of the option specifies the name of the user subroutine source file to be compiled and linked. The resulting object and shared library files are placed in the directory given by the command line directory option. If the directory option is not used, the files are placed in the current working directory.

<!-- source-page: 426 -->

The object file or files created have a suffix indicating if the user subroutine is for Abaqus/Standard or Abaqus/Explicit. The Abaqus/Standard object file suffix is —std. Abaqus/Explicit has single and double precision object files; the object file suffixes are —xpl and —xplD. The Abaqus/Standard user subroutine shared library that is created is called standardU, and the Abaqus/Explicit shared libraries are called explicitU and explicitU-D. If the directory option is used and it contains object files with the appropriate suffix for the shared library that is being created, those files are linked to the shared library.

# user

This option is valid only when used in conjunction with the job option. It is used to specify the name of the source or object file containing your program if it is different from job-name. If a file extension is not provided, the option value with a Fortran source file extension is sought. If a file by this name is not found, the option value with an object file extension is sought.

# directory

This option is valid only when used in conjunction with the library option. It is used to specify the destination of the user subroutine object and shared library files that will be created by the procedure. It is also used to specify the location of additional object files that are to be linked to the shared library or libraries being created. If the option is omitted, the files created by the procedure are placed in the current working directory.

# object\_type

This option is valid only when used in conjunction with the job option. It is used to specify the type of object file, either Fortran, C, or C++, given by the job or user option.

# Example

To create an executable called “pprocess” given a Fortran source file of the same name, use the following command:

abaqus make job=pprocess

This program can then be run using the command

abaqus pprocess

<!-- source-page: 427 -->

# 3.2.19 OUTPUT DATABASE UPGRADE UTILITY

Products: Abaqus/Standard Abaqus/Explicit

# References

• “Execution procedure for Abaqus: overview,” Section 3.1.1   
• “Fixed format conversion utility,” Section 3.2.29

# Overview

The abaqus upgrade utility will convert an output database file from earlier releases of Abaqus to the current release. Output database files from Abaqus 6.1 or later can be upgraded. The abaqus upgrade utility will generate a log file (job-name.log) that contains error, warning, diagnostic, and informational messages. You should carefully review the conversion log file to ensure that changes made to the older release output database file are appropriate. If no conversions are necessary, a message will be issued to the log file as well as to the screen.

Command summary 

<table><tr><td>abaqus upgrade</td><td>job=job-name[odb=old-odb-file-name]</td></tr><tr><td colspan="2">Command line options</td></tr></table>

# Required option

job

This option is used to specify the name of the upgraded output database file to be output by the utility.

# Mutually exclusive option

odb

This option is used to specify the name of the output database file to be upgraded.

<!-- source-page: 428 -->

<!-- source-page: 429 -->

# 3.2.20 SIM DATABASE UTILITIES

Products: Abaqus/Standard Abaqus/Explicit Abaqus/CFD

# References

• “Execution procedure for Abaqus: overview,” Section 3.1.1   
• “Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD execution,” Section 3.2.2

# Overview

The sim\_version utility can be used to convert a SIM database file from one release to another, to query a SIM database file for its SIM release level, or to determine the SIM release level of the current code you are using.

# Command summary

```ini
abaqus sim_version {convert=old-sim-file-name | query=sim-file-name | current}
[out=new-sim-file-name]
[level=release-level]
[help] 
```

# Command line options

# convert

This option is used to specify the name of the SIM database file to be converted.

# query

This option is used to specify the name of the SIM database file to query for its SIM release level.

# current

This option is used to determine the SIM release level of the current code you are using.

# out

This option is used to specify the name of the SIM database file to be output by the utility. This option is used in conjunction with the convert option.

# level

This option is used to specify the release level name to which the SIM database file is to be converted.

If this option is omitted from the command line, the SIM database file is converted to the current release level. To view the results in the 3DEXPERIENCE R2014x high-performance postprocessing Physics Results Explorer app, set level=V6R2014x. Release level names are case insensitive. This option is used in conjunction with the convert option.

<!-- source-page: 430 -->

#

This option prints a summary of the abaqus sim\_version command syntax.

# Examples

Use the following command to query a SIM database file for the release level number:

abaqus sim\_version query=sim-file-name

Use the following command to determine the SIM level corresponding to the current Abaqus release:

abaqus sim\_version current

# Downgrading SIM database files

Use the following command to downgrade SIM database files for use with the 3DEXPERIENCE R2014x high-performance postprocessing Physics Results Explorer app:

abaqus sim\_version convert=sim-file-name out=downgraded-sim-file-name level=V6R2014x

The following example includes the onJobCompletion function in the Abaqus environment file to automatically downgrade a SIM database file after the Abaqus job completes. For more information, see “Job customization parameters,” Section 4.1.4 of the Abaqus Installation and Licensing Guide.

The following onJobCompletion definition downgrades files to the release level required for use with the 3DEXPERIENCE R2014x Physics Results Explorer app:

```python
def onJobCompletion():
    import os, osutils, subprocess
    print "Executing onJobCompletion"
    abaqusCmd = "abaqus"  # set this to the command used at your site
    simRoot = os.path.join(savedir, id)
    simName = simRoot + ".sim"
    if os.path.exists(simName):
    print "Found SIMDoc %s; running downgrade" % simName
    downgradedSimName = simRoot + "_R2014x" + ".sim"
    cmd = abaqusCmd + " sim_version convert=" + simName \
    + " level=V6R2014x out=" + downgradedSimName
    subprocess.call(cmd)
    if not os.path.exists(downgradedSimName):
    print "SIM Downgrade failed"
    print "End of onJobCompletion" 
```
