コード例 #1
0
        //Detailed calculation
        public TensionLapSplice
        (
            IConcreteMaterial Concrete,
            Rebar Bar1,
            Rebar Bar2,
            double ClearSpacing,
            double ClearCover,
            bool IsTopRebar,
            double A_tr,
            double s_tr,
            double n,
            TensionLapSpliceClass SpliceClass,
            ICalcLog log
        )
            : base(log)
        {
            this.Concrete     = Concrete;
            this.Bar1         = Bar1;
            this.Bar2         = Bar2;
            this.ClearSpacing = ClearSpacing;
            this.ClearCover   = ClearCover;
            this.IsTopRebar   = IsTopRebar;
            this.A_tr         = A_tr;
            this.s_tr         = s_tr;
            this.n            = n;
            this.SpliceClass  = SpliceClass;

            CalculateValuesDetailed();
        }
コード例 #2
0
 public SinglySymmetricIBeam(ISteelSection section, bool IsRolledMember, FlexuralCompressionFiberPosition compressionFiberPosition, ICalcLog CalcLog)
 {
     this.section = section;
     this.IsRolledMember = IsRolledMember;
     this.CalcLog = CalcLog;
     this.compressionFiberPosition = compressionFiberPosition;
 }
コード例 #3
0
ファイル: BoltBase.cs プロジェクト: jerem48/Wosad.Design
 public BoltBase(double Diameter, BoltThreadCase ThreadType,
                 ICalcLog log)
     : base(log)
 {
     this.diameter   = Diameter;
     this.threadType = ThreadType;
 }
コード例 #4
0
        //Detailed calculation
        public TensionLapSplice
            (
            IConcreteMaterial Concrete,
            Rebar Bar1,
            Rebar Bar2,
            double ClearSpacing,
            double ClearCover,
            bool IsTopRebar,
            double A_tr, 
            double s_tr, 
            double n,
            TensionLapSpliceClass SpliceClass,
            ICalcLog log
            )
            : base(log)
        {
            this.Concrete    =Concrete    ;
            this.Bar1        =Bar1        ;      
            this.Bar2        =Bar2        ;      
            this.ClearSpacing=ClearSpacing;     
            this.ClearCover  =ClearCover  ;
            this.IsTopRebar = IsTopRebar;
            this.A_tr =A_tr  ;
            this.s_tr =s_tr  ;
            this.n = n;
            this.SpliceClass = SpliceClass;

            CalculateValuesDetailed();
        }
コード例 #5
0
 public BuildingDirectionalProcedureElement(double Width, double Length, double Height, double WindSpeed, WindExposureCategory windExposureType,
     WindEnclosureType EnclosureClass,
     WindStructureDynamicResponseType StructureDynamicClass, double Damping, ICalcLog CalcLog)
     : base(Width, Length, Height, WindSpeed, windExposureType, EnclosureClass, StructureDynamicClass, Damping, CalcLog)
 {
     
 }
コード例 #6
0
 public WindLocation(ICalcLog CalcLog, double Latitude, double Longitude, string County = null)
     : base(CalcLog)
 {
     this.Latitude  = Latitude;
     this.Longitude = Longitude;
     this.County    = County;
 }
コード例 #7
0
 public ChsTransversePlate(SteelChsSection Hss, SteelPlateSection Plate, ICalcLog CalcLog, bool IsTensionHss,
     double P_uHss, double M_uHss)
     : base(Hss, Plate, CalcLog, IsTensionHss, P_uHss, M_uHss)
 {
    //assume 90 degrees for plate angle
     Angle = 90.0;
 }
コード例 #8
0
ファイル: Concrete.cs プロジェクト: Wosad/Wosad.Design
		public ConcreteMaterial(double SpecifiedConcreteStrength,
		ConcreteTypeByWeight ConcreteType, TypeOfLightweightConcrete LightWeightConcreteType, ICalcLog log)
			: base(SpecifiedConcreteStrength, ConcreteType, log)
		{
			this.LightWeightConcreteType = LightWeightConcreteType;

		}
コード例 #9
0
ファイル: BeamSimple.cs プロジェクト: Wosad/Wosad.Design
        public BeamSimple(double Length, LoadBeam Loads, ICalcLog CalcLog)
            : base(Length, Loads, CalcLog, new BeamSimpleFactory())
        {

            //LoadCases = new List<ISingleLoadCaseBeam>();

        }
