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.Phi1(beta)) * l * cA(l, alpha, beta) * Math.Pow(vW(l, v), 2) * profil(l); return(punkte.P4.x * integrator.Integriere(integrand1, 0.0, Parameter.l5b) + integrator.Integriere(integrand2, 0.0, Parameter.l5b)); }
protected override double cA(double l, double alpha, double beta) { if (l < 0.0) { throw new ValueOutOfRangeException("Das Argument von cA_T3 liegt außerhalb des erlaubten Bereichs."); } else if (l <= Parameter.l5d) { return(cA_Basis(Punkte.Phi1(beta))); } else { throw new ValueOutOfRangeException("Das Argument von cA_T3 liegt außerhalb des erlaubten Bereichs."); } }
double BerechneWindschattenLaenge(double y1, double y2, double K, double beta) { return((y1 + K - y2) / Math.Sin(Punkte.Phi1(beta))); }