3.4. Applying Loads and Obtaining a Solution

In a transient analysis, you must first apply transient loads by defining the analysis type and then establishing initial conditions for your analysis:

3.4.1. Defining the Analysis Type

To specify the analysis type, do one of the following:

  • If this is a new analysis, issue the command ANTYPE,TRANSIENT,NEW.

  • If you want to restart a previous analysis (for example, to specify additional loads), issue the command ANTYPE,TRANSIENT,REST. You can restart an analysis only if the files Jobname.esav and Jobname.db from the previous run are available.

    If your analysis contains material nonlinearities, results from a restart may be different than results from a single run because the stiffness matrices are always recreated in a restart run, but may or may not be in a single run (depending on the behavior resulting from the THOPT,,REFORMTOL setting).

3.4.2. Establishing Initial Conditions for Your Analysis

To establish the initial conditions, you may need to obtain a steady-state solution, or you simply may need to specify a uniform starting temperature at all nodes.

3.4.2.1. Specifying a Uniform Temperature

If you know that the model starts at ambient temperature, specify that temperature at all nodes. To do so, use the TUNIF command.

The value you specify via the TUNIF command defaults to the reference temperature. Specify the reference temperature using the TREF command. The default reference temperature is zero.


Note:  Specifying a uniform starting temperature is not the same as applying a temperature degree of freedom constraint (which you do using the D command).


The uniform starting temperature is the temperature in effect at the beginning of an analysis. A temperature DOF constraint forces a node to have the specified temperature until that temperature is deleted. To delete the temperature, use the DDELE command.

3.4.2.2. Specifying a Non-Uniform Starting Temperature

In a transient thermal analysis (but not in a steady-state thermal analysis), you can specify one or more non-uniform starting temperatures at a node or a group of nodes. Use the IC command to specify a non-uniform starting temperature.

You can also apply a non-uniform starting temperature to one or more nodes and at the same time have all other nodes use a uniform starting temperature. You simply specify the uniform temperature before applying the non-uniform temperature to selected nodes.

To display a list of the nodes with a non-uniform starting temperature, use the ICLIST command.

If the initial temperature distribution is not uniform and is not known, you will need to do a steady-state thermal analysis to establish the initial conditions. To do so, perform these steps:

  • Specify the appropriate steady-state loads (such as imposed temperatures, convection surfaces, etc.).

  • Specify TIMINT,OFF,THERM to turn off transient effects.

  • Use the TIME command to define a value of time. Typically, the time value is extremely small (for example, 1E-6 seconds).

  • Specify ramped or stepped loading using the KBC command. If ramped loading is defined, the effect of the resulting temperature gradients with respect to time should be considered.

  • Write the load data to a load step file using the LSWRITE command.

For the second load step, remember to delete any imposed temperatures unless you know that those nodes will maintain the same temperatures throughout the transient analysis. Also, remember to issue TIMINT,ON,THERM in the second load step to turn on transient effects. For more information, see the descriptions of the D, DDELE, LSWRITE, SF, TIME, and TIMINT commands.

3.4.3. Specifying Load Step Options

For a thermal analysis, you can specify general options, nonlinear options, and output controls.

3.4.3.1. Defining Time-stepping Strategy

You can manage your transient problem either by defining multiple load steps (for stepped or ramped boundary conditions) or by using a single load step and tabular boundary conditions (for arbitrary time-varying conditions) with an array parameter to define your time points. However, you can only apply the table method to heat transfer (only) elements, thermal electric elements, thermal surface effect elements, fluid elements, or some combination of these types.

To use the load step method, follow this procedure:

  1. Specify the time at the end of the load step via the TIME.

  2. Specify whether your loads are stepped or ramped via the KBC command.

  3. Specify the load values at the end of the load step. (This requires various commands, as described in Table 2.9: Thermal Analysis Load Types and Table 2.10: Load Commands for a Thermal Analysis in this document.)

  4. Write information to a load step file via the LSWRITE command.

  5. Repeat steps 1 through 4 for each load step until you have finished writing all load step data to the file.

    If you need to delete any loads (except temperature constraints), set them to zero over a small time interval instead of deleting them.

