Пример #1
0
 public void SetLoad(string name,
                     eSeismicLoadDirection loadDirection,
                     double eccentricity,
                     eTimePeriodOption periodOption,
                     eC1Type_NTC_2008 C1Type,
                     double userSpecifiedPeriod,
                     bool userSpecifiedHeights,
                     double coordinateTopZ,
                     double coordinateBottomZ,
                     eSiteClass_Eurocode_8_2004 soilType,
                     double PGA,
                     eParameters_NTC_2008 parameterOptions,
                     double latitude,
                     double longitude,
                     eIsland_NTC_2008 island,
                     eLimitState_NTC_2008 limitState,
                     eUsageClass_NTC_2008 usageClass,
                     double nominalLife,
                     double F0,
                     double Tcs,
                     eSpectrumType_NTC_2008 spectrumType,
                     eTopography_NTC_2008 topography,
                     double hRatio,
                     double damping,
                     double q,
                     double lambda)
 {
 }
Пример #2
0
        /// <summary>
        /// This function retrieves the definition of a Eurocode 8 2004 response spectrum function.
        /// </summary>
        /// <param name="name">The name of a Eurocode 8 2004 response spectrum function.</param>
        /// <param name="country">The country for which the Nationally Determined Parameters (NDPs) are specified.</param>
        /// <param name="direction">The ground motion direction.</param>
        /// <param name="spectrumType">The spectrum type.</param>
        /// <param name="groundType">The ground type. <para />
        /// This item only applies when the <paramref name="direction" /> = <see cref="eSpectrumDirection_Eurocode_8_2004.Horizontal" />.</param>
        /// <param name="ag">The design ground acceleration in g, ag.</param>
        /// <param name="S">The soil factor, S.<para />
        /// This item only applies when the <paramref name="direction" /> = <see cref="eSpectrumDirection_Eurocode_8_2004.Horizontal" />.</param>
        /// <param name="AvgOverAg">The vertical ground acceleration divided by the horizontal ground acceleration, Avg/Ag.<para />
        /// This item only applies when the <paramref name="direction" /> = <see cref="eSpectrumDirection_Eurocode_8_2004.Vertical" />.</param>
        /// <param name="Tb">The lower limit of period of the constant spectral acceleration branch, Tb.</param>
        /// <param name="Tc">The upper limit of period of the constant spectral acceleration branch, Tc.</param>
        /// <param name="Td">The period defining the start of the constant displacement range, Td.</param>
        /// <param name="beta">The lower bound factor, Beta.</param>
        /// <param name="q">The behavior factor, q.</param>
        /// <param name="dampingRatio">The damping ratio for the function, 0 &lt;= <paramref name="dampingRatio" /> &lt; 1.</param>
        /// <exception cref="CSiException">API_DEFAULT_ERROR_CODE</exception>
        public void GetFunction(string name,
                                ref eParameters_Eurocode_8_2004 country,
                                ref eSpectrumDirection_Eurocode_8_2004 direction,
                                ref eSpectrumType_Eurocode_8_2004 spectrumType,
                                ref eSiteClass_Eurocode_8_2004 groundType,
                                ref double ag,
                                ref double S,
                                ref double AvgOverAg,
                                ref double Tb,
                                ref double Tc,
                                ref double Td,
                                ref double beta,
                                ref double q,
                                ref double dampingRatio)
        {
            int csiCountry      = 0;
            int csiDirection    = 0;
            int csiSpectrumType = 0;
            int csiGroundType   = 0;

            _callCode = _sapModel.Func.FuncRS.GetEurocode82004_1(name, ref csiCountry, ref csiDirection, ref csiSpectrumType, ref csiGroundType, ref ag, ref S, ref AvgOverAg, ref Tb, ref Tc, ref Td, ref beta, ref q, ref dampingRatio);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            country      = (eParameters_Eurocode_8_2004)csiCountry;
            direction    = (eSpectrumDirection_Eurocode_8_2004)csiDirection;
            spectrumType = (eSpectrumType_Eurocode_8_2004)csiSpectrumType;
            groundType   = (eSiteClass_Eurocode_8_2004)csiGroundType;
        }
        /// <summary>
        /// Returns auto seismic loading parameters for the Eurocode 8 2004 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="Ct">The code-specified Ct factor.
        /// This only applies when <paramref name="periodOption" /> = <see cref="eTimePeriodOption.Approximate" /> or <see cref="eTimePeriodOption.ProgramCalculated" />.</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="soilType">Type of the soil.</param>
        /// <param name="ag">The design ground acceleration, ag. [g].</param>
        /// <param name="country">The country for which the Nationally Determined Parameters (NDPs) are specified.</param>
        /// <param name="spectrumType">Type of spectrum.</param>
        /// <param name="S">The soil factor, S.</param>
        /// <param name="Tb">The lower limit of period of the constant spectral acceleration branch, Tb.</param>
        /// <param name="Tc">The upper limit of period of the constant spectral acceleration branch, Tc.</param>
        /// <param name="Td">The period defining the start of the constant displacement range, Td.</param>
        /// <param name="beta">The lower bound factor, Beta.</param>
        /// <param name="q">The behavior factor, q.</param>
        /// <param name="lambda">The correction factor, Lambda.</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 Ct,
                            ref double userSpecifiedPeriod,
                            ref bool userSpecifiedHeights,
                            ref double coordinateTopZ,
                            ref double coordinateBottomZ,
                            ref eSiteClass_Eurocode_8_2004 soilType,
                            ref double ag,
                            ref eParameters_Eurocode_8_2004 country,
                            ref eSpectrumType_Eurocode_8_2004 spectrumType,
                            ref double S,
                            ref double Tb,
                            ref double Tc,
                            ref double Td,
                            ref double beta,
                            ref double q,
                            ref double lambda)
        {
            int csiLoadDirection = 0;
            int csiPeriodOption  = 0;
            int csiSoilType      = 0;
            int csiCountry       = 0;
            int csiSpectrumType  = 0;

            _callCode = _sapModel.LoadPatterns.AutoSeismic.GetEurocode82004_1(name,
                                                                              ref csiLoadDirection,
                                                                              ref eccentricity,
                                                                              ref csiPeriodOption,
                                                                              ref Ct,
                                                                              ref userSpecifiedPeriod,
                                                                              ref userSpecifiedHeights,
                                                                              ref coordinateTopZ,
                                                                              ref coordinateBottomZ,
                                                                              ref csiCountry,
                                                                              ref csiSpectrumType,
                                                                              ref csiSoilType,
                                                                              ref ag,
                                                                              ref S,
                                                                              ref Tb,
                                                                              ref Tc,
                                                                              ref Td,
                                                                              ref beta,
                                                                              ref q,
                                                                              ref lambda);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            loadDirection = (eSeismicLoadDirection)csiLoadDirection;
            periodOption  = (eTimePeriodOption)csiPeriodOption;
            soilType      = (eSiteClass_Eurocode_8_2004)csiSoilType;
            country       = (eParameters_Eurocode_8_2004)csiCountry;
            spectrumType  = (eSpectrumType_Eurocode_8_2004)csiSpectrumType;
        }
