Ejemplo n.º 1
0
            public Double Calc_AngStart()
            //===========================
            {
                //....This calculation is based on the assumption of the symmetry of the drain holes array about
                //........the Casing S/L vertical.
                //
                //........This depends on the AngBet, D_Desig (which in turns triggers Calc_Count) & Anti-Rotation Pin Ang.


                //Store relevant parameters from Bearing_Radial_FP object in local variables.
                //---------------------------------------------------------------------------
                //
                //....Anti Rotation Pin Location w.r.t. Bearing Datums:
                clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL pAntiRotPinLoc_BS =
                    ((clsBearing_Radial_FP)mCurrent_Seal.mCurrentProduct.Bearing).AntiRotPin.Loc_Bearing_SL;
                clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert pAntiRotPinLoc_BV =
                    ((clsBearing_Radial_FP)mCurrent_Seal.mCurrentProduct.Bearing).AntiRotPin.Loc_Bearing_Vert;

                //....Anti Rotation Pin Angle w.r.t Bearing S.L.
                Double pAntiRot_Pin_Loc_Ang = ((clsBearing_Radial_FP)mCurrent_Seal.mCurrentProduct.Bearing).AntiRotPin.Loc_Angle;


                //Determine Angle Start w.r.t Casing S/L:
                //-----------------------------------------
                //
                //...w.r.t Casing Vertical.
                //........Valid for either even or odd value of the "Count".
                Double pAngStart_Casing_Vert = (0.5 * (Calc_Count() - 1)) * mAngBet;

                //...w.r.t Casing SplitLine.
                Double pAngStart_Casing_SL = 90 - pAngStart_Casing_Vert;


                //Convert Angle Start w.r.t Bearing S/L:
                //-------------------------------------
                Double pAng = 0;

                if ((pAntiRotPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Top &&
                     pAntiRotPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.L)
                    ||
                    (pAntiRotPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Bottom &&
                     pAntiRotPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.R))
                {
                    pAng = pAntiRot_Pin_Loc_Ang + pAngStart_Casing_SL;
                }


                else if ((pAntiRotPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Bottom &&
                          pAntiRotPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.L)
                         ||
                         (pAntiRotPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Top &&
                          pAntiRotPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.R))
                {
                    pAng = -pAntiRot_Pin_Loc_Ang + pAngStart_Casing_SL;
                }

                return(pAng);
            }
Ejemplo n.º 2
0
            public Double AngBet_ULim_Sym()
            //============================
            {
                //....This routine is valid when the drain holes are symmetric about the Casing S/L vertical
                //........when Ang_Start is a dependent parameter.

                //Store relevant parameters from Bearing_Radial_FP object in local variables.
                //---------------------------------------------------------------------------
                //
                //....Anti Rotation Pin Location w.r.t. Bearing Datums:
                clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL pPinLoc_BS =
                    ((clsBearing_Radial_FP)mCurrent_Seal.mCurrentProduct.Bearing).AntiRotPin.Loc_Bearing_SL;

                clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert pPinLoc_BV =
                    ((clsBearing_Radial_FP)mCurrent_Seal.mCurrentProduct.Bearing).AntiRotPin.Loc_Bearing_Vert;

                //....Anti Rotation Pin Angle w.r.t Bearing S.L.
                Double pPinLoc_Ang = ((clsBearing_Radial_FP)mCurrent_Seal.mCurrentProduct.Bearing).AntiRotPin.Loc_Angle;


                //....Drain hole Angle upper limit in degree.
                Double pAng_Bet_ULim = 0.0F;

                int pCount = Calc_Count();

                if (pCount > 1)
                {
                    if ((pPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Top &&
                         pPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.L)
                        ||
                        (pPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Bottom &&
                         pPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.R))
                    {
                        //------------------------------------------------------------------------------
                        pAng_Bet_ULim = (2 * (90 - pPinLoc_Ang) / (pCount - 1));
                    }


                    else if ((pPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Bottom &&
                              pPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.L)
                             ||
                             (pPinLoc_BS == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_SL.Top &&
                              pPinLoc_BV == clsBearing_Radial_FP.clsAntiRotPin.eLoc_Bearing_Vert.R))
                    {
                        //------------------------------------------------------------------------------
                        pAng_Bet_ULim = (2 * (90 + pPinLoc_Ang)) / (pCount - 1);
                    }
                }

                return(pAng_Bet_ULim);
            }