GridFire 0.0.1a General Purpose Nuclear Network

Loading...
Searching...
No Matches
screening_types.cpp
Go to the documentation of this file.
1#include "gridfire/screening/screening_abstract.h"
2#include "gridfire/screening/screening_types.h"
3#include "gridfire/screening/screening_weak.h"
4#include "gridfire/screening/screening_bare.h"
5
6#include <memory>
7
8 namespace gridfire::screening {
9 std::unique_ptr<ScreeningModel> selectScreeningModel(const ScreeningType type) {
10 switch (type) {
11 case ScreeningType::WEAK:
12 return std::make_unique<WeakScreeningModel>();
13 case ScreeningType::BARE:
14 return std::make_unique<BareScreeningModel>();
15 default:
16 return std::make_unique<BareScreeningModel>();
17 }
18 }
19}
gridfire::screening
Definition screening_abstract.h:11
gridfire::screening::selectScreeningModel
std::unique_ptr< ScreeningModel > selectScreeningModel(ScreeningType type)
A factory function to select and create a screening model.
Definition screening_types.cpp:9
gridfire::screening::ScreeningType
ScreeningType
Enumerates the available plasma screening models.
Definition screening_types.h:15
gridfire::screening::ScreeningType::WEAK
@ WEAK
Weak screening model (Salpeter, 1954).
Definition screening_types.h:35
gridfire::screening::ScreeningType::BARE
@ BARE
No screening applied. The screening factor is always 1.0.
Definition screening_types.h:16
screening_abstract.h
screening_bare.h
screening_types.h
screening_weak.h