示例#1
0
 public CMLoadPart_AXIAL_F(CMLoad Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fA, out float fB)
 {
     if (Load is CMLoad_11)
     {
         GetMLoadPart_11((CMLoad_11)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_12)
     {
         GetMLoadPart_12((CMLoad_12)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_21)
     {
         GetMLoadPart_21((CMLoad_21)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_22)
     {
         GetMLoadPart_22((CMLoad_22)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_23)
     {
         GetMLoadPart_23((CMLoad_23)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_24)
     {
         GetMLoadPart_24((CMLoad_24)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_31)
     {
         GetMLoadPart_31((CMLoad_31)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_32)
     {
         GetMLoadPart_32((CMLoad_32)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_33)
     {
         GetMLoadPart_33((CMLoad_33)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_34)
     {
         GetMLoadPart_34((CMLoad_34)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_35)
     {
         GetMLoadPart_35((CMLoad_35)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_36)
     {
         GetMLoadPart_36((CMLoad_36)Load, Member, eMType, out fA, out fB);
     }
     else if (Load is CMLoad_41)
     {
         GetMLoadPart_41((CMLoad_41)Load, Member, eMType, out fA, out fB);
     }
     else // Exception
     {
         fA = fB = float.MaxValue; // Temporary !!!!
     }
 }
示例#2
0
 void GetMLoadPart_12(CMLoad_12 Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fA, out float fB, out float fMa, out float fMb)
 {
     switch (eMType)
     {
         case Enums.EElemSuppType2D.eEl_00_00: // Both Side restrained
             {
                 GetEIF_00_00_12_UV(Load, Member.FLength, out fA, out fB, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_00_0_:
             {
                 GetEIF_00_0__12_UV(Load, Member.FLength, out fA, out fB, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_0__00:
             {
                 GetEIF_0__00_12_UV(Load, Member.FLength, out fA, out fB, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_0__0_:
             {
                 GetEIF_0__0__12_UV(Load, Member.FLength, out fA, out fB, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_00___:
             {
                 GetEIF_00____12_UV(Load, Member.FLength, out fA, out fB, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl____00:
             {
                 GetEIF____00_12_UV(Load, Member.FLength, out fA, out fB, out fMa, out fMb);
                 return;
             }
         default:
             {
                 // Exception
                 fA = fB = fMa = fMb = 0.0f;
                 return;
             }
     }
 }
示例#3
0
        public CMLoadPart_TRANS_F(CMLoad Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fA, out float fB, out float fMa, out float fMb)
        {
            // Type objType = Load.GetType(); // typeof(Load)

            if (Load is CMLoad_11)
            {
                GetMLoadPart_11((CMLoad_11)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_12)
            {
                GetMLoadPart_12((CMLoad_12)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_21)
            {
                GetMLoadPart_21((CMLoad_21)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_22)
            {
                GetMLoadPart_22((CMLoad_22)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_23)
            {
                GetMLoadPart_23((CMLoad_23)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_24)
            {
                GetMLoadPart_24((CMLoad_24)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_31)
            {
                GetMLoadPart_31((CMLoad_31)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_32)
            {
                GetMLoadPart_32((CMLoad_32)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_33)
            {
                GetMLoadPart_33((CMLoad_33)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_34)
            {
                GetMLoadPart_34((CMLoad_34)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_35)
            {
                GetMLoadPart_35((CMLoad_35)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_36)
            {
                GetMLoadPart_36((CMLoad_36)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_41)
            {
                GetMLoadPart_41((CMLoad_41)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_51z)
            {
               GetMLoadPart_51z((CMLoad_51z)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else if (Load is CMLoad_51y)
            {
                GetMLoadPart_51y((CMLoad_51y)Load, Member, eMType, out fA, out fB, out fMa, out fMb);
            }
            else // Exception
            {
                fA = fB = fMa = fMb = float.MaxValue; // Temporary !!!!
            }
        }
示例#4
0
 void GetMLoadPart_41(CMLoad_41 Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fA, out float fB)
 {
     // Temporary
     fA = fB = 0.0f;
 }
示例#5
0
 void GetMLoadPart_11(CMLoad_11 Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fA, out float fB)
 {
     switch (eMType)
     {
         case Enums.EElemSuppType2D.eEl_00_00: // Both Side restrained against axial direction displacement
         case Enums.EElemSuppType2D.eEl_00_0_:
         case Enums.EElemSuppType2D.eEl_0__00:
         case Enums.EElemSuppType2D.eEl_0__0_:
             {
                 GetEIF_00_00_11_XX(Load, Member.FLength, out fA, out fB);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_00___:
             {
                 GetEIF_00____11_XX(Load, Member.FLength, out fA, out fB);
                 return;
             }
         case Enums.EElemSuppType2D.eEl____00:
             {
                 GetEIF____00_11_XX(Load, Member.FLength, out fA, out fB);
                 return;
             }
         default:
             {
                 // Exception
                 fA = fB = 0.0f;
                 return;
             }
     }
 }
示例#6
0
 void GetMLoadPart_36(CMLoad_36 Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fA, out float fB, out float fMa, out float fMb)
 {
     // Temporary
     fA = fB = 0.0f;
     fMa = fMb = 0.0f;
 }
示例#7
0
 void GetMLoadPart_24(CMLoad_24 Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fMa, out float fMb)
 {
     // Temporary
     fMa = fMb = 0.0f;
 }
示例#8
0
 void GetMLoadPart_12(CMLoad_12 Load, CE_1D_BASE Member, FEM_CALC_BASE.Enums.EElemSuppType2D eMType, out float fMa, out float fMb)
 {
     // Load in the middle
     switch (eMType)
     {
         case Enums.EElemSuppType2D.eEl_00_00: // Both Side restrained against axial direction displacement
             {
                 GetEIF_00_00_12_XX(Load, Member.FLength, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_00_0_:
         case Enums.EElemSuppType2D.eEl_00___:
             {
                 GetEIF_00____12_XX(Load, Member.FLength, out fMa, out fMb);
                 return;
             }
         case Enums.EElemSuppType2D.eEl_0__00:
         case Enums.EElemSuppType2D.eEl____00:
             {
                 GetEIF____00_12_XX(Load, Member.FLength, out fMa, out fMb);
                 return;
             }
         default:
             {
                 // Exception
                 fMa = fMb = 0.0f;
                 return;
             }
     }
 }
示例#9
0
文件: CE_1D.cs 项目: 777ondro/sw-en
        private void Get_iElemSuppType3D(FEM_CALC_BASE.Enums.EElemSuppType2D[] eArrSuppType)
        {
            // Is DOF rigid?
            // true - 1 - yes, it is
            // false - 0 - no, it isnt
            // true - 1 restraint (infinity rigidity) / false - 0 - free (zero rigidity)

            // Note: We can use 2D particular types or direct determination 3D (6 + 6 conditions of IsMemberDOFRigid)

            if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_00
            )
            m_eSuppType3D = EElemSuppType3D.e3DEl_000000_000000;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00___ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00___ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00___
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_000000_______;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl____00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl____00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl____00
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl________000000;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_0_
            )
            m_eSuppType3D = EElemSuppType3D.e3DEl_000000_000___;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__00
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_000____000000;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00__0 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_0_
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_000000_0_00_0;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl__0_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__00
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_0_00_0_000000;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_0000___0000__;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_00__0 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_0000____000__;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl__0_00 &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl__000___0000__;
            else if
            (
                eArrSuppType[(int)EM_PCS_DIR1.eUXRX] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUYRZ] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_ &&
                eArrSuppType[(int)EM_PCS_DIR1.eUZRY] == FEM_CALC_BASE.Enums.EElemSuppType2D.eEl_0__0_
            )
                m_eSuppType3D = EElemSuppType3D.e3DEl_000____000___;
            else
            {
                // Not defined stiffeness matrix
                m_eSuppType3D = EElemSuppType3D.e3DEl______________;
            }
        }