The following is a discussion of some additional environment file parameters that are commonly used. A complete listing of parameters can be found in the Abaqus Installation and Licensing Guide. # ask\_delete If this parameter is set equal to OFF, you will not be asked whether old job files of the same file name should be deleted; the files will be deleted automatically. The default value is ON. # auto\_calculate If this parameter is set to ANALYSIS, all output database postprocessing in Abaqus/Standard is performed as part of analysis execution. If this parameter is set to ON, output database postprocessing is performed by the postprocessing calculator at the end of an analysis if the execution procedure detects that output database postprocessing is necessary. If this parameter is set to OFF, no output database postprocessing occurs even if the execution procedure detects that it is necessary to postprocess the output database file. The default value is ANALYSIS. In Abaqus/Explicit auto\_calculate=ANALYSIS is equivalent to auto\_calculate=ON. # auto\_convert If this parameter is set equal to ON and an Abaqus/Explicit analysis is run in parallel with parallel=domain, the convert=select, convert=state, and convert=odb options will be run automatically at the end of the analysis. The default value is ON. # average\_by\_section This parameter is used only for an Abaqus/Standard analysis. If this parameter is set equal to OFF, the averaging regions for output written to the data (.dat) file and results (.fil) file are based on the structure of the elements. If this parameter is set equal to ON, the averaging regions also take into account underlying values of element properties and material constants. In problems with many section and/or material definitions the default value of OFF will, in general, give much better performance than the nondefault value of ON. See “Output to the data and results files,” Section 4.1.2, for further details on the averaging scheme. # mp\_host\_list List of host machine names to be used for an MPI-based parallel Abaqus analysis, including the number of processors to be used on each machine; for example, ```txt mp_host_list=[[maple',1],['pine',1],['oak',2]] ``` indicates that, if the number of cpus specified for the analysis is 4, the analysis will use one processor on a machine called maple, one processor on a machine called pine, and two processors on a machine called oak. The total number of processors defined in the host list has to be greater than or equal to the number of cpus specified for the analysis. If the host list is not defined, Abaqus will run on the local system. When using a supported queuing system, this parameter does not need to be defined. If it is defined, it will get overridden by the queuing environment. # mp\_mode Set this variable equal to MPI to indicate that the MPI components are available on the system. Set mp\_mode=THREADS to use the thread-based parallelization method. The default value is MPI where applicable. # odb\_output\_by\_default If this parameter is set equal to ON, output database output will be generated automatically. If this parameter is set equal to OFF, output database request keywords must be placed in an input file to obtain output database output. The default value is ON. # onCaeStartup Optional function to be executed before Abaqus/CAE begins. See “Customizing Abaqus/CAE startup,” Section 4.3.3 of the Abaqus Installation and Licensing Guide, for examples of this function. # Co-simulation parameters The following environment file variables provide default settings for co-simulation between solvers using the direct coupling interface. This includes Abaqus/Standard to Abaqus/Explicit co-simulation and co-simulation between Abaqus and certain third-party analysis programs. # cosimulation\_port Set cosimulation\_port equal to the port number used for the connection. The default value is 48000. # cosimulation\_timeout Set cosimulation\_timeout equal to the timeout period in seconds. Abaqus terminates if it does not receive any communication from the coupled analysis program during the time specified. The default value is 3600 seconds. The following environment file variables provide settings that allow you to allocate CPUs for co-simulation jobs submitted using the co-simulation execution procedure. This includes Abaqus/Standard to Abaqus/Explicit, Abaqus/Standard to Abaqus/CFD, and Abaqus/CFD to Abaqus/Explicit co-simulation (see “Abaqus/Standard, Abaqus/Explicit, Abaqus/CFD, AND FMU co-simulation execution,” Section 3.2.4). # cpus\_weight\_std This option controls the allocation of CPUs to Abaqus/Standard analyses. The actual CPU allocation for Abaqus/Standard analyses is made in proportion to this value and considering the settings of cpus\_weight\_xpl, cpus\_weight\_cfd, and cpus. # cpus\_weight\_xpl This option controls the allocation of CPUs to Abaqus/Explicit analyses. The actual CPU allocation for Abaqus/Explicit analyses is made in proportion to this value and considering the settings of cpus\_weight\_std, cpus\_weight\_cfd, and cpus. cpus\_weight\_cfd This option controls the allocation of CPUs to Abaqus/CFD analyses. The actual CPU allocation for Abaqus/CFD analyses is made in proportion to this value and considering the settings of cpus\_weight\_std, cpus\_weight\_xpl, and cpus. portpool Set this variable equal to a colon-separated pair of TCP/UDP port numbers that represents the start and end value of port numbers to be used by the co-simulation execution procedure when establishing connections between the child processes. # Environment file examples Example environment files that use some of the previously discussed parameters are shown below. A sample environment file, named abaqusinc.env, is included in the site subdirectory of the release to show the options used at SIMULIA. # Linux environment file: ```txt ask_delete=OFF # The following parameter causes the scratch files to # be written to /tmp. scratch="/tmp" ``` # Windows environment file: ```python ask_delete=OFF # The following parameter causes the scratch files to # be written to the tmp directory on c:. scratch="c:/tmp" ``` # 3.4 Managing memory and disk resources • “Managing memory and disk use in Abaqus,” Section 3.4.1 # 3.4.1 MANAGING MEMORY AND DISK USE IN Abaqus Products: Abaqus/Standard Abaqus/Explicit # References • “Execution procedure for Abaqus: overview,” Section 3.1.1 • “Using the Abaqus environment settings,” Section 3.3.1 # Overview For small analyses management of computer resources is generally of secondary concern, but with large models intelligent use of disk and memory resources is a critical part of the analysis process. For moderate to large analyses you will find it necessary to modify resource management settings. # Understanding resource use For Abaqus disk and memory are effectively two similar means of storing data. Data that will be required after an analysis completes must eventually be written to disk; but during an analysis, disk and memory provide functionally equivalent storage mechanisms. Typically disk is a more abundant resource, while memory provides faster access to stored data. Management of Abaqus resources hinges on this simple trade-off. # Abaqus data There are effectively two types of data generated by an Abaqus analysis. The first is “output” data that must persist after an analysis is complete. Output data are typically either results that you require for postprocessing or data that are necessary to restart an analysis. As mentioned above, these data must be stored on disk before an analysis completes. In addition, an analysis generates a considerable amount of “scratch” or temporary data. These are data that are needed only while an analysis is running. The scratch data can be subdivided into two groups: performance-critical data and generic data. The performance-critical data are always stored in memory, while the generic data can be stored either in memory or on disk. # Requirements and considerations To run an analysis, the following requirements must be satisfied: • There must be sufficient disk space available to hold the requested output data. • There must be sufficient memory available to hold all performance-critical data. • There must be sufficient disk space or memory resource available to hold all generic scratch data. If the above requirements are satisfied, an analysis can be completed; however, for Abaqus/Standard you may find that allowing Abaqus to use additional memory will often improve performance. With the increased availability of computer clusters, dedicated shared memory computers, and most importantly job queuing systems that allocate processors and memory for analyses, it makes most sense to be able to use all the memory resources to improve performance. Typically Abaqus/Standard allocates a large portion of the available system memory on a machine during the analysis phase, but you can manually specify a limit for memory usage with the memory parameter (see “Resource management parameters” below). No scratch data are written to disk during the Abaqus/Explicit analysis phase, since the majority of scratch data are performance critical. # Resource management parameters Abaqus resource management parameters fall into two classes: memory management and disk management. Each can be adjusted through one environment file parameter. The following sections explain how to best make use of this parameter. For information about the environment file, see “Using the Abaqus environment settings,” Section 3.3.1. # Memory management parameters The memory parameter is used to limit the amount of memory that can be used during the analysis phase of Abaqus/Standard and during the input file processing phase, which is executed before both Abaqus/Standard and Abaqus/Explicit analyses. If you do not define the memory parameter, Abaqus automatically detects the physical memory on the machine and allocates a percentage of this available memory. The default percentages are platform specific, but they typically represent a large portion of the available physical memory. For details on the default memory allocation settings, refer to the Dassault Systèmes Knowledge Base at www.3ds.com/support/knowledge-base. You can override the default memory allocation by specifying the percent of physical memory or by specifying an absolute limit in units of megabytes or gigabytes. Percentages are indicated by a “%” sign following the specified limit. Units of megabytes and gigabytes are indicated by “mb” or “gb” following the specified limit. If no units are specified, megabytes are assumed. For example, with any of the following settings: ```txt memory="2048 mb" memory="2 gb" memory="25 %" ``` Abaqus uses up to 2 gigabytes of memory on a machine with 8 gigabytes physical memory. The memory setting value must be surrounded by quotes. The values specified for memory must be reasonable for the machine being used. Abaqus/Standard does not check the validity of the numerical values. To be consistent with operating system memory measurement tools, a megabyte is defined by Abaqus to be 1,048,576 bytes, not 1,000,000 bytes. A similar rule applies to the unit of gigabyte. There are no memory management parameters for the Abaqus/Explicit analysis phase, since no scratch data are written to disk during this phase. Environment file parameters can be set for a host, for a user, or for a particular job (see “Using the Abaqus environment settings,” Section 3.3.1, for further discussion). Because a default memory setting that works well for one machine with a large amount of memory may not be ideal for another machine that has less memory, it may be useful to vary the default memory settings by machine. # Disk management parameters Management of output data is discussed in detail in “Output,” Section 4.1.1. Output data are written to files in the directory from which you launched the job. Abaqus/Standard scratch files are written to a separate scratch directory. You can control the directory used to hold the scratch files with the scratch environment file parameter. Due to the frequent access of the scratch data throughout the analysis phase, ensuring high I/O speed of the scratch disks is essential to the analysis performance. As explained above, no scratch data are written to disk for Abaqus/Explicit, so you have to be concerned only with proper management of output data. # Input file processing and data check In general, the amount of memory required during input file processing is not large. The amount of memory and disk space needed for the analysis phase of a job is more likely to be a concern. It is not possible for Abaqus to estimate the amount of memory that will be required to complete input file processing. A data check run can be performed by using the datacheck parameter in the command for running Abaqus (see “Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD execution,” Section 3.2.2) to obtain an estimate of the required memory for completing the analysis phase. General guidelines for setting the memory parameter for performing the data check (which includes the input file processing phase) are given below. # Guidelines for memory settings You will usually not have to change the default memory setting. If a job fails as a result of insufficient memory with the default setting, you will need to find a machine with more memory to run the job. If you need to override the default behavior by specifying a value for the memory environment file parameter, Table 3.4.1–1 lists some typical data check memory settings for problems of various sizes. The actual values required for memory may vary considerably from problem to problem depending on the features used in a model. Table 3.4.1–1 Typical memory settings for performing the data check analysis.
| Degrees of freedom | Memory |
| 250,000 | 250 megabytes |
| 1 million | 750 megabytes |
| 2.5 million | 1200 megabytes |
| 5 million | 2000 megabytes |