private Material NewMaterial(Material oriMaterial, MaterialType newMaterialType) { Material newM; switch (newMaterialType) { case MaterialType.MohrCoulomb: newM = new MohrCoulomb(oriMaterial.Name, oriMaterial.Density, oriMaterial.Elasticity, oriMaterial.PoissonRatio, cohesion: 1000, frictionAngle: 30); break; default: newM = new Material(oriMaterial.Name, oriMaterial.Density, oriMaterial.Elasticity, oriMaterial.PoissonRatio, newMaterialType); break; } return(newM); }
/// <summary> 构造一个车站模型实例 </summary> /// <param name="sm"></param> public static void ConstructStationModel(Model1 sm) { // Material mat1 = new Material("elas1", 1900, 200e9, 0.3, MaterialType.Elastic); sm.Definitions.Materials.Add(mat1); Material mat2 = new MohrCoulomb("MC", 1900, 200e9, 0.3, 60e6, 30); sm.Definitions.Materials.Add(mat2); // Profile rec = new Rectangular("rec1", 0.5, 1.5); sm.Definitions.Profiles.Add(rec); Profile profT = new TT("t1", 2, 1, 0.1, 0.1); sm.Definitions.Profiles.Add(profT); // sm.Frame = Frame.Create(new float[] { 4, 5, 6, }, new float[] { 3, 6 }, defaultMat: mat1, defaultProfile: rec); // sm.Frame.Beams[0].Profile = profT; sm.Frame.Columns[0].Material = mat2; }