コード例 #10
0
 public AciConcreteShearTestsBase()
 {
     //ICalcLogEntry entryStub = mocks.Stub<ICalcLogEntry>();
     MockRepository mocks = new MockRepository();
     log = mocks.Stub<ICalcLog>();
     tolerance = 0.02; //2% can differ from rounding
 }
コード例 #11
0
 public ChsTransversePlate(SteelChsSection Hss, SteelPlateSection Plate, ICalcLog CalcLog, bool IsTensionHss,
                           double P_uHss, double M_uHss)
     : base(Hss, Plate, CalcLog, IsTensionHss, P_uHss, M_uHss)
 {
     //assume 90 degrees for plate angle
     Angle = 90.0;
 }
コード例 #12
0
ファイル: WindLocation.cs プロジェクト: Wosad/Wosad.Design
 public WindLocation(ICalcLog CalcLog, double Latitude, double Longitude, string County=null)
     : base(CalcLog)
 {
     this.Latitude = Latitude;
     this.Longitude = Longitude;
     this.County = County;
 }
コード例 #13
0
ファイル: IShapeFactory.cs プロジェクト: Wosad/Wosad.Design
        public ISteelCompressionMember GetIshape(ISteelSection Section, bool IsRolled, double L_x, double L_y, double L_z, ICalcLog CalcLog)
        {

            ISteelCompressionMember column = null;
            IShapeCompactness compactnessTop = new ShapeCompactness.IShapeMember(Section, IsRolled, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Top);
            IShapeCompactness compactnessBot = new ShapeCompactness.IShapeMember(Section, IsRolled, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Bottom);
            ICalcLog Log = new CalcLog();


            CompactnessClassAxialCompression flangeCompactnessTop = compactnessTop.GetFlangeCompactnessCompression();
            CompactnessClassAxialCompression flangeCompactnessBot = compactnessTop.GetFlangeCompactnessCompression();
            CompactnessClassAxialCompression webCompactness = compactnessTop.GetWebCompactnessCompression();

            if (flangeCompactnessTop == CompactnessClassAxialCompression.NonSlender && webCompactness == CompactnessClassAxialCompression.NonSlender
                && flangeCompactnessBot == CompactnessClassAxialCompression.NonSlender)
            {
                column = new IShapeCompact(Section, IsRolled, L_x, L_y, L_z, Log);
                //if (IShape.b_fBot == IShape.b_fTop && IShape.t_fBot == IShape.t_fTop)
                //{
                //    return new IShapeCompact(SectionI, IsRolledShape, L_ex, L_ey, L_ez, log);
                //}
                //else
                //{
                //    throw new NotImplementedException();
                //}
            }
            else
            {
                column = new IShapeSlenderElements(Section, IsRolled, L_x, L_y, L_z, Log);
            }
            return column;
        }
コード例 #14
0
        public IAnalysisBeam CreateBeamInstance(string BeamCaseId, LoadBeam load, ICalcLog Log)
        {
            double L = d.L;
            double LoadDimension_a = d.a_load;

            Beam bm = null;

            if (BeamCaseId.StartsWith("C1") == true)
            {
                bm = new BeamSimple(d.L, load, Log);
            }
            else if (BeamCaseId.StartsWith("C2") == true)
            {
                bm = new BeamSimpleWithOverhang(L, LoadDimension_a, load, Log);
            }
            else if (BeamCaseId.StartsWith("C3") == true)
            {
                bm = new BeamPinnedFixed(L, load, Log);
            }
            else if (BeamCaseId.StartsWith("C4") == true)
            {
                bm = new BeamFixedFixed(L, load, Log);
            }
            else //else if (BeamCaseId.StartsWith("C5") == true)
            {
                bm = new BeamCantilever(L, load, Log);
            }

            bm.ModulusOfElasticity = d.E;
            bm.MomentOfInertia     = d.I;

            return(bm);
        }
