Branch data Line data Source code
1 : : // *****************************************************************************
2 : : /*!
3 : : \file src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeckCoeffPolicy.cpp
4 : : \copyright 2012-2015 J. Bakosi,
5 : : 2016-2018 Los Alamos National Security, LLC.,
6 : : 2019-2021 Triad National Security, LLC.
7 : : All rights reserved. See the LICENSE file for details.
8 : : \brief Ornstein-Uhlenbeck coefficients policies
9 : : \details This file defines coefficients policy classes for the diagonal
10 : : Ornstein-Uhlenbeck SDE, defined in
11 : : DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.h. For general
12 : : requirements on the diagonal Ornstein-Uhlenbeck SDE coefficients
13 : : policy classes see the header file.
14 : : */
15 : : // *****************************************************************************
16 : :
17 : : #include "DiagOrnsteinUhlenbeckCoeffPolicy.hpp"
18 : :
19 [ - + ]: 45 : walker::DiagOrnsteinUhlenbeckCoeffConst::DiagOrnsteinUhlenbeckCoeffConst(
20 : : tk::ctr::ncomp_t ncomp,
21 : : const std::vector< kw::sde_sigmasq::info::expect::type >& sigmasq_,
22 : : const std::vector< kw::sde_theta::info::expect::type >& theta_,
23 : : const std::vector< kw::sde_mu::info::expect::type >& mu_,
24 : : std::vector< kw::sde_sigmasq::info::expect::type >& sigmasq,
25 : : std::vector< kw::sde_theta::info::expect::type >& theta,
26 : : std::vector< kw::sde_mu::info::expect::type >& mu )
27 : : // *****************************************************************************
28 : : // Constructor: initialize coefficients
29 : : //! \param[in] ncomp Number of scalar components in this SDE system
30 : : //! \param[in] sigmasq_ Vector used to initialize coefficient vector sigmasq
31 : : //! \param[in] theta_ Vector used to initialize coefficient vector theta
32 : : //! \param[in] mu_ Vector used to initialize coefficient vector mu
33 : : //! \param[in,out] sigmasq Coefficient vector to be initialized
34 : : //! \param[in,out] theta Coefficient vector to be initialized
35 : : //! \param[in,out] mu Coefficient vector to be initialized
36 : : // *****************************************************************************
37 : : {
38 [ - + ][ - - ]: 45 : ErrChk( sigmasq_.size() == ncomp,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
39 : : "Wrong number of diagonal Ornstein-Uhlenbeck SDE parameters 'sigmasq'");
40 [ - + ][ - - ]: 45 : ErrChk( theta_.size() == ncomp,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
41 : : "Wrong number of diagonal Ornstein_uhlenbeck SDE parameters 'theta'");
42 [ - + ][ - - ]: 45 : ErrChk( mu_.size() == ncomp,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
43 : : "Wrong number of diagonal Ornstein_uhlenbeck SDE parameters 'mu'");
44 : :
45 : 45 : sigmasq = sigmasq_;
46 : 45 : theta = theta_;
47 : 45 : mu = mu_;
48 : 45 : }
|