7.4. Step 4. Initialize the Coefficients

The nonlinear regression process requires a starting point. The initial coefficients that you provide determine the accuracy and efficiency of the curve fit. Initialize or modify the coefficients as needed (TBFT,SET).

You can also generate the initial values for the coefficients automatically (TBFT,AINI). The following material models support the automatic option:

Material ModelOrder
Ogden1 to 5
Ogden Hyperfoam1 to 5
Arruda-Boyce--
Gent--
Extended Tube--
Three-Network Model (TNM)[a]--
Bergstrom-Boyce[a][b]--

[a] This is a special hyperelasticity model. Initial values are provided for coefficients for low-rate loading only.  Initial values provided for creep-effect or thermal-effect coefficients are reasonable valid numbers, but they may not always provide a good fit in the parameter-fitting process.

[b] C5 is initialized to a fraction of the approximate material stiffness, and C7 is initialized to 1. However, these values may not always provide a good starting point. With C7 set to 1, experimenting with different fractional values of C5 may be needed.

If C7 is changed to a larger number, C5 must therefore be appropriately set to a sufficiently small number. (See Hyperelasticity for the formula.)

For example, based on the stress values in the experimental data, if is assumed to be the order of 106 and m is initialized to 2, C5 may be set to a small fraction of 1/((106)2).

The volumetric coefficient (C1 in TB,BB,,,,PVOL) is not provided with an initial value. In the absence of volumetric data, set the volumetric coefficient to zero, and fix it during the curve-fitting process (TBFT,,,,,,FIX). In the presence of volumetric data, set the volumetric coefficient to a small fraction of the inverse of bulk modulus, or set it to zero.

Compared to curve-fitting for other hyperelastic models, TNM curve-fitting is a slower process, although convergence can occur in about 20-30 steps.

For most hyperelastic models, 1 or -1 is a good starting point; however, coefficient values can vary greatly depending on the model chosen. The Gent model, for example, provides good fit with initial coefficient values as high as 1000.

7.4.1. Chaboche and Rate-Dependent Plasticity Models

Initialize at least the elastic modulus and yield stress. The program uses the yield stress and elastic modulus to determine a reasonable starting point for the nonlinear regression process and the AINI initialization.

You can edit the coefficients (TBFT,SET) if needed.

You can initialize the remaining coefficients automatically (TBFT,AINI) if these conditions are true:

  • Elastic properties and yield stress have been defined (TBFT,SET).

  • Each experiment has been marked by its attributes.

  • Uniaxial monotonic experiments (where the strain increases monotonically) are specified.

For rate-dependent plasticity material models, one set of uniaxial experiment without a rate-hardening effect (no /rate attribute) is required (meaning that the loading is slow enough that the rate-hardening effect is negligible). Also, several sets of uniaxial experiments with different loading rates (with /rate attribute) are required.

if using automatic initialization of the coefficients (TBFT,AINI), add the following attributes to the experimental data:

Index Description Value
2Keywords to indicate that experimental data can be used to model kinematic hardening./khar,1
3Keywords to indicate that experimental data can be used to model isotropic hardening./ihar,1
4Keywords to indicate that experimental data can be used to model rate-dependent plasticity./rate,1
5Keywords to indicate that experimental data can be used to model static recovery./srec,1
6Weight to all experimental data points following this line./weight,value
7Keywords to indicate that experimental data is for stress-strain in a cyclic loading. /sscycl,value

7.4.2. Prony Series for Time and Frequency Domain

A complete model has (2*NG + 2*Nk ) + NS + 2 coefficients, where:

  • NG = order of the Prony series expansion of the shear modulus

  • Nk = the order of the Prony series expansion of the bulk modulus

  • NS = number of coefficients of the shift function (NS = 2 for the TN option, and NS = 3 for the WLF option)

  • The remaining two coefficients are the elastic properties (E and μ from TB,ELASTIC)

The coefficients are ordered as shear terms first, then the bulk terms, and then the shift function. The coefficients are ordered as A1 G, τ1 G, A2 G, τ2 G, … An G, and τn G for shear modulus, and A1 K, τ1 K, A2 K, τ2 K, … An K, and τn K for bulk modulus.