コード例 #15
0
        //Basic calculation
        public TensionLapSplice
        (
            IConcreteMaterial Concrete,
            Rebar Bar1,
            Rebar Bar2,
            bool MeetsRebarSpacingAndEdgeDistance,
            bool HasMinimumTransverseReinforcement,
            bool IsTopRebar,
            TensionLapSpliceClass SpliceClass,
            ICalcLog log
        )
            : base(log)
        {
            this.Concrete = Concrete;
            this.Bar1     = Bar1;
            this.Bar2     = Bar2;
            this.MeetsRebarSpacingAndEdgeDistance  = MeetsRebarSpacingAndEdgeDistance;
            this.HasMinimumTransverseReinforcement = HasMinimumTransverseReinforcement;

            this.SpliceClass = SpliceClass;
            this.IsTopRebar  = IsTopRebar;
            this.A_tr        = A_tr;
            this.s_tr        = s_tr;
            this.n           = n;


            CalculateValuesBasic();
        }
コード例 #16
0
 public DoublySymmetricIBeam(ISteelSection section, ICalcLog CalcLog, FlexuralCompressionFiberPosition compressionFiberPosition, bool IsRolledMember)
 {
     this.section                  = section;
     this.IsRolledMember           = IsRolledMember;
     this.CalcLog                  = CalcLog;
     this.compressionFiberPosition = compressionFiberPosition;
 }
コード例 #17
0
        public IAnalysisBeam CreateBeamInstance(string BeamCaseId, LoadBeam load, ICalcLog Log)
        {
            double L = d.L;
            double LoadDimension_a = d.a_load;

            Beam bm = null;
            if (BeamCaseId.StartsWith("C1") == true)
            {
                bm = new BeamSimple(d.L, load, Log);
            }
            else if (BeamCaseId.StartsWith("C2") == true)
            {
                bm = new BeamSimpleWithOverhang(L, LoadDimension_a, load, Log);
            }
            else if (BeamCaseId.StartsWith("C3") == true)
            {
                bm = new BeamPinnedFixed(L,load, Log);
            }
            else if (BeamCaseId.StartsWith("C4") == true)
            {
                bm = new BeamFixedFixed(L, load, Log);
            }
            else //else if (BeamCaseId.StartsWith("C5") == true)
            {
                bm = new BeamCantilever(L, load, Log);
            }

            bm.ModulusOfElasticity = d.E;
            bm.MomentOfInertia = d.I;

            return bm;
        }
コード例 #18
0
        public BeamSimpleWithOverhang(double Length, double OverhangLength, LoadBeam load, ICalcLog CalcLog)
            : base(Length, load, CalcLog, new BeamSimpleWithOverhangFactory())
        {

            this.OverhangLength = OverhangLength;
            TotalLength = Length + OverhangLength;
        }
コード例 #19
0
     public HssToPlateConnection(bool IsTensionMember,
 double P_uHss, double M_uHss, ICalcLog CalcLog)
     {
         this.IsTensionHss = IsTensionMember;
         this.P_uHss = P_uHss;
         this.M_uHss = M_uHss;
     }
コード例 #20
0
        //Basic calculation
        public TensionLapSplice
            (
            IConcreteMaterial Concrete,
            Rebar Bar1,
            Rebar Bar2,
            bool MeetsRebarSpacingAndEdgeDistance,
            bool HasMinimumTransverseReinforcement,
            bool IsTopRebar,
            TensionLapSpliceClass SpliceClass,
            ICalcLog log
            )
            : base(log)
        {
            this.Concrete = Concrete;
            this.Bar1 = Bar1;
            this.Bar2 = Bar2;
            this.MeetsRebarSpacingAndEdgeDistance=MeetsRebarSpacingAndEdgeDistance;
            this.HasMinimumTransverseReinforcement=HasMinimumTransverseReinforcement;

            this.SpliceClass = SpliceClass;
            this.IsTopRebar = IsTopRebar;
            this.A_tr = A_tr;
            this.s_tr = s_tr;
            this.n = n;


            CalculateValuesBasic();
        }
コード例 #21
0
 public HssToPlateConnection(bool IsTensionMember,
                             double P_uHss, double M_uHss, ICalcLog CalcLog)
 {
     this.IsTensionHss = IsTensionMember;
     this.P_uHss       = P_uHss;
     this.M_uHss       = M_uHss;
 }
コード例 #22
0
 public AciFlexureRectangularBeamTests()
 {
     //ICalcLogEntry entryStub = mocks.Stub<ICalcLogEntry>();
     MockRepository mocks = new MockRepository();
     log = mocks.Stub<ICalcLog>();
     tolerance = 0.02; //2% can differ from rounding
 }
