public ForceDataPoint MomentMin() { if (ReactionStateIsUpdated == false) { CalculateReactions(); } if (Mmax == null) { Mmax = CalculateMmax(); } if (w >= 0) { BeamEntryFactory.CreateEntry("Mx", 0.0, BeamTemplateType.M_zero, 0, null, CASE, beam, false, true); return(new ForceDataPoint(0.0, 0.0)); } else { BeamEntryFactory.CreateEntry("Mx", Mmax.Value, BeamTemplateType.Mmax, 1, new Dictionary <string, double>() { { "L", L }, { "X", Mmax.X }, { "w", w }, { "a", a }, { "b", b }, { "c", c }, }, CASE, beam, false, true); return(Mmax); } }
private void CalculateMoments() { M1 = GetM1(); M2 = GetM2(); Ma = GetMa(); MomentsWereCalculated = true; }
public ForceDataPoint ShearMax() { ForceDataPoint V; double V1 = Math.Abs(R1); double V2 = Math.Abs(R2); if (V1 > V2) { V = new ForceDataPoint(0.0, V1); BeamEntryFactory.CreateEntry("Vx", V.Value, BeamTemplateType.Vmax, 1, new Dictionary <string, double>() { { "R1", V1 }, { "X", 0 }, }, CASE, beam, true); } else { V = new ForceDataPoint(L, V2); BeamEntryFactory.CreateEntry("Vx", V.Value, BeamTemplateType.Vmax, 2, new Dictionary <string, double>() { { "R2", V2 }, { "X", 0 }, }, CASE, beam, true); } return(V); }
private ForceDataPoint CalculateMmax() { double Mmax = R1 * (a + R1 / (2.0 * w)); double XMax = a + R1 / w; ForceDataPoint fdp = new ForceDataPoint(XMax, Mmax); return(fdp); }
void GenerateMomentEntry(ForceDataPoint M, int TemplateId, bool IsMax, bool IsMin) { Dictionary <string, double> valDic = new Dictionary <string, double>() { { "L", L }, { "X", M.X }, { "P", P }, { "a", a }, { "b", b } }; BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, TemplateId, valDic, CASE, beam, IsMax, IsMin); }
public ForceDataPoint ShearMax() { double Vval = w * b; BeamEntryFactory.CreateEntry("Vx", Vval, BeamTemplateType.Vmax, 2, new Dictionary <string, double>() { { "X", L }, { "b", b }, { "w", w } }, CASE, beam, true); ForceDataPoint V = new ForceDataPoint(L, Vval); return(V); }
public ForceDataPoint MomentMax() { if (MomentsWereCalculated == false) { CalculateMoments(); } List <ForceDataPoint> Moments = new List <ForceDataPoint>() { M1, MPointLeft, MPointRight, M2 }; ForceDataPoint MaxMoment = Moments.MaxBy(m => m.Value); AddMomentEntry(MaxMoment, true, false); return(MaxMoment); }
private void AddMomentEntry(ForceDataPoint M, bool IsMax, bool IsMin) { if (M == M1) { BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, 1, new Dictionary <string, double>() { { "L", L }, { "X", M.X }, { "w", w }, { "a", a }, { "b", b }, { "c", c }, { "d", d }, { "e", e } }, CASE, beam, IsMax, IsMin); } else if (M == M2) { BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, 3, new Dictionary <string, double>() { { "L", L }, { "X", M.X }, { "w", w }, { "a", a }, { "b", b }, { "c", c }, { "d", d }, { "e", e } }, CASE, beam, IsMax, IsMin); } else { BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, 2, new Dictionary <string, double>() { { "M1", L }, { "X", M.X }, { "w", w }, { "a", a }, { "R1", R1 } }, CASE, beam, IsMax, IsMin); } }
private void CalculateMoments() { double M1v = -(Mo * b) / (L * L) * (L - 3.0 * a); M1 = new ForceDataPoint(0.0, M1v); double MPointLeftv = Mo * (-(6.0 * a * a * b) / Math.Pow(L, 3) - b / (L * L) * (L - 3.0 * a)); MPointLeft = new ForceDataPoint(a, MPointLeftv); double MPointRightv = Mo * (-(6.0 * a * a * b) / Math.Pow(L, 3) - b / (L * L) * (L - 3.0 * a) + 1.0); MPointRight = new ForceDataPoint(a, MPointRightv); double M2v = -(Mo * a) / (L * L) * (2.0 * L - 3.0 * a); M2 = new ForceDataPoint(L, M2v); }
public ForceDataPoint MomentMin() { if (ReactionsWereCalculated == false) { CalulateReactions(); } if (MomentsWereCalculated == false) { CalculateMoments(); } List <ForceDataPoint> Moments = new List <ForceDataPoint> { M1, M2, Mmid }; ForceDataPoint Mminimum = Moments.MinBy(m => m.Value); this.AddMomentEntry(Mminimum, false, true); return(Mminimum); }
private void CalculateMoments() { double M1v = (w * b) / (24.0 * L * L) * (b * b * (L + 3.0 * (c - a)) - 24.0 * e * e * d); M1 = new ForceDataPoint(0.0, M1v); BeamEntryFactory.CreateEntry("M1", M1v, BeamTemplateType.M, 1, new Dictionary <string, double>() { { "L", L }, { "w", w }, { "a", a }, { "b", b }, { "c", c }, { "d", d }, { "e", e } }, CASE, beam); double M2v = R1 * L - w * b * e + M1v; M2 = new ForceDataPoint(L, M2v); BeamEntryFactory.CreateEntry("M2", M2v, BeamTemplateType.M, 2, new Dictionary <string, double>() { { "R1", R1 }, { "M1", M1v }, { "L", L }, { "w", w }, { "b", b }, { "c", c }, { "e", e } }, CASE, beam); double MmidV = M1v + R1 * (a + R1 / (2.0 * w)); double XmidV = a + R1 / w; Mmid = new ForceDataPoint(XmidV, MmidV); MomentsWereCalculated = true; }
private void AddShearEntry(ForceDataPoint shearCase) { double V = shearCase.Value; double X = shearCase.X; if (V == Math.Abs(CalculateV1())) { BeamEntryFactory.CreateEntry("Vx", V, BeamTemplateType.Vmax, 1, new Dictionary <string, double>() { { "L", L }, { "X", X }, { "w", w }, { "a", a }, }, CASE, beam, true); } else if (V == Math.Abs(CalculateV2())) { BeamEntryFactory.CreateEntry("Vx", V, BeamTemplateType.Vmax, 2, new Dictionary <string, double>() { { "X", X }, { "w", w }, { "a", a }, }, CASE, beam, true); } else // (V == CalculateV3()) { BeamEntryFactory.CreateEntry("Vx", V, BeamTemplateType.Vmax, 3, new Dictionary <string, double>() { { "L", L }, { "X", X }, { "w", w }, { "a", a }, }, CASE, beam, true); } }
private void AddMomentEntry(ForceDataPoint M, bool IsMax, bool IsMin) { BeamTemplateType BTemplate; BTemplate = (IsMax == true) ? BeamTemplateType.Mmax : BeamTemplateType.Mmin; Dictionary <string, double> valDic = new Dictionary <string, double>() { { "L", L }, { "X", M.X }, { "a", a }, { "b", b }, { "Mo", Mo } }; if (M == M1) { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 1, valDic, CASE, beam, IsMax, IsMin); } else if (M == MPointLeft) { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 2, valDic, CASE, beam, IsMax, IsMin); } else if (M == MPointRight) { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 3, valDic, CASE, beam, IsMax, IsMin); } else { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 4, valDic, CASE, beam, IsMax, IsMin); } }
private void AddMomentEntry(ForceDataPoint M, bool IsMax, bool IsMin) { BeamTemplateType BTemplate; BTemplate = (IsMax == true) ? BeamTemplateType.Mmax : BeamTemplateType.Mmin; Dictionary<string, double> valDic = new Dictionary<string, double>() { {"L",L }, {"X",M.X }, {"a",a }, {"b",b }, {"Mo",Mo } }; if (M == M1) { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 1, valDic, CASE, beam, IsMax, IsMin); } else if (M == MPointLeft) { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 2, valDic, CASE, beam, IsMax, IsMin); } else if (M == MPointRight) { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 3, valDic, CASE, beam, IsMax, IsMin); } else { BeamEntryFactory.CreateEntry("Mx", M.Value, BTemplate, 4, valDic, CASE, beam, IsMax, IsMin); } }
private void AddShearEntry(ForceDataPoint shearCase) { double V = shearCase.Value; double X = shearCase.X; if (V==Math.Abs(CalculateV1())) { BeamEntryFactory.CreateEntry("Vx", V, BeamTemplateType.Vmax, 1, new Dictionary<string, double>() { {"L",L }, {"X",X }, {"w",w }, {"a",a }, }, CASE, beam, true); } else if (V ==Math.Abs( CalculateV2())) { BeamEntryFactory.CreateEntry("Vx", V, BeamTemplateType.Vmax, 2, new Dictionary<string, double>() { {"X",X }, {"w",w }, {"a",a }, }, CASE, beam, true); } else // (V == CalculateV3()) { BeamEntryFactory.CreateEntry("Vx", V, BeamTemplateType.Vmax, 3, new Dictionary<string, double>() { {"L",L }, {"X",X }, {"w",w }, {"a",a }, }, CASE, beam, true); } }
public ForceDataPoint MomentMin() { if (ReactionStateIsUpdated == false) { CalculateReactions(); } if (Mmax == null) { Mmax=CalculateMmax(); } if (w >= 0) { BeamEntryFactory.CreateEntry("Mx", 0.0, BeamTemplateType.M_zero, 0, null, CASE, beam, false, true); return new ForceDataPoint(0.0, 0.0); } else { BeamEntryFactory.CreateEntry("Mx", Mmax.Value, BeamTemplateType.Mmax, 1, new Dictionary<string, double>() { {"L",L }, {"X",Mmax.X }, {"w",w }, {"a",a }, {"b",b }, {"c",c }, }, CASE, beam, false, true); return Mmax; } }
public ForceDataPoint ShearMax() { ForceDataPoint V; double V1 = Math.Abs(R1); double V2 = Math.Abs(R2); if (V1>V2) { V = new ForceDataPoint(0.0,V1); BeamEntryFactory.CreateEntry("Vx", V.Value, BeamTemplateType.Vmax, 1, new Dictionary<string, double>() { {"R1",V1 }, {"X",0 }, }, CASE, beam, true); } else { V = new ForceDataPoint(L, V2); BeamEntryFactory.CreateEntry("Vx", V.Value, BeamTemplateType.Vmax, 2, new Dictionary<string, double>() { {"R2",V2 }, {"X",0 }, }, CASE, beam, true); } return V; }
private ForceDataPoint CalculateMmax() { double Mmax = R1 * (a + R1 / (2.0 * w)); double XMax = a + R1 / w; ForceDataPoint fdp = new ForceDataPoint(XMax, Mmax); return fdp; }
private void AddMomentEntry(ForceDataPoint M, bool IsMax, bool IsMin) { if (M==M1) { BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, 1, new Dictionary<string, double>() { {"L",L }, {"X",M.X }, {"w",w }, {"a",a }, {"b",b }, {"c",c }, {"d",d}, {"e",e} }, CASE, beam, IsMax,IsMin); } else if (M==M2) { BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, 3, new Dictionary<string, double>() { {"L",L }, {"X",M.X }, {"w",w }, {"a",a }, {"b",b }, {"c",c }, {"d",d}, {"e",e} }, CASE, beam, IsMax, IsMin); } else { BeamEntryFactory.CreateEntry("Mx", M.Value, BeamTemplateType.Mmax, 2, new Dictionary<string, double>() { {"M1",L }, {"X",M.X }, {"w",w }, {"a",a }, {"R1",R1 } }, CASE, beam, IsMax, IsMin); } }
private void CalculateMoments() { double M1v =(w*b)/(24.0*L*L )*(b*b*(L+3.0*(c-a))-24.0*e*e*d); M1 = new ForceDataPoint(0.0, M1v); BeamEntryFactory.CreateEntry("M1", M1v, BeamTemplateType.M, 1, new Dictionary<string, double>() { {"L",L }, {"w",w }, {"a",a }, {"b",b }, {"c",c }, {"d",d}, {"e",e} }, CASE, beam); double M2v = R1 * L - w * b * e + M1v; M2 = new ForceDataPoint(L, M2v); BeamEntryFactory.CreateEntry("M2", M2v, BeamTemplateType.M, 2, new Dictionary<string, double>() { {"R1",R1 }, {"M1",M1v }, {"L",L }, {"w",w }, {"b",b }, {"c",c }, {"e",e} }, CASE, beam); double MmidV = M1v+R1*(a+R1/(2.0*w)); double XmidV = a+R1/w; Mmid = new ForceDataPoint(XmidV, MmidV); MomentsWereCalculated = true; }
public ForceDataPoint ShearMax() { double Vval = w * b; BeamEntryFactory.CreateEntry("Vx", Vval, BeamTemplateType.Vmax, 2, new Dictionary<string, double>() { {"X",L }, {"b",b }, {"w",w } }, CASE, beam, true); ForceDataPoint V = new ForceDataPoint(L, Vval); return V; }
private void CalculateMoments() { double M1v = -(Mo * b) / (L * L) * (L - 3.0 * a); M1 = new ForceDataPoint(0.0, M1v); double MPointLeftv = Mo * (-(6.0 * a * a * b) / Math.Pow(L, 3) - b / (L * L) * (L - 3.0 * a)); MPointLeft = new ForceDataPoint(a, MPointLeftv); double MPointRightv = Mo * (-(6.0 * a * a * b) / Math.Pow(L, 3) - b / (L * L) * (L - 3.0 * a)+1.0); MPointRight= new ForceDataPoint(a, MPointRightv); double M2v = -(Mo * a) / (L * L) * (2.0*L - 3.0 * a); M2 = new ForceDataPoint(L, M2v); }