public void Analyze_Breyer6thEd_16_11_Succeeds() { var sB = new StringBuilder(); var level = new BuildingLevel("Level 2", 100); var lateralWalls = new List <AnalyticalWallLateral>(); lateralWalls.Add(new AnalyticalWallLateral("Wall A", new Point2D(0, 0), new Point2D(0, 240), level)); lateralWalls.Add(new AnalyticalWallLateral("Wall B", new Point2D(360, 0), new Point2D(360, 240), level)); lateralWalls.Add(new AnalyticalWallLateral("Wall C-1", new Point2D(0, 0), new Point2D(60, 0), level)); lateralWalls.Add(new AnalyticalWallLateral("Wall C-2", new Point2D(300, 0), new Point2D(360, 0), level)); lateralWalls.Add(new AnalyticalWallLateral("Wall D", new Point2D(0, 240), new Point2D(360, 240), level)); var deck = new OneWayDeck { Level = level, Boundary = new Polygon2D(new List <Point2D> { new Point2D(0, 0), new Point2D(0, 240), new Point2D(360, 240), new Point2D(360, 0) }), WeightPerArea = new Stress(40, StressUnit.psf) }; var lateralLevel = new BuildingLevelLateral2(deck); var forces = new List <LateralLevelForce> { new LateralLevelForce { DirectX = new Force(-6000, ForceUnit.Pound), LoadPattern = LoadPattern.Seismic_West, CenterOfForce = new Point2D(180, 120) }, new LateralLevelForce { AccidentalT = new Moment(6, MomentUnit.KipFoot), LoadPattern = LoadPattern.SeismicTorsion_XLoading, CenterOfForce = new Point2D(180, 120) } }; var loadCases = new List <LoadCase> { CommonResources.ASCE7LoadCases["-X - TX"], }; var analysis = new RigidAnalysis(lateralLevel, lateralWalls, forces, loadCases, 1); analysis.Analyze(); var table = RigidAnalysisTabularReport.GenerateShearWallForceStiffnessTable(analysis); sB.Append(table.PrintToMarkdown()); }
public void SingleStory_E2E_Succeeds() { var level = new BuildingLevel("Level 02", 100); var serializedModel = new SerializedModel { BearingWalls = new List <BearingWall> { new BearingWall { TopLevel = level, EndI = new Point3D(0, 0, 100), EndJ = new Point3D(0, 240, 100), UniqueId = "Wall A", HasOpening = false, IsShearWall = true }, new BearingWall { TopLevel = level, EndI = new Point3D(360, 0, 100), EndJ = new Point3D(360, 240, 100), UniqueId = "Wall B", HasOpening = false, IsShearWall = true }, new BearingWall { TopLevel = level, EndI = new Point3D(0, 0, 100), EndJ = new Point3D(60, 0, 100), UniqueId = "Wall C-1", HasOpening = false, IsShearWall = true }, new BearingWall { TopLevel = level, EndI = new Point3D(300, 0, 100), EndJ = new Point3D(360, 0, 100), UniqueId = "Wall C-2", HasOpening = false, IsShearWall = true }, new BearingWall { TopLevel = level, EndI = new Point3D(0, 240, 100), EndJ = new Point3D(360, 240, 100), UniqueId = "Wall D", HasOpening = false, IsShearWall = true } }, OneWayDecks = new List <OneWayDeck> { new OneWayDeck() { Level = level, Boundary = new Polygon2D(new List <Point2D> { new Point2D(0, 0), new Point2D(0, 240), new Point2D(360, 240), new Point2D(360, 0) }), WeightPerArea = new Stress(40, StressUnit.psf) } }, ModelSettings = new ModelSettings { BuildingHeight = level.Elevation }, SeismicParameters = new SeismicParameters { BuildingParameters = new BuildingParameters() { ImportanceFactor = 1.0, SeismicBaseLevel = new BuildingLevel("Level 01", 0) }, Seismicity = Seismicity.High, SystemParameters = new SystemParameters { Cd = 4, R = 6.5, Omega = 3, Ct = 0.02, X = 0.75 } }, RandomizedBuilding = Randomize.Random() }; var manager = new AnalysisManager(serializedModel); var wallCosts = manager.Run(); var table = RigidAnalysisTabularReport.GenerateShearWallForceStiffnessTable(manager.RigidAnalyses[level]); var output = table.PrintToMarkdown(); string executingPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string fpath = Path.Combine(executingPath, @"DataOutput\testData.csv"); wallCosts.WriteToCSV(fpath); }