コード例 #23
0
 public WoodSolidMaterial( string Species, string CommercialGrade, string SizeClass, ICalcLog CalcLog)
     : base(CalcLog)
 {
     this.Species = Species;
     this.CommercialGrade = CommercialGrade;
     this.SizeClass = SizeClass;
 }
コード例 #24
0
        private StandardHookInTension CreateHookObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
                                                       ConcreteTypeByWeight typeByWeight, double ExcessFlexureReinforcementRatio)
        {
            MockRepository mocks = new MockRepository();

            IRebarMaterial rebarMat = mocks.Stub <IRebarMaterial>();

            Expect.Call(rebarMat.YieldStress).Return(60000);
            Rebar rebar = new Rebar(RebarDiameter, IsEpoxyCoated, rebarMat);

            ICalcLogEntry entryStub = mocks.Stub <ICalcLogEntry>();
            ICalcLog      logStub   = mocks.Stub <ICalcLog>();

            //IConcreteMaterial ConcStub = mocks.Stub<IConcreteMaterial>();
            IConcreteMaterial ConcStub = new ConcreteMaterial(ConcStrength, typeByWeight, logStub) as IConcreteMaterial;

            ConcStub.SpecifiedCompressiveStrength = ConcStrength;
            ConcStub.TypeByWeight = typeByWeight;


            using (mocks.Record())
            {
                logStub.CreateNewEntry();
                LastCall.Return(entryStub);
            }

            StandardHookInTension tensHook = new StandardHookInTension(ConcStub, rebar, logStub, ExcessFlexureReinforcementRatio);

            return(tensHook);
        }
コード例 #25
0
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
     ConcreteTypeByWeight ConcreteType, double Density, ICalcLog log): base(log)
 {
     this.fc = SpecifiedConcreteStrength;
     this.typeByWeight = ConcreteType;
     this.wc = Density;
 }
コード例 #26
0
 public WindStructure(double Width, double Length, double Height, double WindSpeed,
                      WindStructureDynamicResponseType StructureDynamicClass,
                      double Damping, ICalcLog CalcLog)
     : this(Width, Length, Height, WindSpeed, WindExposureCategory.C, WindEnclosureType.Enclosed, StructureDynamicClass, Damping, CalcLog)
 {
     terrainCoefficientsNeedCalculation = true;
 }
コード例 #27
0
        public AciFlexureRectangularBeamTests()
        {
            //ICalcLogEntry entryStub = mocks.Stub<ICalcLogEntry>();
            MockRepository mocks = new MockRepository();

            log       = mocks.Stub <ICalcLog>();
            tolerance = 0.02; //2% can differ from rounding
        }
コード例 #28
0
 public BoltBearingThreadedGeneral(double Diameter, BoltThreadCase ThreadType, IBoltMaterial material,
                                   ICalcLog log = null)
     : base(Diameter, ThreadType, log)
 {
     this.material        = material;
     nominalTensileStress = material.GetNominalTensileStress(ThreadType);
     nominalShearStress   = material.GetNominalShearStress(ThreadType);
 }
コード例 #29
0
        public BeamRectangularHss(ISteelSection section, FlexuralCompressionFiberPosition compressionFiberPosition, MomentAxis MomentAxis, ICalcLog CalcLog)
            : base(section, CalcLog)
        {
            GetSectionValues();
            this.MomentAxis = MomentAxis;
            FlangeCompactnessClass = GetFlangeCompactness(compressionFiberPosition, MomentAxis);

        }
コード例 #30
0
 public AffectedElementInFlexure(SectionRectangular Section, ISteelMaterial Material, ICalcLog CalcLog, bool IsRolled=false)
     : base(Section, Material, CalcLog)
 {
     this.HasHolesInTensionFlange = false;
     this.A_fg = 0;
     this.A_fn = 0;
     this.IsRolled = IsRolled;
 }
コード例 #31
0
        public AciConcreteShearTestsBase()
        {
            //ICalcLogEntry entryStub = mocks.Stub<ICalcLogEntry>();
            MockRepository mocks = new MockRepository();

            log       = mocks.Stub <ICalcLog>();
            tolerance = 0.02; //2% can differ from rounding
        }
コード例 #32
0
 public SeismicLocation(double Latitude, double Longitude, List<MapDataInfo> LoadedMapsInfo, ICalcLog Log)
     :base(Log)
 {
     this.Latitude = Latitude;
     this.Longitude = Longitude;
     this.LoadedMapsInfo = LoadedMapsInfo;
     IsDirty = true;
 }
