RadLib
Loading...
Searching...
No Matches
ex_S4.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 = 0.3;
35 int nGG = 24;
36 int ntheta = 101;
37 int nx = 1001;
38 double Twall = 500;
39 double Tmax = 2500;
40 double H = 0.1;
41
42 int nGGa = nGG+1;
43
44 double xco2=0.0, xco=0.0, xh2o=0.1, 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 for(int i=1; i<nx; ++i){
62 x[i] = x[i-1] + dx;
63 if(x[i] <= L/2-H/2 || x[i] >= L/2+H/2)
64 T[i] = Twall;
65 else if(x[i]<L/2)
66 T[i] = Twall + (Tmax-Twall)/(L/2-(L/2-H/2))*(x[i]-(L/2-H/2));
67 else
68 T[i] = Tmax + (Twall-Tmax)/((L/2+H/2)-L/2)*(x[i]-L/2);
69 Tavg += T[i];
70 }
71 Tavg /= nx;
72
73 //rad *rcslw = new rad_rcslw(nGG, Tmax, P, fvs, xh2o, xco2, xco); // CHANGE: use T=Tmax or T=Tavg for plot
74 rad *rcslw = new rad_rcslw(nGG, Tavg, P, fvs, xh2o, xco2, xco); // CHANGE: use T=Tmax or T=Tavg for plot
75
76 //--------------------- get q, Q
77
78 vector<double> q;
79 vector<double> Q;
80
81 parallel_planes(rcslw, L, ntheta, T, P, fvsoot, xH2O, xCO2, xCO, xCH4, q, Q, x, xQ);
82
83 //-------------------------------------------------------------------------
84
85 cout << "# x (m), Q (kW/m3)";
86 for(int i=0; i<xQ.size(); ++i)
87 cout << endl << xQ[i] << " " << Q[i]/1000;
88
89 //cout << "# x (m), q (kW/m2)";
90 //for(int i=0; i<x.size(); ++i)
91 // cout << endl << x[i] << " " << q[i]/1000;
92
93 cout << endl;
94
95 return 0;
96
97}
98
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_S4.cc:29