***table#

Description#

The procedure ***table indicates a loading table definition in time. The table will be available in the other commands of the .inp file such as the boundary conditions or the external parameter definitions. Loading tables are currently only defined as a series of time-magnitude points which are linearly interpolated to intermediate times.

The tables are named with arbitrary, user-defined character strings which are used in the syntax of other commands to indicate which table to use. There are no conditions on the number or size of the tables.

Syntax#

Loading tables are assembled through the use of the following sub-commands:

***table \(~\,\) **name name \(~\,~\,\) *time \(t_1\)\(t_n\) \(~\,~\,\) *value \(v_1\)\(v_n\) \(~\,\) **cycle name  \(t_{ini}\) \(t_{end}\) \(~\,~\,\) *time \(t_1\)\(t_n\) \(~\,~\,\) *value \(v_1\)\(v_n\) \(~\,\) **function name FUNCTION \(~\,\) **file name file_name ctime cvalue

**name

Specifies that a simple table is to be created with name as given directly following the **name keyword. A table defined as such is assembled with the *time and *value options.

*time

indicates that a list of real values will follow giving the individual time points of the table. These time values are in absolute time measured from the beginning of the problem. The current version of the code requires in most applications that the table be able to give a value for all valid times in the problem. This is noted to begin with the initial time \(t=0\). Most tables will therefore be defined starting with this initial point.

*dtime

This option serves the same function as the *time command, but is defined in incremental form. The option is useful for complex loadings where it is easier to think in incremental form, or as the only way to currently model step loading (using segments of \(\Delta t=0\)).

*value

This option indicates that a series of real numbers will be given to define the table values. It is necessary that there be exactly one value for each time specified with the *time command. As the time definitions are given from the beginning of the problem, there must be a corresponding initial value for time \(t=0\). This value will normally be zero in the case of boundary condition loading, as the problem may not begin in a pre-deformed state through standard boundary conditions (use a restart procedure with the pre-deformed structure stored in the restart file). If one table is succeeded by another, it is necessary to ensure the continuity from one table to another.

**cycle name \(t_{ini}\)  \(t_{end}\)

In order to generate cyclic loadings it is convenient to simply specify a load cycle to be repeated a number of times. This option does exactly that with the initial time for the cycles given by \(t_{ini}\) (a real value). The cycles will continue repeated until the time \(t_{end}\) (real) regardless if that time is at the end point or an intermediate point in the cycle. The cycle is defined as a simple table above using the *time and *value options, only that the time will be in a local cycle scale. The start of the cycle (first at time \(t_{ini}\)) is at the local time zero. The zero time point must therefore always be given for the cycle table format. In contrast with the standard table, the corresponding initial value is not usually zero, as some pre-loading may have been applied before the cycles begin. This command is examined more fully in the examples below. zitem**function This allows to generate tables defined by functions depending on time. name specifies the table name followed by a FUNCTION object. The variable time MUST be the only argument of the function.

**file

This allows to generate tables defined by a file (column format). name specifies the table name. file_name specifies the file name. ctime specifies the column of file_name representing the time and cvalue the column of file_name representing the table value (the first column is numbered 1).

Example#

1. Suppose that a U2 displacement is to be applied to the top surface of a structure. This surface will have a node set defined by the user in the geometry description with the name top. The loading profile is to be:

(121)#\[\begin{split}\begin{matrix} \hbox{at $t=1$, } & u= 10. \\ \hbox{at $t=5$, } & u=-10. \\ \hbox{at $t>5$, } & u=-10. \\ \end{matrix}\end{split}\]

On a face set named inter a pressure is also to be applied. The pressure value will be zero until \(t=1\), after which there is a ramp loading in the pressure until \(t=7\) at which point the pressure is 100.

The loading sequences will correspond to the points of load change:

**sequence
  *time 1. 5. 7.

Declaration of the displacement and pressure boundary conditions are written:

***bc
  **impose_nodal_dof
      haut U2 1. tab1
  **pressure inter 100. tab2

Note the two different table names tab1 and tab2 because the loading waveforms are different. The table definitions may be written as:

***table
  **name tab1
    *time  0.  1.   5.   7.
    *value 0. 10. -10. -10.
  **name tab2
    *time  0. 1. 7.
    *value 0. 0. 1.

2. Cyclic loading is given as a second example. This case represents the calculation of a structure under a pre-loaded pressure of 200 MPa followed by a cycling of the pressure about the mean value of 200 MPa with a cyclic magnitude of 100 MPa. After 10 cycles the pressure is returned to zero to observe the residual stress field.

***resolution
   **sequence
    *time       120.
    *increment  5
   **cycles 10
    *dtime      75. 75. 75. 75.
    *increment  10
    *algorithm  p1p2p3
   **sequence
    *dtime      20.
    *increment  5
  ***bc
   **pressure
      top 1.0 tab1 cycs tab2

  ***table
   **name tab1
    *time      0.0  120.
    *value     0.0  200.
   **cycle cycs 120. 3120.
    *time      0.0   75. 150. 225. 300.
    *value   200.0  250. 200. 150. 200.
   **name tab2
    *time   3120.0  3140.
    *value   200.0    0.
../../_images/cycles.svg