***dimension#

Description#

Because of numerical noise, Z-set sometimes has to make decisions about when a quantity is very small, small, large, or huge. For instance, when a typical time increment during a calculation is of the order of \(10\) s, output is not written to a file at \(t = 1000\) s (if so requested through the ***output command) when the increment ends at \(t = 999.9999999\) s.

In order to remedy this kind of problem, Z-set has predefined typical values that occur very often, and defines small as “multiplier \(\times\) typical value”. The example above will pass with the default values: the default value for time is \(1.0\) and the default multiplier associated with small is \(10^{-6}\) (so small \(= 1.0 \times 10^{-6} = 10^{-6}\)), and since

(59)#\[1000 - {\texttt{small}} = 999.9999990 < 999.9999999 < 1000.000001 = 1000 + {\texttt{small}},\]

output will be written. However, for certain other cases these default values need to be modified, for instance for impact problems where time increments may come down to the order of \(10^{-7}\) s or less. This can be done through the ***dimension command.

The **dimension command lets the user modify the typical values for stress, deformation, displacement, time and undimensional. The multipliers associated to tiny, small, large and huge may also be changed. Default values are listed below.

Syntax#

The syntax is as follows:

***dimension [ **unit unit  typical ] [ **size size  multiplier ]

unit

may be stress, deformation, displacement, time or undimensional.

typical

specifies the typical order of magnitude (a positive double value) that will occur for the quantity unit. The default values are \(100.\) for stress, \(10^{-6}\) for deformation, \(0.1\) for displacement, \(1.\) for time and \(1.\) for undimensional. Note: this does not specify the actual units (despite the name of the **unit command that suggests otherwise). For example, giving **unit time 1.0e-6 does not mean that all times are measured in microseconds.

size

may be tiny, small, large or huge.

multiplier

gives the multiplier (a positive double) associated with the size keyword. Default values are \(10^{-12}\) for tiny, \(10^{-6}\) for small, \(10^{6}\) for large and \(10^{12}\) for huge. Their respective values should satisfy tiny \(<\) small \(< 1.0 <\) large \(<\) huge. Note that the multiplier given here affects all units.

Example#

The following example may be useful for impact problems, where very small time increments often occur. In absence of these commands, output will not be generated at the proper instants for time increments smaller than \(10^{-6}\) s.

***dimension
 **unit time 1.0e-6