To use table parameters, follow this procedure:

  1. Define your loading profile (that is, load vs. time) using TABLE type array parameters as described in Applying Loads Using Tabular Input in the Basic Analysis Guide.

  2. Specify automatic time stepping on (AUTOTS,ON). Specify either time step size (DELTIM) or number of substeps (NSUBST).

  3. Specify the time step reset option via the TSRES command. You can choose to not reset the time stepping during the solution, to reset the time based on an already-defined array of key time values, or to reset the time based on a new array of key times.

    If you select new while working interactively, the application prompts you to fill in the n x 1 array of key times at this point. If you are working in batch mode, you must define the array before issuing TSRES, which resets the time step to the initial value as specified on DELTIM or NSUBST.

    If you use an array of time values (FREQ = %array% on the OUTRES command) in conjunction with a time step reset array (TSRES command), you need to ensure that any FREQ array time values exceed the nearest TSRES array value by the initial time step increment specified with DELTIM,DTIME or NSUBST,NSBSTP. For example, if you have a FREQ array with the values 1.5, 2, 10, 14.1, and 15, and a TSRES array with the values 1, 2, 10, 14, and 16 (where the time stepping would restart at those values), and you specify an initial time step increment of DTIME = .2, the program will stop. In this example, the requested FREQ array value of 14.1 does not exist, because the TSRES value specified that the time step be reset at 14 and increment at an interval of .2; therefore, the first available time for the FREQ array would be 14.2.


    Note:  TSRES is used only with AUTOTS,ON. If constant time stepping is used (AUTOTS,OFF), TSRES is ignored.


    Use *DIM to define array parameters.

    When you create a key time array, the time values in the array must be in ascending order and must not exceed the time at the end of the load step as defined on the TIME command.

    During solution, the time step size will be reset at the key times identified in the array. Time step sizes are reset based on initial time step size (DELTIM,DTIME) or number of substep (NSUBST,NSBSTP) settings.

  4. Use the OUTRES command to specify when the information is to be written to the results file using an nx1 array type parameter (just as you did with the key time array). You can use the same key time array that you used to reset time stepping, or you can use a different array. If working interactively, you can create the array at this time or use an existing array. If working in batch mode, you must define the array before issuing OUTRES.


    Note:  You can use the TSRES command and time stepping strategy only if using the following heat transfer (only) elements, thermal electric elements, thermal surface effect elements, fluid element FLUID116, or some combination of these types:


3.4.3.2. General Options

General options include the following:

  • The time option

    This option specifies time at the end of the load step.

    The default time value is 1.0 for the first load step. For subsequent load steps, the default is 1.0 plus the time specified for the previous load step.

    To specify time, use the TIME command.

  • Number of substeps per load step, or the time step size

    A nonlinear analysis requires multiple substeps within each load step. By default, the program uses one substep per load step.

    In regions of severe thermal gradients during a transient (for example, surfaces of quenched bodies), there is a relationship between the largest element size in the direction of the heat flow and the smallest time step size that will yield good results. Using more elements for the same time step size will normally give better results, but using more substeps for the same mesh will often give worse results. When using automatic time stepping and elements with midside nodes (quadratic elements), Ansys, Inc. recommends that you control the maximum time step size by the description of the loading input and define the minimum time step size (or maximum element size) based on the following relationship:

    ITS = Δ2 / 4 α

    The  Δ value is the conducting length of an element (along the direction of heat flow) in the expected highest temperature gradient. The  α value is the thermal diffusivity, given by k/ρC. The k value is the thermal conductivity, ρ is the mass density, and C is the specific heat.

    If the above relationship (ITS = Δ2 / 4 α) is violated when using elements with midside nodes, the program typically calculates unwanted oscillations and temperatures outside of the physically possible range. When using elements without midside nodes, the unwanted oscillations are unlikely to occur, and the above recommendation for the minimum time step can be considered somewhat conservative.


    Caution:  Avoid using extremely small time steps, especially when establishing initial conditions. Very small numbers can cause calculation errors. For instance, on a problem time scale of unity, time steps smaller than 1E-10 can cause numerical errors.


    To set the number of size of time steps, use either the NSUBST command or the DELTIM command.

    If you apply stepped loads, the load value remains constant for the entire load step. If you ramp loads (the default), the load values increment linearly at each substep (time step) of the load step.

    To step or ramp loads, use the KBC command.

  • Monitor Results in Real Time

    The NLHIST command allows you to monitor results of interest in real time during a solution. Before starting the solution, you can request nodal data such as temperatures or heat flows. You can also request element nodal data such as thermal gradients and fluxes at specific elements to be graphed. The result data are written to a file named Jobname.nlh. Nodal results and contact results are monitored at every converged substep while element nodal data are written as specified via the OUTRES setting. You can also track results during batch runs. To execute, either:

    Use the supplied file browser to navigate to your Jobname.nlh file. Click the file name to invoke the tracking utility NLHIST. You can use this utility to read the file at any time, even after the solution is complete.

3.4.4. Nonlinear Options

For single-field nonlinear thermal analysis, the program offers two solution options. Choose one of these options via the THOPT command:

  • The Full option corresponds to the default full Newton-Raphson algorithm.

  • The Quasi option corresponds to selective reforming of the thermal matrix during solution of the nonlinear thermal problem. The matrix is only reformed if the nonlinear material properties changed by a significant amount (user-controlled). This option performs no equilibrium iterations between time steps by default, unless ALGO = 1 on the THOPT command. Material properties are evaluated at the temperatures at the beginning of the time step.

