SootLib
Loading...
Searching...
No Matches
coagulationModel.h
Go to the documentation of this file.
1#pragma once
2
3#include "state.h"
4
5namespace soot {
6
7class sootModel;
8
14
16
18
19public:
20
23
24protected:
25
27
29
30public:
31
32 virtual double getCoagulationSootRate(const state& state, double m1, double m2) const = 0;
33
34 virtual double getKfm(const state& state) const {
35 throw std::runtime_error("ERROR: coagulationModel::getKfm should not be called, but child coagulationModel_FM::getKfm is fine");
36 return -1.0;}
37
38 virtual double getKc(const state& state) const {
39 throw std::runtime_error("ERROR: coagulationModel::getKc should not be called, but child coagulationModel_CONTINUUM::getKc is fine");
40 return -1.0;}
41
42 virtual double getKcp(const state& state) const {
43 throw std::runtime_error("ERROR: coagulationModel::getKcp should not be called, but child coagulationModel_CONTINUUM::getKcp is fine");
44 return -1.0;}
45
46 void set_FM_multiplier(double FM_multiplier_) {
47 FM_multiplier = FM_multiplier_;
48 }
49
51
52 coagulationModel() = default;
53 virtual ~coagulationModel() = default; // Virtual deconstructor since interface will be used in the form of pointers
54
55};
56} // namespace soot
virtual double getKcp(const state &state) const
coagulationMech mechType
identity of the type of coagulation (child)
virtual double getKfm(const state &state) const
virtual ~coagulationModel()=default
sootModel * SM
back pointer to soot model
virtual double getKc(const state &state) const
double FM_multiplier
multiply the FM rate by this (1.0 default, user set); make =9/2/eps_c for LL
virtual double getCoagulationSootRate(const state &state, double m1, double m2) const =0
void set_FM_multiplier(double FM_multiplier_)
Definition: sootDefs.h:11
coagulationMech
Definition: sootDefs.h:34