Loading...
Searching...
No Matches
screening_types.cpp
Go to the documentation of this file.
#include "gridfire/screening/screening_abstract.h"
#include "gridfire/screening/screening_types.h"
#include "gridfire/screening/screening_weak.h"
#include "gridfire/screening/screening_bare.h"
#include <memory>
namespace gridfire::screening {
std::unique_ptr<ScreeningModel> selectScreeningModel(const ScreeningType type) {
switch (type) {
case ScreeningType::WEAK:
return std::make_unique<WeakScreeningModel>();
case ScreeningType::BARE:
return std::make_unique<BareScreeningModel>();
default:
return std::make_unique<BareScreeningModel>();
}
}
}
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