20 reg(
"inlet", [](shared_ptr<Solution> solution,
const string&
id) {
21 return new Inlet1D(solution,
id);
23 reg(
"empty", [](shared_ptr<Solution> solution,
const string&
id) {
24 return new Empty1D(solution,
id);
26 reg(
"symmetry-plane", [](shared_ptr<Solution> solution,
const string&
id) {
27 return new Symm1D(solution,
id);
29 reg(
"outlet", [](shared_ptr<Solution> solution,
const string&
id) {
32 reg(
"outlet-reservoir", [](shared_ptr<Solution> solution,
const string&
id) {
35 reg(
"surface", [](shared_ptr<Solution> solution,
const string&
id) {
36 return new Surf1D(solution,
id);
38 reg(
"reacting-surface", [](shared_ptr<Solution> solution,
const string&
id) {
41 reg(
"gas-flow", [](shared_ptr<Solution> solution,
const string&
id) {
42 return new StFlow(solution,
id);
44 reg(
"ion-flow", [](shared_ptr<Solution> solution,
const string&
id) {
45 return new IonFlow(solution,
id);
47 reg(
"free-flow", [](shared_ptr<Solution> solution,
const string&
id) {
49 if (solution->transport()->transportModel() ==
"ionized-gas") {
50 ret = new IonFlow(solution, id);
52 ret = new StFlow(solution, id);
57 reg(
"axisymmetric-flow", [](shared_ptr<Solution> solution,
const string&
id) {
59 if (solution->transport()->transportModel() ==
"ionized-gas") {
60 ret = new IonFlow(solution, id);
62 ret = new StFlow(solution, id);
67 reg(
"unstrained-flow", [](shared_ptr<Solution> solution,
const string&
id) {
69 if (solution->transport()->transportModel() ==
"ionized-gas") {
70 ret = new IonFlow(solution, id);
72 ret = new StFlow(solution, id);
Factory class to create domain objects.
static std::mutex domain_mutex
Mutex for use when calling the factory.
DomainFactory()
default constructor, which is defined as private
void deleteFactory() override
Virtual abstract function that deletes the factory.
static DomainFactory * s_factory
Pointer to the single instance of the factory.
static DomainFactory * factory()
Return a pointer to the factory.