Пример #4
0
 /// <summary>
 /// Assigns auto seismic loading parameters for the NTC 2008 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="C1Type">Type of the c1.
 /// This only applies when <paramnamef name="periodOption" /> = <see cref="eTimePeriodOption.Approximate" /> or <see cref="eTimePeriodOption.ProgramCalculated" />.</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="soilType">Type of the soil.</param>
 /// <param name="PGA">The peak ground acceleration, ag/g.</param>
 /// <param name="parameterOptions">The option for defining the parameters.</param>
 /// <param name="latitude">The latitude for which the seismic coefficients are obtained.
 /// This only applies when <paramnamef name="parameterOptions" /> = <see cref="eParameters_NTC_2008.ByLatLong" /></param>
 /// <param name="longitude">The longitude for which the seismic coefficients are obtained.
 /// This only applies when <paramnamef name="parameterOptions" /> = <see cref="eParameters_NTC_2008.ByLatLong" /></param>
 /// <param name="island">The island for which the seismic coefficients are obtained.
 /// This only applies when <paramnamef name="parameterOptions" /> = <see cref="eParameters_NTC_2008.ByIsland" /></param>
 /// <param name="limitState">The limit state.</param>
 /// <param name="usageClass">The usage class.</param>
 /// <param name="nominalLife">The nominal life to be considered.</param>
 /// <param name="F0">The magnitude factor, F0.</param>
 /// <param name="Tcs">The reference period, Tc* [s].</param>
 /// <param name="spectrumType">The type of spectrum to consider.</param>
 /// <param name="topography">The topography type.</param>
 /// <param name="hRatio">The ratio for the site altitude at the base of the hill to the height of the hill..</param>
 /// <param name="damping">The damping, in percent.
 /// This only applies when <paramnamef name="spectrumType" /> = <see cref="eSpectrumType_NTC_2008.ElasticHorizontal" /> or <see cref="eSpectrumType_NTC_2008.ElasticVertical" />.</param>
 /// <param name="q">The behavior correction factor, q.
 /// This only applies when <paramnamef name="spectrumType" /> = <see cref="eSpectrumType_NTC_2008.DesignHorizontal" /> or <see cref="eSpectrumType_NTC_2008.DesignVertical" />.</param>
 /// <param name="lambda">The correction factor, Lambda.</param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void SetLoad(string name,
                     eSeismicLoadDirection loadDirection,
                     double eccentricity,
                     eTimePeriodOption periodOption,
                     eC1Type_NTC_2008 C1Type,
                     double userSpecifiedPeriod,
                     bool userSpecifiedHeights,
                     double coordinateTopZ,
                     double coordinateBottomZ,
                     eSiteClass_Eurocode_8_2004 soilType,
                     double PGA,
                     eParameters_NTC_2008 parameterOptions,
                     double latitude,
                     double longitude,
                     eIsland_NTC_2008 island,
                     eLimitState_NTC_2008 limitState,
                     eUsageClass_NTC_2008 usageClass,
                     double nominalLife,
                     double F0,
                     double Tcs,
                     eSpectrumType_NTC_2008 spectrumType,
                     eTopography_NTC_2008 topography,
                     double hRatio,
                     double damping,
                     double q,
                     double lambda)
 {
     _callCode = _sapModel.LoadPatterns.AutoSeismic.SetNTC2008(name,
                                                               (int)loadDirection,
                                                               eccentricity,
                                                               (int)periodOption,
                                                               (int)C1Type,
                                                               userSpecifiedPeriod,
                                                               userSpecifiedHeights,
                                                               coordinateTopZ,
                                                               coordinateBottomZ,
                                                               (int)parameterOptions,
                                                               latitude,
                                                               longitude,
                                                               (int)island,
                                                               (int)limitState,
                                                               (int)usageClass,
                                                               nominalLife,
                                                               PGA,
                                                               F0,
                                                               Tcs,
                                                               (int)spectrumType,
                                                               (int)soilType,
                                                               (int)topography,
                                                               hRatio,
                                                               q,
                                                               damping,
                                                               lambda);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
Пример #5
0
 public void SetFunction(string name,
                         eParameters_Eurocode_8_2004 country,
                         eSpectrumDirection_Eurocode_8_2004 direction,
                         eSpectrumType_Eurocode_8_2004 spectrumType,
                         eSiteClass_Eurocode_8_2004 groundType,
                         double ag,
                         double S,
                         double AvgOverAg,
                         double Tb,
                         double Tc,
                         double Td,
                         double beta,
                         double q,
                         double dampingRatio)
 {
 }
 /// <summary>
 /// Assigns auto seismic loading parameters for the Eurocode 8 2004 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="Ct">The code-specified Ct factor.
 /// This only applies when <paramnamef name="periodOption" /> = <see cref="eTimePeriodOption.Approximate" /> or <see cref="eTimePeriodOption.ProgramCalculated" />.</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="soilType">Type of the soil.</param>
 /// <param name="ag">The design ground acceleration, ag. [g].</param>
 /// <param name="country">The country for which the Nationally Determined Parameters (NDPs) are specified.</param>
 /// <param name="spectrumType">Type of spectrum.</param>
 /// <param name="S">The soil factor, S.</param>
 /// <param name="Tb">The lower limit of period of the constant spectral acceleration branch, Tb.</param>
 /// <param name="Tc">The upper limit of period of the constant spectral acceleration branch, Tc.</param>
 /// <param name="Td">The period defining the start of the constant displacement range, Td.</param>
 /// <param name="beta">The lower bound factor, Beta.</param>
 /// <param name="q">The behavior factor, q.</param>
 /// <param name="lambda">The correction factor, Lambda.</param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void SetLoad(string name,
                     eSeismicLoadDirection loadDirection,
                     double eccentricity,
                     eTimePeriodOption periodOption,
                     double Ct,
                     double userSpecifiedPeriod,
                     bool userSpecifiedHeights,
                     double coordinateTopZ,
                     double coordinateBottomZ,
                     eSiteClass_Eurocode_8_2004 soilType,
                     double ag,
                     eParameters_Eurocode_8_2004 country,
                     eSpectrumType_Eurocode_8_2004 spectrumType,
                     double S,
                     double Tb,
                     double Tc,
                     double Td,
                     double beta,
                     double q,
                     double lambda)
 {
     _callCode = _sapModel.LoadPatterns.AutoSeismic.SetEurocode82004_1(name,
                                                                       (int)loadDirection,
                                                                       eccentricity,
                                                                       (int)periodOption,
                                                                       Ct,
                                                                       userSpecifiedPeriod,
                                                                       userSpecifiedHeights,
                                                                       coordinateTopZ,
                                                                       coordinateBottomZ,
                                                                       (int)country,
                                                                       (int)spectrumType,
                                                                       (int)soilType,
                                                                       ag,
                                                                       S,
                                                                       Tb,
                                                                       Tc,
                                                                       Td,
                                                                       beta,
                                                                       q,
                                                                       lambda);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
Пример #7
0
 /// <summary>
 /// This function defines a Eurocode 8 2004 response spectrum function.
 /// </summary>
 /// <param name="name">The name of a Eurocode 8 2004 response spectrum function. <para />
 /// If this is an existing function, that function is modified; otherwise, a new function is added.</param>
 /// <param name="country">The country for which the Nationally Determined Parameters (NDPs) are specified.</param>
 /// <param name="direction">The ground motion direction.</param>
 /// <param name="spectrumType">The spectrum type.</param>
 /// <param name="groundType">The ground type. <para />
 /// This item only applies when the <paramref name="direction" /> = <see cref="eSpectrumDirection_Eurocode_8_2004.Horizontal" />.</param>
 /// <param name="ag">The design ground acceleration in g, ag.</param>
 /// <param name="S">The soil factor, S.<para />
 /// This item only applies when the <paramref name="direction" /> = <see cref="eSpectrumDirection_Eurocode_8_2004.Horizontal" />.</param>
 /// <param name="AvgOverAg">The vertical ground acceleration divided by the horizontal ground acceleration, Avg/Ag.<para />
 /// This item only applies when the <paramref name="direction" /> = <see cref="eSpectrumDirection_Eurocode_8_2004.Vertical" />.</param>
 /// <param name="Tb">The lower limit of period of the constant spectral acceleration branch, Tb.</param>
 /// <param name="Tc">The upper limit of period of the constant spectral acceleration branch, Tc.</param>
 /// <param name="Td">The period defining the start of the constant displacement range, Td.</param>
 /// <param name="beta">The lower bound factor, Beta.</param>
 /// <param name="q">The behavior factor, q.</param>
 /// <param name="dampingRatio">The damping ratio for the function, 0 &lt;= <paramref name="dampingRatio" /> &lt; 1.</param>
 /// <exception cref="CSiException">API_DEFAULT_ERROR_CODE</exception>
 public void SetFunction(string name,
                         eParameters_Eurocode_8_2004 country,
                         eSpectrumDirection_Eurocode_8_2004 direction,
                         eSpectrumType_Eurocode_8_2004 spectrumType,
                         eSiteClass_Eurocode_8_2004 groundType,
                         double ag,
                         double S,
                         double AvgOverAg,
                         double Tb,
                         double Tc,
                         double Td,
                         double beta,
                         double q,
                         double dampingRatio)
 {
     dampingRatio = limitDampingRatio(dampingRatio);
     _callCode    = _sapModel.Func.FuncRS.SetEurocode82004_1(name, (int)country, (int)direction, (int)spectrumType, (int)groundType, ag, S, AvgOverAg, Tb, Tc, Td, beta, q, dampingRatio);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
Пример #8
0
 public void SetLoad(string name,
                     eSeismicLoadDirection loadDirection,
                     double eccentricity,
                     eTimePeriodOption periodOption,
                     double Ct,
                     double userSpecifiedPeriod,
                     bool userSpecifiedHeights,
                     double coordinateTopZ,
                     double coordinateBottomZ,
                     eSiteClass_Eurocode_8_2004 soilType,
                     double ag,
                     eParameters_Eurocode_8_2004 country,
                     eSpectrumType_Eurocode_8_2004 spectrumType,
                     double S,
                     double Tb,
                     double Tc,
                     double Td,
                     double beta,
                     double q,
                     double lambda)
 {
 }
Пример #9
0
        /// <summary>
        /// Returns auto seismic loading parameters for the NTC 2008 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="C1Type">Type of the c1.
        /// This only applies when <paramref name="periodOption" /> = <see cref="eTimePeriodOption.Approximate" /> or <see cref="eTimePeriodOption.ProgramCalculated" />.</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="soilType">Type of the soil.</param>
        /// <param name="PGA">The peak ground acceleration, ag/g.</param>
        /// <param name="parameterOptions">The option for defining the parameters.</param>
        /// <param name="latitude">The latitude for which the seismic coefficients are obtained.
        /// This only applies when <paramref name="parameterOptions" /> = <see cref="eParameters_NTC_2008.ByLatLong" /></param>
        /// <param name="longitude">The longitude for which the seismic coefficients are obtained.
        /// This only applies when <paramref name="parameterOptions" /> = <see cref="eParameters_NTC_2008.ByLatLong" /></param>
        /// <param name="island">The island for which the seismic coefficients are obtained.
        /// This only applies when <paramref name="parameterOptions" /> = <see cref="eParameters_NTC_2008.ByIsland" /></param>
        /// <param name="limitState">The limit state.</param>
        /// <param name="usageClass">The usage class.</param>
        /// <param name="nominalLife">The nominal life to be considered.</param>
        /// <param name="F0">The magnitude factor, F0.</param>
        /// <param name="Tcs">The reference period, Tc* [s].</param>
        /// <param name="spectrumType">The type of spectrum to consider.</param>
        /// <param name="topography">The topography type.</param>
        /// <param name="hRatio">The ratio for the site altitude at the base of the hill to the height of the hill..</param>
        /// <param name="damping">The damping, in percent.
        /// This only applies when <paramref name="spectrumType" /> = <see cref="eSpectrumType_NTC_2008.ElasticHorizontal" /> or <see cref="eSpectrumType_NTC_2008.ElasticVertical" />.</param>
        /// <param name="q">The behavior correction factor, q.
        /// This only applies when <paramref name="spectrumType" /> = <see cref="eSpectrumType_NTC_2008.DesignHorizontal" /> or <see cref="eSpectrumType_NTC_2008.DesignVertical" />.</param>
        /// <param name="lambda">The correction factor, Lambda.</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 eC1Type_NTC_2008 C1Type,
                            ref double userSpecifiedPeriod,
                            ref bool userSpecifiedHeights,
                            ref double coordinateTopZ,
                            ref double coordinateBottomZ,
                            ref eSiteClass_Eurocode_8_2004 soilType,
                            ref double PGA,
                            ref eParameters_NTC_2008 parameterOptions,
                            ref double latitude,
                            ref double longitude,
                            ref eIsland_NTC_2008 island,
                            ref eLimitState_NTC_2008 limitState,
                            ref eUsageClass_NTC_2008 usageClass,
                            ref double nominalLife,
                            ref double F0,
                            ref double Tcs,
                            ref eSpectrumType_NTC_2008 spectrumType,
                            ref eTopography_NTC_2008 topography,
                            ref double hRatio,
                            ref double damping,
                            ref double q,
                            ref double lambda)
        {
            int csiLoadDirection    = 0;
            int csiPeriodOption     = 0;
            int csiC1Type           = 0;
            int csiSoilType         = 0;
            int csiParameterOptions = 0;
            int csiIsland           = 0;
            int csiLimitState       = 0;
            int csiUsageClass       = 0;
            int csiSpectrumType     = 0;
            int csiTopography       = 0;

            _callCode = _sapModel.LoadPatterns.AutoSeismic.GetNTC2008(name,
                                                                      ref csiLoadDirection,
                                                                      ref eccentricity,
                                                                      ref csiPeriodOption,
                                                                      ref csiC1Type,
                                                                      ref userSpecifiedPeriod,
                                                                      ref userSpecifiedHeights,
                                                                      ref coordinateTopZ,
                                                                      ref coordinateBottomZ,
                                                                      ref csiParameterOptions,
                                                                      ref latitude,
                                                                      ref longitude,
                                                                      ref csiIsland,
                                                                      ref csiLimitState,
                                                                      ref csiUsageClass,
                                                                      ref nominalLife,
                                                                      ref PGA,
                                                                      ref F0,
                                                                      ref Tcs,
                                                                      ref csiSpectrumType,
                                                                      ref csiSoilType,
                                                                      ref csiTopography,
                                                                      ref hRatio,
                                                                      ref q,
                                                                      ref damping,
                                                                      ref lambda);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            loadDirection    = (eSeismicLoadDirection)csiLoadDirection;
            periodOption     = (eTimePeriodOption)csiPeriodOption;
            C1Type           = (eC1Type_NTC_2008)csiC1Type;
            soilType         = (eSiteClass_Eurocode_8_2004)csiSoilType;
            parameterOptions = (eParameters_NTC_2008)csiParameterOptions;
            island           = (eIsland_NTC_2008)csiIsland;
            limitState       = (eLimitState_NTC_2008)csiLimitState;
            usageClass       = (eUsageClass_NTC_2008)csiUsageClass;
            spectrumType     = (eSpectrumType_NTC_2008)csiSpectrumType;
            topography       = (eTopography_NTC_2008)csiTopography;
        }