# random_field

Experimental capability to generate a random field representation. from data, from simulation runs, or from a covariance matrix. The representation may then be sampled for use as a random field input to another simulation. THIS IS AN EXPERIMENTAL CAPABILITY.

**Specification**

*Alias:*None*Arguments:*None

**Child Keywords:**

Required/Optional |
Description of Group |
Dakota Keyword |
Dakota Keyword Description |
---|---|---|---|

Optional |
Specify how the random field will be built: from a data file, from simulation runs, or from a covariance matrix. THIS IS AN EXPERIMENTAL CAPABILITY. |
||

Optional |
Specify the form of the expansion to be used in the random field representation. THIS IS AN EXPERIMENTAL CAPABILITY. |
||

Optional |
Specify the number of basis functions to be used in the random field representation. THIS IS AN EXPERIMENTAL CAPABILITY. |
||

Optional |
Specify a percent of the response variance that should be captured with the random field representation. THIS IS AN EXPERIMENTAL CAPABILITY. |
||

Required |
Pointer to the model that will accept realizations of the random field and use them for subsequent analysis. Typcially, this model will take the random field as inputs, e.g. a random field defining a pressure boundary or temperature boundary condition over a structure. THIS IS AN EXPERIMENTAL CAPABILITY. |

**Description**

Capability to generate a random field representation from data, from simulation runs, or from a covariance matrix. The random field may then be sampled for use as a random field input to another simulation. THIS IS AN EXPERIMENTAL CAPABILITY UNDER ACTIVE DEVELOPMENT.

*Default Behavior*
There are three main sections of the `random_field`

model.
The first section tells Dakota what data to use to build the random field.
This is specified with `build_source`

. The source of data to build the
random field may be a file with data (where the N rows of data correspond to
N samples of the random field and the M columns correspond to field values),
or it may be a simulation that generates field data, or it may be specified
given a mesh and a covariance matrix governing how the field varies over the mesh.
In the case of using a simulation to generate field data, the simulation is
defined with `dace_method_pointer`

. In the case of using a mesh and a
covariance, the form of the covariance is defined with `analytic_covariance`

.

The next section of the random fiel model specifies the form of the expansion,
`expansion_form`

. This can be either a Karhunen-Loeve expansion or a
Principal components analysis. These are very similar: both involve the eigenvalues
of the covariance matrix of the field data. The only difference is in the treatment
of the estimation of the coefficients of the eigenvector basis functions. In the
PCA case, we have developed an approach which makes the coefficients explicit
functions of the uncertain variables used to generate the random field.
The specification of the random field can also include the number of bases
to retain or a truncation tolerance, which defines the percent variance
that the expansion should capture.

The final section of the random field model allows the user to specify a pointer to a model over which the random field will be propagated, meaning the model which will be driven with the random field input. This part of the specification is optional: one can build a random field but not use it in a downstream model.

**Examples**

As stated above, this is an emerging capability. The syntax currently looks like the following:

```
random_field
build_source
rf_data_file | dace_method_pointer | analytic_covariance
expansion_form
karhunen_loeve | principal_components
expansion_bases
truncation_tolerance
propagation_model_pointer
```