|
Stokhos Package Browser (Single Doxygen Collection) Version of the Day
|
Class representing a KL expansion of an exponential random field. More...
#include <Stokhos_KL_ExponentialRandomField.hpp>

Public Types | |
| typedef ExponentialOneDEigenFunction< value_type > | one_d_eigen_func_type |
| typedef OneDEigenPair< one_d_eigen_func_type > | one_d_eigen_pair_type |
| typedef ProductEigenPair< one_d_eigen_func_type, execution_space > | product_eigen_pair_type |
| typedef Kokkos::View< one_d_eigen_func_type **, execution_space > | eigen_func_array_type |
| typedef Kokkos::View< value_type *, execution_space > | eigen_value_array_type |
Public Member Functions | |
| ExponentialRandomField () | |
| Default constructor. | |
| ExponentialRandomField (Teuchos::ParameterList &solverParams) | |
| Constructor. | |
| KOKKOS_INLINE_FUNCTION | ~ExponentialRandomField () |
| Destructor. | |
| KOKKOS_INLINE_FUNCTION int | spatialDimension () const |
| Return spatial dimension of the field. | |
| KOKKOS_INLINE_FUNCTION int | stochasticDimension () const |
| Return stochastic dimension of the field. | |
| template<typename point_type, typename rv_type> | |
| KOKKOS_INLINE_FUNCTION Teuchos::PromotionTraits< typenamerv_type::value_type, value_type >::promote | evaluate (const point_type &point, const rv_type &random_variables) const |
| Evaluate random field at a point. | |
| template<typename point_type> | |
| KOKKOS_INLINE_FUNCTION value_type | evaluate_mean (const point_type &point) const |
| Evaluate mean of random field at a point. | |
| template<typename point_type> | |
| KOKKOS_INLINE_FUNCTION Teuchos::PromotionTraits< typenamepoint_type::value_type, value_type >::promote | evaluate_standard_deviation (const point_type &point) const |
| Evaluate standard deviation of random field at a point. | |
| template<typename point_type> | |
| KOKKOS_INLINE_FUNCTION Teuchos::PromotionTraits< typenamepoint_type::value_type, value_type >::promote | evaluate_eigenfunction (const point_type &point, int i) const |
| Evaluate given eigenfunction at a point. | |
| value_type KOKKOS_INLINE_FUNCTION | eigenvalue (int i) const |
| Return eigenvalue. | |
| void | print (std::ostream &os) const |
| Print KL expansion. | |
Protected Attributes | |
| int | num_KL |
| Number of KL terms. | |
| int | dim |
| Dimension of expansion. | |
| value_type | mean |
| Mean of random field. | |
| value_type | std_dev |
| Standard deviation of random field. | |
| eigen_func_array_type | product_eigen_funcs |
| Product eigenfunctions. | |
| eigen_value_array_type | product_eigen_values |
| Product eigenvalues. | |
Class representing a KL expansion of an exponential random field.
This class provides a means for evaluating a random field 


![\[ a(x,\theta) \approx a_0 +
\sigma\sum_{k=1}^M \sqrt{\lambda_k}b_k(x)\xi_k(\theta)
\]](form_76.png)
where 


