ODT
Loading...
Searching...
No Matches
domain.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "dv.h"
9#include "domaincase.h"
10#include "inputoutput.h"
11#include "param.h"
12#include "streams.h"
13#include "micromixer.h"
14#include "eddy.h"
15#include "meshManager.h"
16#include "solver.h"
17#include "randomGenerator.h"
18#include "cantera/thermo/IdealGasPhase.h"
19#include "cantera/transport.h"
20#include <vector>
21#include <string>
22#include <map>
23
24using namespace std;
25using namespace Cantera;
26
28
34class domain {
35
36 public:
37
39
41
42 int ngrd;
43 int ngrdf;
44
45 vector<dv*> v;
46
63 vector<dv*>::iterator ysp;
64 vector<dv*>::iterator svar;
65 vector<dv*>::iterator eta;
66
67 map<string,dv*> varMap;
68
69 IdealGasPhase *gas;
70 Transport *tran;
79
81
82 int nTrans;
83
85
86
88
89 int domainPositionToIndex(double position, const bool LowSide, int dbg);
90 void setDomainFromRegion(const int i1, const int i2);
91 double cyclePeriodicDomain(const int icycle);
92 void backCyclePeriodicDomain(const double backCycleDistance);
93 double Ldomain();
94
95 private:
96
97 void initEddyDomain();
98
99
101
102 public:
103
104 void init(inputoutput *p_io,
105 meshManager *p_mesher,
106 streams *p_strm,
107 IdealGasPhase *p_gas,
108 Transport *p_tran,
109 micromixer *p_mimx,
110 eddy *p_ed,
111 domain *p_eddl,
112 solver *p_solv,
113 randomGenerator *p_rand,
114 bool LisEddyDomain=false);
115 domain(domain *p_domn, param *p_pram);
116 virtual ~domain() {
117 for(int k=0; k<v.size(); k++)
118 delete v.at(k);
119 delete domc;
120 }
121
122};
123
124
126
127
int ngrd
number of grid cells
Definition domain.h:42
dv * enth
Definition domain.h:57
domain * eddl
pointer to eddyline object
Definition domain.h:76
domaincase * domc
domaincase class: set specific vars...
Definition domain.h:84
vector< dv * >::iterator svar
iterator for increment to go through moments (*(ysp+k))->d[i];)
Definition domain.h:64
IdealGasPhase * gas
pointer to cantera thermochemistry object (reaction rates, Cp, etc.)
Definition domain.h:69
int domainPositionToIndex(double position, const bool LowSide, int dbg)
Definition domain.cc:234
int nTrans
number of transported variables on the domain.
Definition domain.h:82
void init(inputoutput *p_io, meshManager *p_mesher, streams *p_strm, IdealGasPhase *p_gas, Transport *p_tran, micromixer *p_mimx, eddy *p_ed, domain *p_eddl, solver *p_solv, randomGenerator *p_rand, bool LisEddyDomain=false)
Definition domain.cc:46
dv * uvel
Definition domain.h:51
double Ldomain()
Definition domain.cc:156
Transport * tran
pointer to cantera transport object (viscosity, diffusivity, etc.)
Definition domain.h:70
dv * phase
Definition domain.h:56
dv * hr
Definition domain.h:61
dv * posf
access as: posf->d[i], or posf->var_name, etc.
Definition domain.h:48
domain(domain *p_domn, param *p_pram)
Definition domain.cc:34
double cyclePeriodicDomain(const int icycle)
Definition domain.cc:304
dv * vvel
Definition domain.h:52
dv * wvel
Definition domain.h:53
dv * aDL
Definition domain.h:62
void initEddyDomain()
Definition domain.cc:167
map< string, dv * > varMap
Definition domain.h:67
void setDomainFromRegion(const int i1, const int i2)
Definition domain.cc:207
dv * pos
pointers to gas properties
Definition domain.h:47
int ngrdf
number of grid cell faces = ngrd+1
Definition domain.h:43
void backCyclePeriodicDomain(const double backCycleDistance)
Definition domain.cc:336
meshManager * mesher
pointer to mesh manager object
Definition domain.h:78
inputoutput * io
pointer to input/output object
Definition domain.h:72
randomGenerator * rand
Definition domain.h:80
dv * sdiff
Definition domain.h:54
eddy * ed
pointer to object for eddy operations
Definition domain.h:75
dv * dvisc
Definition domain.h:50
micromixer * mimx
pointer to micromixer for diffusion, reaction, domain evolution.
Definition domain.h:74
dv * mixf
Definition domain.h:59
vector< dv * >::iterator eta
iterator for increment to go through species etc. (*(ysp+k))->d[i];)
Definition domain.h:65
streams * strm
pointer to gas stream properties
Definition domain.h:71
vector< dv * > v
All domain variables are stored in here.
Definition domain.h:45
vector< dv * >::iterator ysp
access as: ysp=v.begin(), (*ysp)->d[i] or (*(ysp+k))->d[i], or ysp[k]->d[i].
Definition domain.h:63
dv * chi
Definition domain.h:60
virtual ~domain()
Definition domain.h:116
solver * solv
pointer to solver object
Definition domain.h:77
dv * sca
Definition domain.h:55
domain * domn
(for one domain to point to another (eddl))
Definition domain.h:40
param * pram
pointer to the parameters object
Definition domain.h:73
dv * rho
Definition domain.h:49
dv * temp
Definition domain.h:58
Definition dv.h:23
Definition eddy.h:21
Class implementing micromixer object.
Definition micromixer.h:23
Definition param.h:23
Header file for class domaincase.
Header file for class dv.
Header file for class eddy.
Header file for class inputoutput.
Header file for class meshManager.
Header file for class micromixer.
Header file for class param.
Header file for class randomGenerator.
Header file for class solver.
Header file for class streams.