The Quasi solution option performs direct assembly of the thermal matrix. Only the ICCG, JCG, PCG, and SPARSE solvers support solutions under this option. Use the EQSLV command to choose one of these solvers.

For the Quasi solution option of the THOPT command, you must also specify the material property change tolerance used for matrix reformation. The reform tolerance defaults to .05, corresponding to a 5% change in material properties. The Quasi option sets up a single fast material table, with equal temperature points between a maximum and a minimum temperature for evaluation of temperature-dependent material properties. Using this option, you have to also specify the number of points (defaults to 64) and the minimum and maximum temperature (defaults to the minimum and maximum temperature defined by the MPTEMP command) for the fast material table.

All other nonlinear options are valid with the THOPT command. Specify nonlinear load step options only if nonlinearities are present. Nonlinear options include the following:

  • Number of equilibrium iterations

    This option specifies the maximum allowable number of equilibrium iterations per substep (defaults to between 15 and 26 iterations, depending upon the problem physics).

    To specify the number of equilibrium iterations, use the NEQIT command.

  • Automatic Time Stepping

    Also called time step optimization in a transient analysis, automatic time stepping allows the program to determine the size of load increments between substeps. It also increases or decreases the time step size during solution, depending on how the model responds. In a transient thermal analysis, the response checked is the thermal eigenvalue.

    For the THOPT,Quasi option, the time step size is also adjusted based on property change during solution. If the eigenvalue is small, a larger time step is used and vice versa. Other things considered in determining the next time step are the number of equilibrium iterations used for the previous time step, and changes in the status of nonlinear elements.

    For most problems, you should turn on automatic time stepping and set upper and lower limits for the integration time step. This helps to control how much the time step varies. Set the upper and lower integration time step limits with the NSUBST command or the DELTIM command.

    To specify automatic time stepping, use the AUTOTS command.

    To change the default values used for automatic time stepping, use the TINTP command.

  • Time integration effects

    These load step options determine whether the analysis includes transient effects such as structural inertia and thermal capacitance.


    Note:  The program assumes time integration effects to be on in a transient analysis (unless they were turned off to establish initial conditions). If time integration effects are turned off, Mechanical APDL calculates a steady-state solution.


    To specify time integration effects, use the TIMINT command.

  • Transient integration parameters

    These parameters control the nature of your time integration scheme and specify the criteria for automatic time stepping. Consult the Mechanical APDL Theory Reference for details.

    To minimize inaccuracies in a solution, you can set the transient integration parameter (the THETA value) to 1.0.

    To specify transient integration parameters, use the TINTP command.

  • Convergence tolerances

    The program considers a nonlinear solution to be converged whenever specified convergence criteria are met. Convergence checking may be based on temperatures, heat flow rates, or both. You specify a typical value for the desired item (VALUE field on the CNVTOL command) and a tolerance about the typical value (TOLER field). The convergence criterion is then given by VALUE x TOLER. For instance, if you specify 500 as the typical value of temperature and 0.001 as the tolerance, the convergence criterion for temperature is 0.5 degrees.

    For temperatures, the program compares the change in nodal temperatures between successive equilibrium iterations (ΔT = Ti - Ti-1) to the convergence criterion. Using the above example, the solution is converged when the temperature difference at every node from one iteration to the next is less than 0.5 degrees.

    For heat flow rates, the program compares the out-of-balance load vector to the convergence criterion. The out-of-balance load vector represents the difference between the applied heat flows and the internal (calculated) heat flows.

    To specify convergence tolerances, use the CNVTOL command.

    As nonlinear thermal analysis proceeds, the program calculates convergence norms with corresponding convergence criteria each equilibrium iteration. Available in both batch and interactive sessions, the Graphical Solution Tracking (GST) feature displays the calculated convergence norms and criteria while the solution is in process. By default, GST is ON for interactive sessions and OFF for batch runs. To turn GST on or off, issue the /GST command.

  • Termination settings for unconverged solutions

    If the program cannot converge the solution within the specified number of equilibrium iterations, it either stops the solution or moves on to the next load step, depending on what you specify as the stopping criteria.

    To halt an unconverged solution, use the NCNV command.

  • Line search

    To use the line search option, issue the LNSRCH command. This allows the program to perform a line search with the Newton-Raphson method. I

  • Predictor-corrector option

    To use the predictor-corrector option, issue the PRED command. This activates the predictor-corrector option for the degree of freedom solution at the first equilibrium iteration of each substep.

3.4.5. Output Controls

This class of load step options enables you to control output. Output controls options are as follows:

  • Control printed output

    To control printed output, use the OUTPR command. This enables you to include any results data in the printed output file (Jobname.out).

  • Control database and results file output

    To control database and results file output, use the OUTRES command. This controls what data goes to the results file (Jobname.rth).

  • Extrapolate results

    To extrapolate results, use the ERESX command. This allows you to review element integration point results by copying them to the nodes instead of extrapolating them. (Extrapolation is the default.)