8#ifndef model_SecondOrderReaction_H_
9#define model_SecondOrderReaction_H_
24template <
typename TrialFunctionType>
28 constexpr static int rows=TrialFunctionType::rows;
30 constexpr static int dim=TrialFunctionType::dim;
38 const std::shared_ptr<TrialFunctionType>
c;
39 const std::shared_ptr<EvalFunctionType>
ce;
106 template<
typename ElementType,
typename BaryType>
116 const Eigen::Matrix<double,rows,1> cvalue(
inFactors.asDiagonal()*(*
ce)(ele,bary));
119 Eigen::Matrix<double,rows,cols>
temp(Eigen::Matrix<double,rows,cols>::Zero());
120 for(
size_t r=0;r<
rows;++r)
auto eval(const std::shared_ptr< T > &t)
static constexpr int rows
const Eigen::Matrix< double, rows, 1 > outFactors
const Eigen::Matrix< double, rows, 1 > inFactors
EvalExpression< TrialFunctionType > EvalFunctionType
const std::shared_ptr< EvalFunctionType > ce
const ClusterDynamicsParameters< dim > & cdp
const Eigen::Matrix< double, rows, cols > operator()(const ElementType &ele, const BaryType &bary) const
const std::shared_ptr< TrialFunctionType > c
SecondOrderReaction(const std::shared_ptr< TrialFunctionType > &c_in, const ClusterDynamicsParameters< dim > &cdp_in)
static constexpr int mSize
static constexpr int cols
Eigen::MatrixXd matrix(const Form &form)