![\[ \mbox{cov}(x,x') = \sigma\exp(-|x_1-x_1'|/L_1-...-|x_d-x_d'|/L_d).
\]](form_79.png)
In this case, the covariance function and domain factor into a product 1-dimensional covariance functions over 1-dimensional domains, and thus the eigenfunctions 






The idea for this approach was provided by Chris Miller.
All data is passed into this class through a Teuchos::ParameterList, which accepts the following parameters:









Additionally parameters for the OneDExponentialCovarianceFunction are also accepted.
Definition at line 108 of file Stokhos_KL_ExponentialRandomField.hpp.
| typedef ExponentialOneDEigenFunction<value_type> Stokhos::KL::ExponentialRandomField< value_type, execution_space >::one_d_eigen_func_type |
Definition at line 111 of file Stokhos_KL_ExponentialRandomField.hpp.
| typedef OneDEigenPair<one_d_eigen_func_type> Stokhos::KL::ExponentialRandomField< value_type, execution_space >::one_d_eigen_pair_type |
Definition at line 112 of file Stokhos_KL_ExponentialRandomField.hpp.
| typedef ProductEigenPair<one_d_eigen_func_type,execution_space> Stokhos::KL::ExponentialRandomField< value_type, execution_space >::product_eigen_pair_type |
Definition at line 113 of file Stokhos_KL_ExponentialRandomField.hpp.
| typedef Kokkos::View<one_d_eigen_func_type**,execution_space> Stokhos::KL::ExponentialRandomField< value_type, execution_space >::eigen_func_array_type |
Definition at line 114 of file Stokhos_KL_ExponentialRandomField.hpp.
| typedef Kokkos::View<value_type*,execution_space> Stokhos::KL::ExponentialRandomField< value_type, execution_space >::eigen_value_array_type |
Definition at line 115 of file Stokhos_KL_ExponentialRandomField.hpp.
|
inline |
Default constructor.
Definition at line 118 of file Stokhos_KL_ExponentialRandomField.hpp.
| Stokhos::KL::ExponentialRandomField< value_type, execution_space >::ExponentialRandomField | ( | Teuchos::ParameterList & | solverParams | ) |
Constructor.
Definition at line 49 of file Stokhos_KL_ExponentialRandomFieldImp.hpp.
|
inline |
Destructor.
Definition at line 125 of file Stokhos_KL_ExponentialRandomField.hpp.
|
inline |
Return spatial dimension of the field.
Definition at line 129 of file Stokhos_KL_ExponentialRandomField.hpp.
|
inline |
Return stochastic dimension of the field.
Definition at line 133 of file Stokhos_KL_ExponentialRandomField.hpp.
| KOKKOS_INLINE_FUNCTION Teuchos::PromotionTraits< typenamerv_type::value_type, value_type >::promote Stokhos::KL::ExponentialRandomField< value_type, execution_space >::evaluate | ( | const point_type & | point, |
| const rv_type & | random_variables ) const |
Evaluate random field at a point.
Definition at line 166 of file Stokhos_KL_ExponentialRandomFieldImp.hpp.
|
inline |
Evaluate mean of random field at a point.
Definition at line 146 of file Stokhos_KL_ExponentialRandomField.hpp.
| KOKKOS_INLINE_FUNCTION Teuchos::PromotionTraits< typenamepoint_type::value_type, value_type >::promote Stokhos::KL::ExponentialRandomField< value_type, execution_space >::evaluate_standard_deviation | ( | const point_type & | point | ) | const |
Evaluate standard deviation of random field at a point.
Definition at line 184 of file Stokhos_KL_ExponentialRandomFieldImp.hpp.
| KOKKOS_INLINE_FUNCTION Teuchos::PromotionTraits< typenamepoint_type::value_type, value_type >::promote Stokhos::KL::ExponentialRandomField< value_type, execution_space >::evaluate_eigenfunction | ( | const point_type & | point, |
| int | i ) const |
Evaluate given eigenfunction at a point.
Definition at line 202 of file Stokhos_KL_ExponentialRandomFieldImp.hpp.
|
inline |
Return eigenvalue.
Definition at line 164 of file Stokhos_KL_ExponentialRandomField.hpp.
| void Stokhos::KL::ExponentialRandomField< value_type, execution_space >::print | ( | std::ostream & | os | ) | const |
Print KL expansion.
Definition at line 214 of file Stokhos_KL_ExponentialRandomFieldImp.hpp.
|
protected |
Number of KL terms.
Definition at line 172 of file Stokhos_KL_ExponentialRandomField.hpp.
|
protected |
Dimension of expansion.
Definition at line 175 of file Stokhos_KL_ExponentialRandomField.hpp.
|
protected |
Mean of random field.
Definition at line 178 of file Stokhos_KL_ExponentialRandomField.hpp.
|
protected |
Standard deviation of random field.
Definition at line 181 of file Stokhos_KL_ExponentialRandomField.hpp.
|
protected |
Product eigenfunctions.
Definition at line 184 of file Stokhos_KL_ExponentialRandomField.hpp.
|
protected |
Product eigenvalues.
Definition at line 187 of file Stokhos_KL_ExponentialRandomField.hpp.