GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
screening_bare.h
Go to the documentation of this file.
1#pragma once
2
5
6#include "cppad/cppad.hpp"
7
8namespace gridfire::screening {
9 class BareScreeningModel final : public ScreeningModel {
10 using ADDouble = CppAD::AD<double>;
11 public:
12 [[nodiscard]] std::vector<double> calculateScreeningFactors(
13 const reaction::LogicalReactionSet& reactions,
14 const std::vector<fourdst::atomic::Species>& species,
15 const std::vector<double>& Y,
16 const double T9,
17 const double rho
18 ) const override;
19
20 [[nodiscard]] std::vector<ADDouble> calculateScreeningFactors(
21 const reaction::LogicalReactionSet& reactions,
22 const std::vector<fourdst::atomic::Species>& species,
23 const std::vector<ADDouble>& Y,
24 const ADDouble T9,
25 const ADDouble rho
26 ) const override;
27 private:
28 template <typename T>
29 [[nodiscard]] std::vector<T> calculateFactors_impl(
30 const reaction::LogicalReactionSet& reactions,
31 const std::vector<fourdst::atomic::Species>& species,
32 const std::vector<T>& Y,
33 const T T9,
34 const T rho
35 ) const;
36 };
37
38 template<typename T>
40 const reaction::LogicalReactionSet &reactions,
41 const std::vector<fourdst::atomic::Species> &species,
42 const std::vector<T> &Y,
43 const T T9,
44 const T rho
45 ) const {
46 return std::vector<T>(reactions.size(), T(1.0)); // Bare screening returns 1.0 for all reactions
47 }
48}
size_t size() const
Gets the number of reactions in the set.
Definition reaction.h:453
std::vector< T > calculateFactors_impl(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< T > &Y, const T T9, const T rho) const
std::vector< double > calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< double > &Y, const double T9, const double rho) const override
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
Defines classes for representing and managing nuclear reactions.