Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        internal override double BerechneWiderstandsdrehmoment(Punkte punkte, double v, double alpha, double beta, Integration integrator)
        {
            Func <double, double> integrand1 = l => Parameter.rhoL / 2 * cW(l, alpha, beta) * Math.Pow(vW(l, v), 2) * profil(l);
            Func <double, double> integrand2 = l => Parameter.rhoL / 2 * Math.Sin(Punkte.Phi3(beta)) * l * cW(l, alpha, beta) * Math.Pow(vW(l, v), 2) * profil(l);

            return(-punkte.P12.y * integrator.Integriere(integrand1, -Parameter.l4, Parameter.l6b) - integrator.Integriere(integrand2, -Parameter.l4, Parameter.l6b));
        }
Exemplo n.º 3
0
 protected void AktualisiereBauteile(Punkte punkte, double alpha, double beta)
 {
     foreach (Bauteil bauteil in bauteile)
     {
         bauteil.Aktualisiere(punkte, alpha, beta);
     }
 }
Exemplo n.º 4
0
 internal override void Aktualisiere(Punkte punkte, double alpha, double beta)
 {
     l4  = BerechneWindschattenLaenge(punkte.P4.y, K4, alpha);
     l5c = BerechneWindschattenLaenge(punkte.P5c.y, K5c, alpha);
     l8  = BerechneWindschattenLaenge(punkte.P8.y, K8, alpha);
     l11 = BerechneWindschattenLaenge(punkte.P11.y, K11, alpha);
     lR1 = BerechneWindschattenLaenge(punkte.PR1.y, KR1, alpha);
 }
Exemplo n.º 5
0
 internal override void Aktualisiere(Punkte punkte, double alpha, double beta)
 {
     l8  = BerechneWindschattenLaenge(punkte.P8.y, punkte.P12.y, K8, beta);
     l9  = BerechneWindschattenLaenge(punkte.P9.y, punkte.P12.y, K9, beta);
     l11 = BerechneWindschattenLaenge(punkte.P11.y, punkte.P12.y, K11, beta);
     lR1 = BerechneWindschattenLaenge(punkte.PR1.y, punkte.P12.y, KR1, beta);
     lR2 = BerechneWindschattenLaenge(punkte.PR2.y, punkte.P12.y, KR2, beta);
 }
Exemplo n.º 6
0
        protected override Vektor2 BestimmeVerschiebung(double beta)
        {
            Vektor2 verschiebung = new Vektor2();

            verschiebungUrsprung.x = -Parameter.l3 * Math.Cos(Punkte.Phi2(beta));
            verschiebungUrsprung.y = -Parameter.l3 * Math.Sin(Punkte.Phi2(beta));

            return(verschiebung);
        }
Exemplo n.º 7
0
 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.");
     }
 }
Exemplo n.º 8
0
 internal abstract double BerechneAuftriebsdrehmoment(Punkte punkte, double v, double alpha, double beta, Integration integrator);
Exemplo n.º 9
0
 internal abstract double BerechneWiderstandsdrehmoment(Punkte punkte, double v, double alpha, double beta, Integration integrator);
Exemplo n.º 10
0
 internal abstract void Aktualisiere(Punkte modellpunkte, double alpha, double beta);
Exemplo n.º 11
0
 double BerechneWindschattenLaenge(double y1, double y2, double K, double beta)
 {
     return((y1 + K - y2) / Math.Sin(Punkte.Phi1(beta)));
 }
Exemplo n.º 12
0
 internal override void Aktualisiere(Punkte punkte, double alpha, double beta)
 {
     lR1 = BerechneWindschattenLaenge(punkte.PR1.y, punkte.P4.y, KR1, beta);
 }
Exemplo n.º 13
0
        internal override double BerechneAuftriebsdrehmoment(Punkte punkte, double v, double alpha, double beta, Integration integrator)
        {
            Func <double, double> integrand = l => Parameter.rhoL / 2 * Math.Cos(alpha) * l * cA(l, alpha, beta) * Math.Pow(vW(l, v), 2) * profil(l);

            return(-integrator.Integriere(integrand, 0.0, Parameter.l1b));
        }