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