コード例 #33
0
        public BoltBearingGroupB(double Diameter, BoltThreadCase ThreadType,
                                 ICalcLog log = null)
            : base(Diameter, ThreadType, log)
        {
            material = new BoltGroupBMaterial();

            nominalTensileStress = material.GetNominalTensileStress(ThreadType);
            nominalShearStress   = material.GetNominalShearStress(ThreadType);
        }
コード例 #34
0
ファイル: Beam.cs プロジェクト: Wosad/Wosad.Design
 public Beam(double Length, LoadBeam Load, ICalcLog CalcLog, IBeamCaseFactory BeamCaseFactory)
     : base(CalcLog)
 {
     this.length = Length;
     hasCalculatedForces = false;
     hasCalculatedDeflections = false;
     this.BeamCaseFactory = BeamCaseFactory;
     this.Load = Load;
 }
コード例 #35
0
ファイル: Weld.cs プロジェクト: Wosad/Wosad.Design
 public Weld(double F_y, double F_u, double F_EXX, double Size, double A_nBase, double l, ICalcLog Log)
     : base( Log)
 {
     this.WeldMaterial = new WeldMaterial(F_EXX);
     this.BaseMaterial = new SteelMaterial(F_y, F_u, 0.0, 0.0);
     this.A_nBase = A_nBase;
     this.Size = Size;
     this.Length = l;
 }
コード例 #36
0
 public Beam(double Length, LoadBeam Load, ICalcLog CalcLog, IBeamCaseFactory BeamCaseFactory)
     : base(CalcLog)
 {
     this.length              = Length;
     hasCalculatedForces      = false;
     hasCalculatedDeflections = false;
     this.BeamCaseFactory     = BeamCaseFactory;
     this.Load = Load;
 }
コード例 #37
0
ファイル: WoodColumn.cs プロジェクト: Wosad/Wosad.Design
 public WoodColumn(double Emin, double CM, double Ct, double CT, double Ci, double Cr, ICalcLog CalcLog): base(CalcLog)
 {
     this.Emin=Emin;
     this.CM=  CM;
     this.Ct=  Ct;
     this.CT=  CT;
     this.Ci=  Ci;
     this.Cr=  Cr;
 }
コード例 #38
0
        public PrestressedConcreteSection(IPrestressedConcreteSection Section, List<RebarPoint> LongitudinalBars,
            CrossSectionLocationType LocationType, MemberClass MemberClass, ICalcLog log)
            : base(Section,LongitudinalBars, log)
        {
            this.crossSectionLocationType = LocationType;
            this.memberClass = MemberClass;
            this.prestressedSection = Section;

        }
コード例 #39
0
        public BoltBearingThreadedGeneral(double Diameter, BoltThreadCase ThreadType, IBoltMaterial material,
            ICalcLog log=null)
            : base(Diameter, ThreadType, log)
        {
            this.material = material;
            nominalTensileStress = material.GetNominalTensileStress(ThreadType);
            nominalShearStress = material.GetNominalShearStress(ThreadType);

        }
コード例 #40
0
 public BuildingLateralSystem(string SystemId, SeismicDesignCategory Sdc, ICalcLog CalcLog)
     : base(CalcLog)
 {
     this.SeismicLateralSystemId = SystemId;
     this.SeismicDesignCategory  = Sdc;
     if (SystemId != null)
     {
         this.ReadTableData();
     }
 }
コード例 #41
0
        public BoltSlipCriticalGroupA(double Diameter, BoltThreadCase ThreadType,
            BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType,
            BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier = 1.13):
            base(Diameter,ThreadType,FayingSurface,HoleType,Fillers,NumberOfSlipPlanes,log,PretensionMultiplier)
        {
            material = new BoltGroupAMaterial();

            nominalTensileStress = material.GetNominalTensileStress(ThreadType);
            nominalShearStress = material.GetNominalTensileStress(ThreadType);
        }
コード例 #42
0
        public BoltBearingGroupB(double Diameter, BoltThreadCase ThreadType,
             ICalcLog log=null)
            :base(Diameter,ThreadType,log)
        {
            material = new BoltGroupBMaterial();

           nominalTensileStress = material.GetNominalTensileStress(ThreadType);
           nominalShearStress = material.GetNominalShearStress(ThreadType);
        
        }
