/// <summary>
 /// Assigns auto seismic loading parameters for the Chinese 2010 code.
 /// </summary>
 /// <param name="name">The name of an existing Quake-type load pattern with a corresponding auto seismic load assignment.</param>
 /// <param name="loadDirection">The seismic load direction.</param>
 /// <param name="eccentricity">The eccentricity ratio that applies to all diaphragms.</param>
 /// <param name="periodOption">The time period option.</param>
 /// <param name="userSpecifiedPeriod">The user specified time period. [s]
 /// This only applies when <paramnamef name="periodOption" /> = <see cref="eTimePeriodOption.UserDefined" /></param>
 /// <param name="userSpecifiedHeights">True: Top and bottom elevations of the seismic load are user specified.
 /// Else, the program determines the elevations.</param>
 /// <param name="coordinateTopZ">Global Z-coordinate at the highest level where auto seismic loads are applied. [L].
 /// This only applies when <paramnamef name="userSpecifiedHeights" /> = True.</param>
 /// <param name="coordinateBottomZ">Global Z-coordinate at the lowest level where auto seismic loads are applied. [L].
 /// This only applies when <paramnamef name="userSpecifiedHeights" /> = True.</param>
 /// <param name="alphaMax">The maximum influence factor.</param>
 /// <param name="seismicIntensity">The seismic intensity.</param>
 /// <param name="damping">The damping ratio.</param>
 /// <param name="Tg">The characteristic ground period. [s].</param>
 /// <param name="periodTimeDiscount">The period time discount factor.</param>
 /// <param name="enhancementFactor">The enhancement factor.</param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void SetLoad(string name,
                     eSeismicLoadDirection loadDirection,
                     double eccentricity,
                     eTimePeriodOption periodOption,
                     double userSpecifiedPeriod,
                     bool userSpecifiedHeights,
                     double coordinateTopZ,
                     double coordinateBottomZ,
                     double alphaMax,
                     eSeismicIntensity_Chinese_2010 seismicIntensity,
                     double damping,
                     double Tg,
                     double periodTimeDiscount,
                     double enhancementFactor)
 {
     _callCode = _sapModel.LoadPatterns.AutoSeismic.SetChinese2010(name,
                                                                   (int)loadDirection,
                                                                   eccentricity,
                                                                   (int)periodOption,
                                                                   userSpecifiedPeriod,
                                                                   userSpecifiedHeights,
                                                                   coordinateTopZ,
                                                                   coordinateBottomZ,
                                                                   alphaMax,
                                                                   (int)seismicIntensity,
                                                                   damping,
                                                                   Tg,
                                                                   periodTimeDiscount,
                                                                   enhancementFactor);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
Example #2
0
 public void SetFunction(string name,
                         double alphaMax,
                         eSeismicIntensity_Chinese_2010 SI,
                         double Tg,
                         double PTDF,
                         double dampingRatio)
 {
 }
Example #3
0
 public void GetFunction(string name,
                         ref double alphaMax,
                         ref eSeismicIntensity_Chinese_2010 SI,
                         ref double Tg,
                         ref double PTDF,
                         ref double dampingRatio)
 {
 }
Example #4
0
 /// <summary>
 /// This function defines a Chinese 2010 response spectrum function.
 /// </summary>
 /// <param name="name">The name of a Chinese 2010 response spectrum function. <para />
 /// If this is an existing function, that function is modified; otherwise, a new function is added.</param>
 /// <param name="alphaMax">The maximum influence factor.</param>
 /// <param name="SI">The seismic intensity.</param>
 /// <param name="Tg">The characteristic ground period, Tg &gt; 0.1. [s].</param>
 /// <param name="PTDF">The period time discount factor.</param>
 /// <param name="dampingRatio">The damping ratio for the function, 0 &lt;= <paramref name="dampingRatio" /> &lt; 1.</param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void SetFunction(string name,
                         double alphaMax,
                         eSeismicIntensity_Chinese_2010 SI,
                         double Tg,
                         double PTDF,
                         double dampingRatio)
 {
     dampingRatio = limitDampingRatio(dampingRatio);
     _callCode    = _sapModel.Func.FuncRS.SetChinese2010(name, alphaMax, (int)SI, Tg, PTDF, dampingRatio);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
Example #5
0
 public void SetLoad(string name,
                     eSeismicLoadDirection loadDirection,
                     double eccentricity,
                     eTimePeriodOption periodOption,
                     double userSpecifiedPeriod,
                     bool userSpecifiedHeights,
                     double coordinateTopZ,
                     double coordinateBottomZ,
                     double alphaMax,
                     eSeismicIntensity_Chinese_2010 seismicIntensity,
                     double damping,
                     double Tg,
                     double periodTimeDiscount,
                     double enhancementFactor)
 {
 }
Example #6
0
        /// <summary>
        /// Returns the definition of a Chinese 2010 response spectrum function.
        /// </summary>
        /// <param name="name">The name of a Chinese 2010 response spectrum function.</param>
        /// <param name="alphaMax">The maximum influence factor.</param>
        /// <param name="SI">The seismic intensity.</param>
        /// <param name="Tg">The characteristic ground period, Tg &gt; 0.1. [s].</param>
        /// <param name="PTDF">The period time discount factor.</param>
        /// <param name="dampingRatio">The damping ratio for the function, 0 &lt;= <paramref name="dampingRatio" /> &lt; 1.</param>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        public void GetFunction(string name,
                                ref double alphaMax,
                                ref eSeismicIntensity_Chinese_2010 SI,
                                ref double Tg,
                                ref double PTDF,
                                ref double dampingRatio)
        {
            int csiSeismicIntensity = 0;

            _callCode = _sapModel.Func.FuncRS.GetChinese2010(name, ref alphaMax, ref csiSeismicIntensity, ref Tg, ref PTDF, ref dampingRatio);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            SI = (eSeismicIntensity_Chinese_2010)csiSeismicIntensity;
        }
        /// <summary>
        /// Returns auto seismic loading parameters for the Chinese 2010 code.
        /// </summary>
        /// <param name="name">The name of an existing Quake-type load pattern with a corresponding auto seismic load assignment.</param>
        /// <param name="loadDirection">The seismic load direction.</param>
        /// <param name="eccentricity">The eccentricity ratio that applies to all diaphragms.</param>
        /// <param name="periodOption">The time period option.</param>
        /// <param name="userSpecifiedPeriod">The user specified time period. [s]
        /// This only applies when <paramref name="periodOption" /> = <see cref="eTimePeriodOption.UserDefined" /></param>
        /// <param name="userSpecifiedHeights">True: Top and bottom elevations of the seismic load are user specified.
        /// Else, the program determines the elevations.</param>
        /// <param name="coordinateTopZ">Global Z-coordinate at the highest level where auto seismic loads are applied. [L].
        /// This only applies when <paramref name="userSpecifiedHeights" /> = True.</param>
        /// <param name="coordinateBottomZ">Global Z-coordinate at the lowest level where auto seismic loads are applied. [L].
        /// This only applies when <paramref name="userSpecifiedHeights" /> = True.</param>
        /// <param name="alphaMax">The maximum influence factor.</param>
        /// <param name="seismicIntensity">The seismic intensity.</param>
        /// <param name="damping">The damping ratio.</param>
        /// <param name="Tg">The characteristic ground period. [s].</param>
        /// <param name="periodTimeDiscount">The period time discount factor.</param>
        /// <param name="enhancementFactor">The enhancement factor.</param>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        public void GetLoad(string name,
                            ref eSeismicLoadDirection loadDirection,
                            ref double eccentricity,
                            ref eTimePeriodOption periodOption,
                            ref double userSpecifiedPeriod,
                            ref bool userSpecifiedHeights,
                            ref double coordinateTopZ,
                            ref double coordinateBottomZ,
                            ref double alphaMax,
                            ref eSeismicIntensity_Chinese_2010 seismicIntensity,
                            ref double damping,
                            ref double Tg,
                            ref double periodTimeDiscount,
                            ref double enhancementFactor)
        {
            int csiLoadDirection    = 0;
            int csiPeriodOption     = 0;
            int csiSeismicIntensity = 0;

            _callCode = _sapModel.LoadPatterns.AutoSeismic.GetChinese2010(name,
                                                                          ref csiLoadDirection,
                                                                          ref eccentricity,
                                                                          ref csiPeriodOption,
                                                                          ref userSpecifiedPeriod,
                                                                          ref userSpecifiedHeights,
                                                                          ref coordinateTopZ,
                                                                          ref coordinateBottomZ,
                                                                          ref alphaMax,
                                                                          ref csiSeismicIntensity,
                                                                          ref damping,
                                                                          ref Tg,
                                                                          ref periodTimeDiscount,
                                                                          ref enhancementFactor);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            loadDirection    = (eSeismicLoadDirection)csiLoadDirection;
            periodOption     = (eTimePeriodOption)csiPeriodOption;
            seismicIntensity = (eSeismicIntensity_Chinese_2010)csiSeismicIntensity;
        }