A shift function must be used together with your shear and/or bulk modulus for temperature-dependent experimental data.

The default coefficient is set to 1, but it is good practice to redefine the initial values before solving. When initializing your coefficients, set An Ks to 1 and τn Ks to time values that are equally distributed in the log scale, spanning the data range from minimum to maximum time for the time domain data.

For example, consider the shear-decay versus time-data file. If the time values vary from 1 to 10000, and if you use third-order Prony, logical guesses for τ1 G, τ2 G and τ3 G that span this range could be τ1 G = 1, τ2 G = 100, and τ3 G = 10,000 (also (1), (10) and (10,000) or (1), (1,000) and (10,000), respectively).

For the frequency domain data, a trial-and-error process is necessary. Enter τ values at different orders of magnitude (1E-5,1E-3,1E-1,1E1,1E2. ...). The A (alpha values) values can be set to 1, and the least-squares solver generally converges to the best possible alpha values.

You can also fix (hold constant) your coefficients. You specify a value for a coefficient and keep it unchanged, while allowing the other coefficients to be operated on. You can then release the fixed coefficient later if desired. By default, all of the coefficients are free to vary.

AI-based automatic initialization is supported for Prony series models. You can initialize the coefficients via the shear modulus option or the bulk modulus option automatically (TBFT,AINI). Elastic properties must be known and defined. Automatic initialization is not available for the shift function but can be used for temperature-dependent experimental data. The experimental type, whether in time domain or frequency domain, is determined based on the attributes added to the experimental data. /1, time is for the time domain data, and /1, freq is for the frequency domain data. If the attributes are not defined, the data is assumed to be in time domain.

The k-nearest-neighbor algorithm is used by default for automatic initialization of the Prony series coefficients. Optionally, you can use the feed-forward neural networks for the automatic initialization (TBFT,SET with Option4 = IALGO and Option5 = METHOD). If using feed-forward neural networks, the Python library PyTorch must be installed using Ansys’s own Python interpreter. The location of Ansys’s Python interpreter is:

  • Windows:

    ANSYS_INSTALL_DIR\v242\commonfiles\CPython\3_10\winx64\Release\python\python.exe

  • Linux:

    ANSYS_INSTALL_DIR/v242/commonfiles/CPython/3_10/linx64/Release/python/bin/python

7.4.3. Geomechanical Material Models

Automatic coefficient initialization (TBFT,AINI) is not supported for geomechanical models.

For the EDP Cap model, (max i1 in compression, a negative value) and (peak value of sqj2) must be initialized to obtain a good fit. Yield surface parameters must be evaluated with sqj2 vs. i1 data before the flow potential parameters are evaluated with the triaxial test data. A reasonable guess for flow potential parameters can be copied from equivalent values from the yield surface parameters.

For the Cam-clay model, porous elasticity parameters must be initialized and fixed along with and to obtain a good fit. (Porous elasticity shows an additional internal parameter for initial pressure, initialized in the experimental data via /ipre,value.)

7.4.4. Creep Material Models

The following suggestions can help to ensure successful curve-fitting. They do not represent a singular method or strategy. Also, trying them does not guarantee a solution. See Creep Option for additional information about each implicit creep model.

