42#ifndef STOKHOS_KL_EXPONENTIAL_RANDOM_FIELD_HPP
43#define STOKHOS_KL_EXPONENTIAL_RANDOM_FIELD_HPP
45#include "Teuchos_ParameterList.hpp"
46#include "Teuchos_PromotionTraits.hpp"
47#include "Kokkos_Core.hpp"
106 template <
typename value_type,
124 KOKKOS_INLINE_FUNCTION
128 KOKKOS_INLINE_FUNCTION
132 KOKKOS_INLINE_FUNCTION
136 template <
typename po
int_type,
typename rv_type>
137 KOKKOS_INLINE_FUNCTION
138 typename Teuchos::PromotionTraits<
typename rv_type::value_type,
141 const rv_type& random_variables)
const;
144 template <
typename po
int_type>
145 KOKKOS_INLINE_FUNCTION
149 template <
typename po
int_type>
150 KOKKOS_INLINE_FUNCTION
151 typename Teuchos::PromotionTraits<
typename point_type::value_type,
156 template <
typename po
int_type>
157 KOKKOS_INLINE_FUNCTION
158 typename Teuchos::PromotionTraits<typename point_type::value_type, value_type>::promote
163 KOKKOS_INLINE_FUNCTION
167 void print(std::ostream& os)
const;
Kokkos::DefaultExecutionSpace execution_space
One-dimensional eigenfunction for exponential covariance function.
Class representing a KL expansion of an exponential random field.
value_type mean
Mean of random field.
KOKKOS_INLINE_FUNCTION ~ExponentialRandomField()
Destructor.
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.
KOKKOS_INLINE_FUNCTION int stochasticDimension() const
Return stochastic dimension of the field.
eigen_value_array_type product_eigen_values
Product eigenvalues.
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.
Kokkos::View< one_d_eigen_func_type **, execution_space > eigen_func_array_type
value_type std_dev
Standard deviation of random field.
int dim
Dimension of expansion.
void print(std::ostream &os) const
Print KL expansion.
Kokkos::View< value_type *, execution_space > eigen_value_array_type
OneDEigenPair< one_d_eigen_func_type > one_d_eigen_pair_type
int num_KL
Number of KL terms.
eigen_func_array_type product_eigen_funcs
Product eigenfunctions.
KOKKOS_INLINE_FUNCTION int spatialDimension() const
Return spatial dimension of the field.
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.
KOKKOS_INLINE_FUNCTION value_type evaluate_mean(const point_type &point) const
Evaluate mean of random field at a point.
ProductEigenPair< one_d_eigen_func_type, execution_space > product_eigen_pair_type
ExponentialOneDEigenFunction< value_type > one_d_eigen_func_type
value_type KOKKOS_INLINE_FUNCTION eigenvalue(int i) const
Return eigenvalue.
ExponentialRandomField()
Default constructor.
Top-level namespace for Stokhos classes and functions.
Container for one-dimensional eigenfunction and eigenvalue.
Container for multi-dimensional product of 1-D eigenfunctions/values.