internal override double BerechneAuftriebsdrehmoment(Punkte punkte, double v, double alpha, double beta, Integration integrator) { Func <double, double> integrand1 = l => Parameter.rhoL / 2 * cA(l, alpha, beta) * Math.Pow(vW(l, v), 2) * profil(l); Func <double, double> integrand2 = l => Parameter.rhoL / 2 * Math.Cos(Punkte.Phi5(beta)) * l * cA(l, alpha, beta) * Math.Pow(vW(l, v), 2) * profil(l); return(-punkte.P5b.x * integrator.Integriere(integrand1, 0.0, Parameter.l5c) - integrator.Integriere(integrand2, 0.0, Parameter.l5c)); }
protected override double cA(double l, double alpha, double beta) { if (l < 0.0) { throw new ValueOutOfRangeException("Das Argument von cA_T2 liegt außerhalb des erlaubten Bereichs."); } else if (l <= Parameter.l5c) { return(cA_Basis(Punkte.Phi5(beta))); } else { throw new ValueOutOfRangeException("Das Argument von cA_T2 liegt außerhalb des erlaubten Bereichs."); } }
double BerechneWindschattenLaenge(double y1, double y2, double K, double beta) { return((y1 + K - y2) / Math.Sin(Punkte.Phi5(beta))); }