forked from PaulENorman/balloon_trajectory
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sphere_balloon.h
69 lines (56 loc) · 1.94 KB
/
sphere_balloon.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "std_atm.h"
#include "rad_flux.h"
#include "consts.h"
#ifndef SPHERE_BALLOON_H
#define SPHERE_BALLOON_H
//constants
struct drag {
double Re;
double Cd;
};
class Sphere_balloon {
private:
//balloon properties
double rhoEnv; //envelope density (kg/m^3)
double cpEnv; //envelop specifiv heat (J/(kgK))
double envThickness; // (m)
double vmCoeff; //virtual mass
double diameter; // (m)
double radAbs; //adsorbed radiation fraction
double radRef; //reflected radation fraction
double radTrans; //transitted radiation fraction
double massPayload; // (kg)
//calculated properted
double emissEnv; //envelope emissivity
double totAbs; //total effective absorbtivity
double surfArea;
double projArea; //projected area
double tm; //thermal mass (J/K)
double massEnv; // (kg)
vector <drag> cd_arr;
Std_atm * atm; // atmosphere object
Rad_flux * rad; // radiation flux object
public:
double get_therm_mass() const;
double get_virt_mass() const;
double get_vol() const;
double get_mass() const;
double get_Cd(double v, double el) const;
double get_cs_area() const;
double get_q_rad(double lat, double el, double h) const;
double solve_T_i(double T_s, double el) const;
double get_sum_q_int(double T_s, double T_i, double el) const;
double get_q_int(double T_s, double T_i, double el) const;
double get_Nu_int(double Ra) const;
double solve_T_surf(double q_rad, double el, double v) const;
double get_sum_q_surf(double q_rad, double T_s, double el, double v) const;
double get_q_ext(double T_s, double el, double v) const;
double get_Nu_ext(double Ra, double Re, double Pr) const;
void read_balloon_coeffs();
Sphere_balloon(Std_atm * _atm, Rad_flux * _rad);
~Sphere_balloon();
};
#endif