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
|
#ifndef PRESSUREDROP_HH
#define PRESSUREDROP_HH
#include <math.h> // fabs, pow
#include "constants.hh"
#include "frictionfactor.hh"
#include "kinematicviscosity.hh"
#include "sign.hh"
inline double
pressuredrop(const string fluid,
const double d,
const double l,
const double r,
const double rho,
const double T,
const double Q)
{
double nu = kinematicviscosity(fluid, T);
double Re = 4.0 * fabs(Q) / (pi * d * nu);
double f = frictionfactor(Re, r);
double k = 4.0 * f * l / d;
double dP = k * 8.0 * rho * pow(Q, 2) / (pi2 * pow(d, 4));
return (dP * sign(Q));
}
inline double
pressuredrop(const string fluid,
const double d,
const double l,
const double r,
const double rho,
const double T,
const causality_t effort_causality, const int port,
const double Q, const causality_t flow_causality, const int port_in)
|
>
|
|
|
|
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
|
#ifndef PRESSUREDROP_HH
#define PRESSUREDROP_HH
#include <cmath> // fabs, pow
#include <string>
#include "constants.hh"
#include "frictionfactor.hh"
#include "kinematicviscosity.hh"
#include "sign.hh"
inline double
pressuredrop(const std::string fluid,
const double d,
const double l,
const double r,
const double rho,
const double T,
const double Q)
{
double nu = kinematicviscosity(fluid, T);
double Re = 4.0 * fabs(Q) / (pi * d * nu);
double f = frictionfactor(Re, r);
double k = 4.0 * f * l / d;
double dP = k * 8.0 * rho * pow(Q, 2) / (pi2 * pow(d, 4));
return (dP * sign(Q));
}
inline double
pressuredrop(const std::string fluid,
const double d,
const double l,
const double r,
const double rho,
const double T,
const causality_t effort_causality, const int port,
const double Q, const causality_t flow_causality, const int port_in)
|