ODT
Loading...
Searching...
No Matches
dv_chi.cc
Go to the documentation of this file.
1
7#include "dv_chi.h"
8#include "domain.h"
9#include <cstdlib>
10#include <cmath>
11
13
20 const string s,
21 const bool Lt,
22 const bool Lo) {
23
24 domn = line;
25 var_name = s;
26 L_transported = Lt;
27 L_output = Lo;
28 d = vector<double>(domn->ngrd, 0.0);
29
30}
31
33
45void dv_chi::setVar(const int ipt){
46
47 if(ipt != -1) {
48 cout << endl << "ERROR in setVar: ipt must be -1" << endl;
49 exit(0);
50 }
51
52 d.resize(domn->ngrd);
53
54 domn->mixf->setVar(); // this may be redundant
55
56 vector<double> gradZ(domn->ngrd);
57 vector<double> Dthm(domn->ngrd);
58
59 //-------------- Get thermal diffusivity
60
61 for(int i=0; i<domn->ngrd; i++) {
63 double tcond = domn->tran->thermalConductivity();
64 double cp = domn->gas->cp_mass();
65 Dthm.at(i) = tcond/domn->rho->d.at(i)/cp;
66 }
67
68 //------------- Compute chi
69
70 gradZ.at(0) = (domn->mixf->d.at(1)-domn->mixf->d.at(0))/(domn->pos->d.at(1)-domn->pos->d.at(0));
71 double d1, d2;
72 for(int i=1; i<domn->ngrd-1; i++) {
73 d1 = 0.5*(domn->pos->d.at(i) -domn->pos->d.at(i-1));
74 d2 = 0.5*(domn->pos->d.at(i+1)-domn->pos->d.at(i));
75 gradZ.at(i) = (d2*d2*(domn->mixf->d.at(i) -domn->mixf->d.at(i-1)) +
76 d1*d1*(domn->mixf->d.at(i+1)-domn->mixf->d.at(i)))/(2*d1*d2*(d1+d2));
77 }
78 gradZ.at(domn->ngrd-1) = (domn->mixf->d.at(domn->ngrd-1)-domn->mixf->d.at(domn->ngrd-2)) /
79 (domn->pos->d.at(domn->ngrd-1)-domn->pos->d.at(domn->ngrd-2));
80
81 for(int i=0; i<domn->ngrd; i++)
82 d.at(i) = 2.0*Dthm.at(i)*gradZ.at(i)*gradZ.at(i);
83
84}
85
int ngrd
number of grid cells
Definition domain.h:42
domaincase * domc
domaincase class: set specific vars...
Definition domain.h:84
IdealGasPhase * gas
pointer to cantera thermochemistry object (reaction rates, Cp, etc.)
Definition domain.h:69
Transport * tran
pointer to cantera transport object (viscosity, diffusivity, etc.)
Definition domain.h:70
dv * pos
pointers to gas properties
Definition domain.h:47
dv * mixf
Definition domain.h:59
dv * rho
Definition domain.h:49
virtual void setGasStateAtPt(const int &ipt)
Definition domaincase.h:34
dv_chi()
Definition dv_chi.h:41
virtual void setVar(const int ipt=-1)
Definition dv_chi.cc:45
vector< double > d
the data
Definition dv.h:30
bool L_transported
flag true if var is transported
Definition dv.h:31
string var_name
name of variable
Definition dv.h:29
bool L_output
flag true if included in output
Definition dv.h:32
domain * domn
pointer to domain object (parent)
Definition dv.h:35
virtual void setVar(const int ipt=-1)
Definition dv.h:44
Header file for class domain.
Header file for class dv_chi.