Loading...
Searching...
No Matches
screening_abstract.h
Go to the documentation of this file.
#pragma once
#include "gridfire/reaction/reaction.h"
#include "fourdst/composition/atomicSpecies.h"
#include "cppad/cppad.hpp"
#include <vector>
namespace gridfire::screening {
class ScreeningModel {
public:
using ADDouble = CppAD::AD<double>;
virtual ~ScreeningModel() = default;
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;
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;
};
}
gridfire::screening::ScreeningModel
An abstract base class for plasma screening models.
Definition screening_abstract.h:27
gridfire::screening::ScreeningModel::ADDouble
CppAD::AD< double > ADDouble
Alias for CppAD Automatic Differentiation type for double precision.
Definition screening_abstract.h:30
gridfire::screening::ScreeningModel::calculateScreeningFactors
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.
gridfire::screening::ScreeningModel::calculateScreeningFactors
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.
gridfire::screening::ScreeningModel::~ScreeningModel
virtual ~ScreeningModel()=default
Virtual destructor.
gridfire::reaction::LogicalReactionSet
TemplatedReactionSet< LogicalReaction > LogicalReactionSet
A set of logical reactions.
Definition reaction.h:563
gridfire::screening
Definition screening_abstract.h:11
reaction.h
Defines classes for representing and managing nuclear reactions.