GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
screening_abstract.h
Go to the documentation of this file.
1#pragma once
2
4
5#include "fourdst/composition/atomicSpecies.h"
6
7#include "cppad/cppad.hpp"
8
9#include <vector>
10
28 public:
30 using ADDouble = CppAD::AD<double>;
36 virtual ~ScreeningModel() = default;
37
73 virtual std::vector<double> calculateScreeningFactors(
74 const reaction::LogicalReactionSet& reactions,
75 const std::vector<fourdst::atomic::Species>& species,
76 const std::vector<double>& Y,
77 const double T9,
78 const double rho
79 ) const = 0;
80
100 virtual std::vector<ADDouble> calculateScreeningFactors(
101 const reaction::LogicalReactionSet& reactions,
102 const std::vector<fourdst::atomic::Species>& species,
103 const std::vector<ADDouble>& Y,
104 const ADDouble T9,
105 const ADDouble rho
106 ) const = 0;
107 };
108}
An abstract base class for plasma screening models.
CppAD::AD< double > ADDouble
Alias for CppAD Automatic Differentiation type for double precision.
virtual std::vector< ADDouble > calculateScreeningFactors(const reaction::LogicalReactionSet &reactions, const std::vector< fourdst::atomic::Species > &species, const std::vector< ADDouble > &Y, const ADDouble T9, const ADDouble rho) const =0
Calculates screening factors using CppAD types for automatic differentiation.
virtual 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 =0
Calculates screening factors for a set of reactions.
virtual ~ScreeningModel()=default
Virtual destructor.
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:557
Defines classes for representing and managing nuclear reactions.