public CE_1D(CFemNode NStart, CFemNode NEnd, EElemSuppType3D eSuppType, CCrSc ECrSc) { // Create and fill elements base data // Nodes NodeStart = NStart; NodeEnd = NEnd; // Support type m_eSuppType3D = eSuppType; // Cross-section m_CrSc = ECrSc; FillBasic2(); }
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______________; } }