Branch data Line data Source code
1 : : // *****************************************************************************
2 : : /*!
3 : : \file src/DiffEq/Dirichlet/GeneralizedDirichletCoeffPolicy.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 Generalized Dirichlet coefficients policies
9 : : \details This file defines coefficients policy classes for the Generalized
10 : : Dirichlet SDE, defined in DiffEq/Dirichlet/GeneralizedDirichlet.h.
11 : : For general requirements on Generalized Dirichlet SDE coefficients
12 : : policy classes see the header file.
13 : : */
14 : : // *****************************************************************************
15 : :
16 : : #include "GeneralizedDirichletCoeffPolicy.hpp"
17 : :
18 : 11 : walker::GeneralizedDirichletCoeffConst::GeneralizedDirichletCoeffConst(
19 : : tk::ctr::ncomp_t ncomp,
20 : : const std::vector< kw::sde_b::info::expect::type >& b_,
21 : : const std::vector< kw::sde_S::info::expect::type >& S_,
22 : : const std::vector< kw::sde_kappa::info::expect::type >& k_,
23 : : const std::vector< kw::sde_c::info::expect::type >& c_,
24 : : std::vector< kw::sde_b::info::expect::type >& b,
25 : : std::vector< kw::sde_S::info::expect::type >& S,
26 : : std::vector< kw::sde_kappa::info::expect::type >& k,
27 : : std::vector< kw::sde_c::info::expect::type >& c )
28 : : // *****************************************************************************
29 : : // Constructor: initialize coefficients
30 : : //! \param[in] ncomp Number of scalar components in this SDE system
31 : : //! \param[in] b_ Vector used to initialize coefficient vector b
32 : : //! \param[in] S_ Vector used to initialize coefficient vector S
33 : : //! \param[in] k_ Vector used to initialize coefficient vector k
34 : : //! \param[in] c_ Vector used to initialize coefficient vector c
35 : : //! \param[in,out] b Coefficient vector to be initialized
36 : : //! \param[in,out] S Coefficient vector to be initialized
37 : : //! \param[in,out] k Coefficient vector to be initialized
38 : : //! \param[in,out] c Coefficient vector to be initialized
39 : : // *****************************************************************************
40 : : {
41 [ - + ][ - - ]: 11 : ErrChk( b_.size() == ncomp,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
42 : : "Wrong number of generalized Dirichlet SDE parameters 'b'");
43 [ - + ][ - - ]: 11 : ErrChk( S_.size() == ncomp,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
44 : : "Wrong number of generalized Dirichlet SDE parameters 'S'");
45 [ - + ][ - - ]: 11 : ErrChk( k_.size() == ncomp,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
46 : : "Wrong number of generalized Dirichlet SDE parameters 'kappa'");
47 [ - + ][ - - ]: 11 : ErrChk( c_.size() == ncomp*(ncomp-1)/2,
[ - - ][ - - ]
[ - - ][ - - ]
[ - - ]
48 : : "Wrong number of generalized Dirichlet SDE parameters 'c'");
49 : :
50 : 11 : b = b_;
51 : 11 : S = S_;
52 : 11 : k = k_;
53 : 11 : c = c_;
54 : 11 : }
|