MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
oneDFlame.h
Go to the documentation of this file.
1// Copyright (C) 2024 The m-AIA AUTHORS
2//
3// This file is part of m-AIA (https://git.rwth-aachen.de/aia/m-AIA/m-AIA)
4//
5// SPDX-License-Identifier: LGPL-3.0-only
6
7#ifndef OneDFlame_H_
8#define OneDFlame_H_
9
11#include "INCLUDE/maiatypes.h"
12#include "MEMORY/alloc.h"
13#include "filter.h"
14
15#if defined(WITH_CANTERA)
16#pragma GCC diagnostic push
17#pragma GCC diagnostic ignored "-Wunused-parameter"
18#pragma GCC diagnostic ignored "-Wfloat-equal"
19#include "cantera/base/Solution.h"
20#include "cantera/base/global.h"
21#include "cantera/oneD/Boundary1D.h"
22#include "cantera/oneD/Sim1D.h"
23#include "cantera/oneD/StFlow.h"
24#include "cantera/thermo.h"
25#include "cantera/thermo/IdealGasPhase.h"
26#include "cantera/thermo/Species.h"
27#include "cantera/thermo/SpeciesThermoInterpType.h"
28#include "cantera/transport.h"
29#include "cantera/zerodim.h"
30#pragma GCC diagnostic pop
31
32using namespace Cantera;
33
34using PtrCanteraSolution = typename std::shared_ptr<Cantera::Solution>;
35using PtrCanteraThermo = typename std::shared_ptr<Cantera::ThermoPhase>;
36using PtrCanteraKinetics = typename std::shared_ptr<Cantera::Kinetics>;
37using PtrCanteraTransport = typename std::shared_ptr<Cantera::Transport>;
38#endif
39
40class OneDFlame {
41 public:
42 OneDFlame(MFloat, MFloat, MFloat*, MInt, MInt, std::vector<MString>);
44
45 void run();
46 void log(MFloat);
47
48#if defined(WITH_CANTERA)
50#endif
51
52 void readProperties();
53
54 std::vector<MFloat> m_grid;
55
58
59 struct {
60 MFloat* velocity = nullptr;
61 MFloat* temperature = nullptr;
64
65 private:
66#if defined(WITH_CANTERA)
71#endif
72
79
86
88
89 const std::vector<MString> m_speciesName;
90
92};
93#endif
MInt m_noGridPoints
Definition: oneDFlame.h:84
MFloat m_gridPrune
Definition: oneDFlame.h:83
const std::vector< MString > m_speciesName
Definition: oneDFlame.h:89
struct OneDFlame::@22 m_profile
const MInt m_solverId
Definition: oneDFlame.h:78
MString m_transportModel
Definition: oneDFlame.h:91
const MFloat m_TInlet
Definition: oneDFlame.h:74
const MFloat * m_YInlet
Definition: oneDFlame.h:76
void readProperties()
Definition: oneDFlame.cpp:229
std::vector< MFloat > m_grid
Definition: oneDFlame.h:54
MFloat m_rhoInlet
Definition: oneDFlame.h:73
MFloat m_domainLength
Definition: oneDFlame.h:85
const MInt m_domainId
Definition: oneDFlame.h:77
PtrCanteraThermo m_canteraThermo
Definition: oneDFlame.h:68
PtrCanteraSolution m_canteraSolution
Definition: oneDFlame.h:67
void log(MFloat)
Definition: oneDFlame.cpp:201
const MFloat m_pInlet
Definition: oneDFlame.h:75
MFloat m_gridSlope
Definition: oneDFlame.h:81
MFloat m_gridRatio
Definition: oneDFlame.h:80
MFloat m_fixedTemperatureLocation
Definition: oneDFlame.h:56
MFloat * massFractions
Definition: oneDFlame.h:62
MFloat m_laminarFlameThickness
Definition: oneDFlame.h:57
void setCanteraObjects(PtrCanteraSolution, PtrCanteraThermo, PtrCanteraKinetics, PtrCanteraTransport)
Definition: oneDFlame.cpp:218
PtrCanteraTransport m_canteraTransport
Definition: oneDFlame.h:70
MFloat m_gridCurve
Definition: oneDFlame.h:82
MFloat * velocity
Definition: oneDFlame.h:60
MFloat * temperature
Definition: oneDFlame.h:61
MFloat m_allowedRelError
Definition: oneDFlame.h:87
PtrCanteraKinetics m_canteraKinetics
Definition: oneDFlame.h:69
void run()
Definition: oneDFlame.cpp:37
int32_t MInt
Definition: maiatypes.h:62
std::basic_string< char > MString
Definition: maiatypes.h:55
double MFloat
Definition: maiatypes.h:52
typename std::shared_ptr< Cantera::Transport > PtrCanteraTransport
Definition: oneDFlame.cpp:14
typename std::shared_ptr< Cantera::ThermoPhase > PtrCanteraThermo
Definition: oneDFlame.cpp:12
typename std::shared_ptr< Cantera::Kinetics > PtrCanteraKinetics
Definition: oneDFlame.cpp:13
typename std::shared_ptr< Cantera::Solution > PtrCanteraSolution
Definition: oneDFlame.cpp:11
typename std::shared_ptr< Cantera::Transport > PtrCanteraTransport
Definition: oneDFlame.h:37
typename std::shared_ptr< Cantera::ThermoPhase > PtrCanteraThermo
Definition: oneDFlame.h:35
typename std::shared_ptr< Cantera::Kinetics > PtrCanteraKinetics
Definition: oneDFlame.h:36
typename std::shared_ptr< Cantera::Solution > PtrCanteraSolution
Definition: oneDFlame.h:34