Strain Hardening Strain hardening has four coefficients, with C4 dedicated to temperature-dependency. If you do not have temperature-dependent data, set C4 to zero. If you have difficulty solving temperature-dependent data, use experimental data for only one temperature and fix C4 to zero. Solve, and then add data for your other temperatures. Then release C4 and solve for all coefficients. You can also solve for just C4 by fixing the C1, C2 and C3 values.
Time Hardening Time hardening has four coefficients, with C4 dedicated to temperature-dependency. If you do not have temperature-dependent data, set C4 to zero. If you have difficulty solving temperature-dependent data, use experimental data for only one temperature and fix C4 to zero. Solve, and then add data for your other temperatures. Then release C4 and solve for all coefficients. You can also solve for just C4 by fixing the C1, C2 and C3 values.
Generalized Exponential Generalized exponential has five coefficients, with C4 dedicated to temperature-dependency. If you have no temperature-dependent data, set C4 to zero. Use a low value for C5 (such as 1e-3) to avoid floating-point overflows in the exponential term. If you have difficulty solving for temperature-dependent data, use experimental data for only one temperature, fix C4 to zero, then solve. Then add data for your other temperatures, release C4 and solve for all coefficients. You can also solve for just C4 by fixing C1, C2 and C3.
Generalized Graham Generalized Graham has eight coefficients. You use C8 for temperature-dependency. If you do not have temperature-dependent data, set C8 to zero. If you have difficulty solving temperature-dependent data, use experimental data for only one temperature, fix C8 to zero, and solve. Then add data for other temperatures, release C8 and solve for the remaining coefficients individually.
Generalized Blackburn Generalized Blackburn has seven coefficients. Examine the exponential terms and try to prevent floating-point overflows. To keep eC2σ within floating-point range, ensure that the initial value of C2 is such that C2σ is close to 1. Similarly, try to keep σ/C4 and C7σ close to 1.
Modified Time Hardening Modified time hardening has four coefficients. C4 is for temperature-dependency. If you do not have temperature-dependent data, fix C4 to zero.
Modified Strain Hardening Modified Strain Hardening has four coefficients. This model can be complex for curve-fitting. To prevent the term from going negative, C1 is replaced with C12 but converted to the proper form before being written to the database.
Generalized Garofalo Generalized Garofalo has four coefficients, with C4 dedicated to temperature-dependency. If you do not have temperature-dependent data, set C4 to zero. To keep the Sinh term within floating-point range, keep c2σ close to 1 when you initialize the coefficients.
Exponential Form Exponential form has three coefficients, with C3 dedicated to temperature-dependency. If you do not have temperature-dependent data, set C3 to zero. To keep eσC2 within floating-point range, keep σ/C2 close to 1.
Norton Norton model has three coefficients, with C3 dedicated to temperature-dependency. If you do not have temperature-dependent data, set C3 to zero.
Prim+Sec Time Hardening Time hardening has seven coefficients. This is a complex model. Here it is advisable to solve for temperature independent data first and then introduce temperature related data. To keep the coefficients positive and to improve convergence, the curve-fitting process replaces coefficients C1 and C5 with exp(C1) and exp(c5), respectively, and converts them appropriately before generating the material data tables.
Prim+Sec Rational Polynomial Rational polynomial is a very complex model for curve-fitting, with 10 coefficients. If you find it difficult to fit this data, try splitting the experimental data into primary and secondary creep data. Primary creep data is the initial part of the curve that covers the nonlinearity in the strain rate. Fit only the secondary data by fixing C1 to 1 and then set all other coefficients except C2, C3 and C4 to zero. Use a low value of C3 to keep 10C3σ within floating-point range. Coefficients C5 to C10 in curve-fitting refers to coefficients C7 to C12 in the implicit creep equation (rational polynomial). Then add the primary creep data, release all coefficients, and solve.
Generalized Time Hardening Generalized time hardening has six coefficients. Set C6 to zero if you have temperature independent data. When initializing coefficients set C5σ close to 1 to avoid floating-point overflows.

