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"
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
Kokkos::DefaultHostExecutionSpace execution_space
One-dimensional eigenfunction for exponential covariance function.
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.
ExponentialRandomField(Teuchos::ParameterList &solverParams)
Constructor.
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
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
eigen_func_array_type product_eigen_funcs
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.
Namespace for analytic KL expansions.
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.