66 if (_serviceable_node->getBoolValue()) {
67 double p = _pressure_node->getDoubleValue();
68 double mach = _mach_node->getDoubleValue();
69 double alpha = _alpha_deg_node->getDoubleValue() * SGD_DEGREES_TO_RADIANS;
70 double beta = _beta_deg_node->getDoubleValue() * SGD_DEGREES_TO_RADIANS;
71 double x_proj_factor = cos(alpha) * fabs(cos(beta));
76 if ( x_proj_factor > _stall_factor ) {
77 p_t =
p * pow(1 + 0.2 * mach*mach*x_proj_factor*x_proj_factor, 3.5 );
81 p_t_meas =
p * pow( 1.2 * mach*mach, 3.5 ) * pow( 2.8/2.4*mach*mach - 0.4 / 2.4 , -2.5 );
85 _total_pressure_node->setDoubleValue(p_t);
86 _measured_total_pressure_node->setDoubleValue(p_t_meas);