7.4.5. Hints and Recommendations for Coefficient Initialization

  • The initial values of the coefficients can also come from experience, and from examining the function that defines the model to which you are attempting to compare/fit your data.

  • You can also fix (hold constant) your coefficients (TBFT with Option4 = FIX). You specify a value for a coefficient and keep it unchanged, while allowing the other coefficients to be operated on. You can then release the fixed coefficient and operate on it after the others are optimized.

  • For temperature-dependent experimental data, enable temperature-dependency and specify a reference temperature before solving for the coefficients. You can set the reference temperature only to values specified using the /temp,value header line in the experimental data.

    You can also initiate multiple solves to evaluate coefficients at all available discrete temperature values (TBFT with TREF = ALL). In this case, for data at three temperatures (t1, t2, and t3), a single TBFT,SOLVE command performs three separate solve operations at those three discrete temperatures.

    With temperature-dependency on and the reference temperature set to a particular value, a TBFT,SOLVE command solves for coefficients only at that temperature. To solve for coefficients at other temperatures, you set the reference temperature to each desired discrete temperature value and solve again.

    You can initialize the coefficients before or after enabling temperature-dependency. If the coefficients are initialized before enabling temperature-dependency, they become the initial coefficients for all future solves for that model; however, the coefficients are overridden when temperature-dependency is enabled and another set of initial values are specified at discrete temperature values. The program searches for the initial coefficients at a given temperature; if no coefficients are specified at a discrete temperature, it uses the initial coefficients set before temperature-dependency was enabled.

  • A good starting point is crucial. Examine the initial curve fit with the assumed coefficients and adjust as necessary to obtain a reasonable initial fit (TBFT,SET and TBFPLOT). Then, begin the solution process (TBFT,SOLVE).

  • If you are not using a coefficient tolerance or residual tolerance, specify a low number of iterations.

7.4.6. Syntax and Arguments for Coefficient Initialization

TBFT,SET,MATID,Option1,Option2,Option3,Option4,Option5  ! initialize coefficients

where:

MATID = Material reference ID number
Option1 = Category – AML
Option2 = Model name
Option3 = Order, if applicable
Option4 = Index of coefficient
Option5 = Value of the coefficient

To specify temperature-dependency, or to set a reference temperature:

TBFT,SET,MATID,Option1,Option2,Option3,Option4,Option5

where:

MATID = Material reference ID number
Option1 = Category – AML
Option2 = Model name
Option3 = Order, if applicable
Option4 = TDEP or TREF
Option5 = If Option4 = TDEP, a value of 1 enables temperature-dependency, and 0 disables it. If Option4 = TREF, this value is either ALL or the reference temperature.

To specify the automatic initialization method:

TBFT,SET,MATID,Option1,Option2,Option3,Option4,Option5

where:

MATID = Material reference ID number
Option1 = Category – AML
Option2 = Model name
Option3 = Order, if applicable
Option4 = IALGO
Option5 = NNEI for k-nearest neighbors (available for the Prony series only), or NNET for feed-forward neural networks.
TBFT,AINI,MATID,Option1,Option2,Option3

where:

MATID = Material reference ID number
Option1 = Category – AML
Option2 = Model name
Option3 = Order, if applicable
TBFT,FIX,MATID,Option1,Option2,Option3,Option4,Option5

where:

MATID = Material reference ID number
Option1 = Category – AML
Option2 = Model name
Option3 = (Blank – not applicable)
Option4 = Index of coefficient
Option5 = 1 for fixed, 0 to vary

7.4.6.1. Parameter Scaling

To enable parameter-scaling and improve optimization performance, issue TBFT,PSCA:

TBFT,PSCA,MATID,AML,GENR,Option3,Option4,Option5

where:

MATID = Material reference ID number
Option3 = The specified name for your curve-fitting model.
Option4 = Index of the coefficient (1 to max).
Option5 = LINE (default) or EXPO (exponential) or SQRD (squared option) or LOG (natural log)

Instead of optimizing for C1, the EXPO option optimizes for exp(C1).

Example 7.4: Optimizing for exp(C1) During Parameter-Fitting

S data is fitted for the following equation:

S = C1*exp(-C2*t)

When you specify the EXPO option, the program replaces C1 with exp(C1) internally:

S = exp(C1) * exp(-C2*t)

You can also use parameter-scaling to avoid overflow or numerical errors:

Y = C3^C4

In this case, C3 must always be positive. If not, the operating system detects a numerical error and the program terminates.

The squared-scaling option replaces C3 with C3^2 to ensure that a positive C3 value is always sent to UserMat:

TBFT,PSCA,MATID,AML,GENR,ModelName,CoeffIndex,SQRD

Alternatively, you can issue TBFT,BNDS and add a constraint to maintain a positive C3:

TBFT,BNDS,MATIDAML,GENR,ModelName,CoeffIndex,1e-20,1e50

It is good practice to use a debugger to examine the UserMat output.