RadLib
Loading...
Searching...
No Matches
ex_S3.cc
Go to the documentation of this file.
1
3
4#include <iostream>
5#include "../../src/c++/rad_rcslw.h"
6#include "../../src/c++/rad.h"
7
8using namespace std;
9
10void parallel_planes(rad *RAD,
11 const double L,
12 const int ntheta,
13 const vector<double> &T,
14 const double P,
15 const vector<double> &fvsoot,
16 const vector<double> &xH2O,
17 const vector<double> &xCO2,
18 const vector<double> &xCO,
19 const vector<double> &xCH4,
20 vector<double> &q,
21 vector<double> &Q,
22 vector<double> &x,
23 vector<double> &xQ,
24 const bool LzeroIbc=false
25 );
26
28
29int main() {
30
31 //--------------------- parameters
32
33 double P = 101325.0;
34 double L = 1.0;
35 int nGG = 24;
36 int ntheta = 101;
37 int nx = 1001;
38 double Twall = 800;
39
40 int nGGa = nGG+1;
41
42 double xco2=0.0, xco=0.0, xh2o=0.12, xch4=0.0, fvs=0.0;
43
44 //---------------------
45
46 vector<double> xCO2(nx, xco2);
47 vector<double> xCO(nx, xco);
48 vector<double> xH2O(nx, xh2o);
49 vector<double> xCH4(nx, 0.0);
50 vector<double> fvsoot(nx, fvs);
51
52 vector<double> x(nx, 0.0);
53 vector<double> xQ;
54 vector<double> T(nx, Twall);
55
56 double dx = L/(nx-1);
57 x[0] = 0.0;
58 double Tavg = T[0];
59 double xH2O_avg = 0.0;
60 for(int i=1; i<nx; ++i){
61 x[i] = x[i-1] + dx;
62 T[i] = 4000*x[i]*(L-x[i])/L/L + Twall;
63 xH2O[i] = 0.8*x[i]*(L-x[i])/L/L + xh2o;
64 Tavg += T[i];
65 xH2O_avg += xH2O[i];
66 }
67 Tavg /= nx;
68 xH2O_avg /= nx;
69
70 rad *rcslw = new rad_rcslw(nGG, Tavg, P, fvs, xH2O_avg, xco2, xco); // results are better if Tref in rcslw constructor is set to 1000 K.
71
72 //--------------------- get q, Q
73
74 vector<double> q;
75 vector<double> Q;
76
77 parallel_planes(rcslw, L, ntheta, T, P, fvsoot, xH2O, xCO2, xCO, xCH4, q, Q, x, xQ);
78
79 //-------------------------------------------------------------------------
80
81 cout << "# x (m), Q (kW/m3)";
82 for(int i=0; i<xQ.size(); ++i)
83 cout << endl << xQ[i] << " " << Q[i]/1000;
84
85 //cout << "# x (m), q (kW/m2)";
86 //for(int i=0; i<x.size(); ++i)
87 // cout << endl << x[i] << " " << q[i]/1000;
88
89 cout << endl;
90
91 return 0;
92
93}
94
Definition rad.h:20
void parallel_planes(rad *RAD, const double L, const int ntheta, const vector< double > &T, const double P, const vector< double > &fvsoot, const vector< double > &xH2O, const vector< double > &xCO2, const vector< double > &xCO, const vector< double > &xCH4, vector< double > &q, vector< double > &Q, vector< double > &x, vector< double > &xQ, const bool LzeroIbc=false)
int main()
Definition ex_S3.cc:29