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); }
protected Vektor2 BerechneAuftriebskraftBauteile(double v, double alpha, double beta, Integration integrator) { Vektor2 FA = Vektor2.Zero(); foreach (Bauteil bauteil in bauteile) { FA += bauteil.BerechneAuftriebskraft(v, alpha, beta, integrator); } return(FA); }
protected Vektor2 BerechneWiderstandskraftBauteile(double v, double alpha, double beta, Integration integrator) { Vektor2 FW = Vektor2.Zero(); foreach (Bauteil bauteil in bauteile) { FW += bauteil.BerechneWiderstandskraft(v, alpha, beta, integrator); } return(FW); }
protected override void BerechneKraefte(double v, double alpha, double beta, Integration integrator) { gesamtkraftBauteile = BerechneGesamtkraftBauteile(v, alpha, beta, integrator); // FSeil und FGelenk wurden bereits aus System 1 übertragen FSchub.x = Parameter.rhoL / 2 * Parameter.cSchub * Math.Pow(v, 2) * Math.PI * Math.Pow(Parameter.r, 2) * Math.Sin(beta); FSchub.y = 0.0; FLager = -(gesamtkraftBauteile + FSeil + FGelenk + FLager); }
internal void Aktualisiere(double alpha, double beta, Vektor2 verschiebung) { P2.x = Parameter.l2 * Math.Cos(alpha); P2.y = Parameter.l2 * Math.Sin(alpha); P2 += verschiebung; P4.x = Parameter.l4 * Math.Cos(Phi1(beta)); P4.y = Parameter.l4 * Math.Sin(Phi1(beta)); P4 += verschiebung; P5a.x = P4.x + (Parameter.l5b - Parameter.l5a) * Math.Cos(Phi1(beta)); P5a.y = P4.y + (Parameter.l5b - Parameter.l5a) * Math.Sin(Phi1(beta)); P5b.x = P4.x + Parameter.l5b * Math.Cos(Phi1(beta)); P5b.y = P4.y + Parameter.l5b * Math.Sin(Phi1(beta)); P5c.x = P4.x + Parameter.l5b * Math.Cos(Phi1(beta)) + Parameter.l5c * Math.Cos(Phi5(beta)); P5c.y = P4.y + Parameter.l5b * Math.Sin(Phi1(beta)) + Parameter.l5c * Math.Sin(Phi5(beta)); P5.x = P5a.x + Parameter.l5 * Math.Cos(Phi4(beta)); P5.y = P5a.y + Parameter.l5 * Math.Sin(Phi4(beta)); P7.x = (Parameter.l3 + Parameter.l7) * Math.Cos(Phi2(beta)); P7.y = (Parameter.l3 + Parameter.l7) * Math.Sin(Phi2(beta)); P7 += verschiebung; P8.x = P4.x + Parameter.l8 * Math.Cos(Phi2(beta)); P8.y = P4.y + Parameter.l8 * Math.Sin(Phi2(beta)); P9.x = (Parameter.l9 - Parameter.l3) * Math.Cos(Phi2(beta)) + Parameter.l4a * Math.Cos(Phi3(beta)); P9.y = (Parameter.l9 - Parameter.l3) * Math.Sin(Phi2(beta)) + Parameter.l4a * Math.Sin(Phi3(beta)); P9 += verschiebung; P11.x = P4.x + Parameter.l11 * Math.Cos(Phi2(beta)); P11.y = P4.y + Parameter.l11 * Math.Sin(Phi2(beta)); P12.x = -Parameter.l3 * Math.Cos(Phi2(beta)); P12.y = -Parameter.l3 * Math.Sin(Phi2(beta)); P12 += verschiebung; PR1.x = P7.x + Parameter.r * Math.Cos(Phi1(beta)); PR1.y = P7.y + Parameter.r * Math.Sin(Phi1(beta)); PR2.x = P7.x + Parameter.r * Math.Cos(Phi3(beta)); PR2.y = P7.y + Parameter.r * Math.Sin(Phi3(beta)); }
protected virtual void AktualisierePunkte(double alpha, double beta) { verschiebungUrsprung = BestimmeVerschiebung(beta); punkte.Aktualisiere(alpha, beta, verschiebungUrsprung); }
protected override Vektor2 BestimmeVerschiebung(double beta) { return(Vektor2.Zero()); }
void AktualisiereP2P5() { P2P5 = new Vektor2(punkte.P2, punkte.P5); }