***random_distribution#

Description#

This command creates a random distribution in the structure, which can be used to create spatially randomized parameters such as material coefficients.

Syntax#

***random_distribution \(~\,\) **name name \(~\,\) **type dimen  type \(~\,\) **law law \(~\,\) **load load-file

**name

gives a character name to the distribution. This user assigned name will be used to reference the random value at a particular point in space.

**type

specify dimen (real) for the space dimension and a distribution type. The later is currently restricted to be cellular.

**law

law define the type of random law to use. law should be a keyword defining the type. In the standard distribution, there are the following types available.

Type

Description

uniform

Uniform law \(F(x) = x\)

weibull

Weibull type statistical distribution \(F(x) = 1-\exp[-((x-A)/b)^C]\)

discrete

User gives \(F(x)\)

normal

\(F(x) = erf(x)\)

These laws are described in more detail in the following pages.

**load

is used to load the random field from a pre-existing file. This is used for example for verification tests where it is desired that the distribution be the same every time the case is run. One can use this to preserve interesting random distribution cases for more than one run.

Example#

An example of random distribution being used for randomized coefficients follows.

***random_distribution
   **name Erand
   **type 2 cellular
     *start (0. 0.)
     *end   (1. 1.)
     *cell  (.2 .2)
   **load random.data
....

***behavior linear_elastic
 **elasticity
     young random Erand
     poisson 0.3
***return

The random distribution can also be used to initialize material state variables.

***random_distribution
  **name eelrand
  **type 2 cellular
    *start (0. 0.)
    *end   (1. 1.)
    *cell  (.2 .2)
  **load random_iv.data
***material
    *file ../MAT/random_iv.mat
    *var_mat_ini eel11 random eelrand
****return