コード例 #43
0
ファイル: F10-Angle.cs プロジェクト: jerem48/Wosad.Design
        public BeamAngle(ISteelSection section, ICalcLog CalcLog, AngleRotation AngleRotation, MomentAxis MomentAxis,
                         AngleOrientation AngleOrientation = AngleOrientation.ShortLegVertical)
            : base(section, CalcLog, AngleOrientation)
        {
            this.AngleRotation    = AngleRotation;
            this.AngleOrientation = AngleOrientation;
            this.MomentAxis       = MomentAxis;

            GetSectionValues();
        }
コード例 #44
0
        public ConcreteSectionCompression GetRectangularCompressionMember(double Width, double Height, IConcreteMaterial ConcreteMaterial,
                                                                          List <RebarPoint> LongitudinalBars, ConfinementReinforcementType ConfinementReinforcement,
                                                                          ICalcLog log, bool IsPrestressed = false)
        {
            CrossSectionRectangularShape Section = new CrossSectionRectangularShape(ConcreteMaterial, null, Width, Height);
            CompressionMemberType        CompressionMemberType = GetCompressionMemberType(ConfinementReinforcement, IsPrestressed);
            ConcreteSectionCompression   column = new ConcreteSectionCompression(Section, LongitudinalBars, CompressionMemberType, log);

            return(column);
        }
コード例 #45
0
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
 ConcreteTypeByWeight ConcreteType, double Density, double AverageSplittingTensileStrength, 
     ICalcLog log)
     : base(log)
 {
     this.fc = SpecifiedCompressiveStrength;
     this.typeByWeight = ConcreteType;
     this.wc = Density;
     this.averageSplittingTensileStrength = AverageSplittingTensileStrength;
 }
コード例 #46
0
 public BuildingLateralSystem(string SystemId, SeismicDesignCategory Sdc, ICalcLog CalcLog)
     : base(CalcLog)
 {
     this.SeismicLateralSystemId = SystemId;
     this.SeismicDesignCategory = Sdc;
     if (SystemId!=null)
     {
         this.ReadTableData(); 
     }
 }
コード例 #47
0
ファイル: I-SlenderWeb.cs プロジェクト: jerem48/Wosad.Design
 public BeamISlenderWeb(ISteelSection section, bool IsRolledMember, ICalcLog CalcLog)
     : base(section, IsRolledMember, CalcLog)
 {
     SectionI = this.Section as ISectionI;
     if (section == null)
     {
         throw new SectionWrongTypeException(typeof(ISectionI));
     }
     GetSectionValues();
 }
コード例 #48
0
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
                             ConcreteTypeByWeight ConcreteType, double Density, double AverageSplittingTensileStrength,
                             ICalcLog log)
     : base(log)
 {
     this.fc           = SpecifiedCompressiveStrength;
     this.typeByWeight = ConcreteType;
     this.wc           = Density;
     this.averageSplittingTensileStrength = AverageSplittingTensileStrength;
 }
コード例 #49
0
 public BoltSlipCritical(double Diameter, BoltThreadCase ThreadType,
     BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType,
     BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier=1.13)
     : base(Diameter, ThreadType, log)
 {
     this.fayingSurface = FayingSurface;
     this.holeType = HoleType;
     this.fillers = Fillers;
     this.pretensionMultiplier = PretensionMultiplier;
     this.numberOfSlipPlanes = NumberOfSlipPlanes;
 }
コード例 #50
0
ファイル: I-SlenderWeb.cs プロジェクト: Wosad/Wosad.Design
        public BeamISlenderWeb(ISteelSection section, bool IsRolledMember, ICalcLog CalcLog)
            : base(section, IsRolledMember, CalcLog)
        {

            SectionI = this.Section as ISectionI;
            if (section == null)
            {
                throw new SectionWrongTypeException(typeof(ISectionI));
            }
            GetSectionValues();
        }
コード例 #51
0
 public BoltSlipCritical(double Diameter, BoltThreadCase ThreadType,
                         BoltFayingSurfaceClass FayingSurface, BoltHoleType HoleType,
                         BoltFillerCase Fillers, int NumberOfSlipPlanes, ICalcLog log, double PretensionMultiplier = 1.13)
     : base(Diameter, ThreadType, log)
 {
     this.fayingSurface        = FayingSurface;
     this.holeType             = HoleType;
     this.fillers              = Fillers;
     this.pretensionMultiplier = PretensionMultiplier;
     this.numberOfSlipPlanes   = NumberOfSlipPlanes;
 }
コード例 #52
0
        public double GetMinimumTransverseReinforcement(IConcreteSection Section,
                                                        double f_yt, double s, ICalcLog log)
        {
            double f_c = Section.Material.SpecifiedCompressiveStrength;
            double b_w = Section.b_w;

            //Table 9.6.3.3—Required Av,min
            double A_vMin1 = 0.75 * Section.Material.Sqrt_f_c_prime * ((b_w) / (f_yt)) * s;
            double A_vMin2 = 50 * ((b_w) / (f_yt)) * s;

            return(Math.Max(A_vMin1, A_vMin2));
        }
コード例 #53
0
 public TensionLapSplice(
     double rebar1Diameter, double rebar1DevelopmentLength,
     double rebar2Diameter, double rebar2DevelopmentLength,
     TensionLapSpliceClass SpliceClass,
     ICalcLog log) : base(log)
 {
     this.spliceClass             = SpliceClass;
     this.Rebar1Diameter          = rebar1Diameter;
     this.Rebar2Diameter          = rebar2Diameter;
     this.Rebar1DevelopmentLength = Rebar1DevelopmentLength;
     this.Rebar2DevelopmentLength = Rebar2DevelopmentLength;
 }
コード例 #54
0
 public AiscCatalogShape(string ShapeName, ICalcLog CalcLog)
     : base(ShapeName)
 {
     if (ShapeName != null)
     {
         bool shapeFound = ReadShapePropertiesInCatalog(ShapeName);
         if (shapeFound == false)
         {
             throw new Exception("Shape name not found in AISC shape database.");
         }
     }
 }
コード例 #55
0
ファイル: RhsSlender.cs プロジェクト: jerem48/Wosad.Design
 public RhsSlender(ISteelSection Section, double L_x, double L_y, double L_z, ICalcLog CalcLog)
     : base(Section, L_x, L_y, L_z, CalcLog)
 {
     if (Section.Shape is ISectionTube)
     {
         SectionRhs = Section.Shape as ISectionTube;
     }
     else
     {
         throw new Exception("Section of wrong type: Need ISectionTube");
     }
 }
コード例 #56
0
ファイル: F9-Tee.cs プロジェクト: jerem48/Wosad.Design
 public BeamTee(ISteelSection section, ICalcLog CalcLog)
     : base(section, CalcLog)
 {
     if (section is ISectionTee)
     {
         SectionTee = section as ISectionTee;
     }
     else
     {
         throw new SectionWrongTypeException(typeof(ISectionTee));
     }
     GetSectionValues();
 }
コード例 #57
0
        public BeamSolid(ISteelSection section, ICalcLog CalcLog, MomentAxis MomentAxis) :
            base(section, CalcLog)
        {
            this.MomentAxis = MomentAxis;
            GetSectionValues();
            sectionSolid = null;
            ISolidShape s = Section.Shape as ISolidShape;

            if (s == null)
            {
                throw new SectionWrongTypeException(typeof(ISolidShape));
            }
        }
コード例 #58
0
 public AnalyticalElement(ICalcLog CalcLog)
 {
     if (CalcLog == null)
     {
         this.log      = new CalcLog(new List <CalcLogEntry>());
         LogModeActive = true;
     }
     else
     {
         this.log      = CalcLog;
         LogModeActive = true;
     }
 }
コード例 #59
0
        public BeamCircularHss(ISteelSection section, ICalcLog CalcLog)
            : base(section, CalcLog)
        {
            if (section is ISectionPipe)
            {
                SectionPipe = section as ISectionPipe;
            }
            else
            {
                throw new SectionWrongTypeException(typeof(ISectionTube));
            }


            GetSectionValues();
        }
コード例 #60
0
 public DevelopmentTension(
     IConcreteMaterial Concrete,
     Rebar Rebar,
     bool MeetsSpacingCritera,
     bool IsTopRebar,
     double ExcessReinforcementRatio,
     bool CheckMinimumLength,
     ICalcLog log)
     : base(Concrete, Rebar, ExcessReinforcementRatio, log)
 {
     this.isTopRebar          = IsTopRebar;
     this.MeetsSpacingCritera = MeetsSpacingCritera;
     this.CheckMinimumLength  = CheckMinimumLength;
     db = Rebar.Diameter;
 }