CFVR0808 - Combination module test
Example to check the combinations utility
This example checks the functionality of the combinations module.
It checks the following:
- Results handle on PIPE20 elements.
- Date handle with unsorted numeration (elements, load steps...)
The load cases are:
- Load Step 1, Sub Step 1: Imposed horizontal movement on the free end of 1 meter in horizontal (direction of the beam).
- Load Step 2, Sub Step 1: Imposed vertical and horizontal movement (perpendicular to the beam) on the free end of 1 meter each.
The target for the combinations is:
- Target 45; Maximum Bending moment MZ
- Combination rule 10: ADDITION: H1+H2
Element types used in the model: PIPE20 Needed CivilFEM Modules: |
|
| Model Statistics | |
| Number of elements | 3 |
| Number of nodes | 4 |
| Number of civil materials | 0 |
| Number of cross sections | 0 |
| Number of shell vertices | 0 |
Log file: CFVR0808.DAT
FINISH ~CFCLEAR,,1 AnsLic='ansys' NomFile='CFVR0808' /TITLE, %NomFile%, Combination module test with PIPE20 ! --------------------------------------------------------------------------------- ! Model definition and solve ! --------------------------------------------------------------------------------- /PREP7 ! Materials MP,EX,5,3E6 MP,NUXY,5,0.2 ! Sections R,10,2.0,0.20 ! Element types *GET,VERSION,ACTIVE,,REV *IF,VERSION,GE,22.2,THEN ET,2,PIPE16 ! PIPE20 no longer supported *ELSE ET,2,PIPE20 *ENDIF ! Nodes N,10,0.0,0.0 N,20,1.0,0.0 N,30,2.0,0.0 N,40,3.0,0.0 ! Elements MAT,5 REAL,10 TYPE,2 EN,100, 10, 20 EN,200, 20, 30 EN,300, 30, 40 ! Boundary conditions D,10,ALL,0.0 ! Initial hypothesis solve /SOLU ! Hypothesis 1: /TITLE, Hypothesis 1 OUTRES,ALL,ALL D,40,UX,1 SOLVE DDELE,40,ALL ! Hypothesis 2: /TITLE, Hypothesis 2 OUTRES,ALL,ALL D,40,UY,1 D,40,UZ,1 SOLVE DDELE,40,ALL /POST1 ! --------------------------------------------------------------------------------- ! Read correct data from simple hypothesis ! --------------------------------------------------------------------------------- Dat=26 ! Number of data to check RES= *DIM,RES,,Dat,2 ! Load data of each simple hypothesis ! Hypothesis 1 SET,1,1 ETABLE,FX_I ,SMISC, 1 ETABLE,FY_I ,SMISC, 2 ETABLE,FZ_I ,SMISC, 3 ETABLE,MX_I ,SMISC, 4 ETABLE,MY_I ,SMISC, 5 ETABLE,MZ_I ,SMISC, 6 ETABLE,FX_J ,SMISC, 7 ETABLE,FY_J ,SMISC, 8 ETABLE,FZ_J ,SMISC, 9 ETABLE,MX_J ,SMISC,10 ETABLE,MY_J ,SMISC,11 ETABLE,MZ_J ,SMISC,12 *GET,RES( 1,1),ELEM,200,ETAB,FX_J *GET,RES( 2,1),ELEM,200,ETAB,FY_J *GET,RES( 3,1),ELEM,200,ETAB,FZ_J *GET,RES( 4,1),ELEM,200,ETAB,MX_J *GET,RES( 5,1),ELEM,200,ETAB,MY_J *GET,RES( 6,1),ELEM,200,ETAB,MZ_J ! Hypothesis 2 SET,2,1 ETABLE,FX_I ,SMISC, 1 ETABLE,FY_I ,SMISC, 2 ETABLE,FZ_I ,SMISC, 3 ETABLE,MX_I ,SMISC, 4 ETABLE,MY_I ,SMISC, 5 ETABLE,MZ_I ,SMISC, 6 ETABLE,FX_J ,SMISC, 7 ETABLE,FY_J ,SMISC, 8 ETABLE,FZ_J ,SMISC, 9 ETABLE,MX_J ,SMISC,10 ETABLE,MY_J ,SMISC,11 ETABLE,MZ_J ,SMISC,12 *GET,RES( 1,2),ELEM,200,ETAB,FX_J *GET,RES( 2,2),ELEM,200,ETAB,FY_J *GET,RES( 3,2),ELEM,200,ETAB,FZ_J *GET,RES( 4,2),ELEM,200,ETAB,MX_J *GET,RES( 5,2),ELEM,200,ETAB,MY_J *GET,RES( 6,2),ELEM,200,ETAB,MZ_J ! --------------------------------------------------------------------------------- ! Definition and solving of combinations ! --------------------------------------------------------------------------------- ! Reset combinations module ~CMBCLR, ! Targets definition ~TRGDEF,45,BEAM,M,Z,MAX ! Combinations definition ! Combination 10: ADDITION [H1+H2] ~CMBDEF, 10,ADD,2 ~STSTDEF,10,1,LSTEP,1, ,2,1,1 ~STSTCFT,10, ,1.00 ! Combine ~COMBINE !-------------------------------------------------------------------------------------- ! DATA CHECK !-------------------------------------------------------------------------------------- ! Data comparision number NComp = 26 NComp_ch = 0 ! Marix dim. *DIM,LABEL,CHAR,Ncomp,1 *DIM,VALUE,,Ncomp,3 *DIM,TOLER,,Ncomp,2 ! Labels !-------------------------------------------------------------------------------------- *DO,I,1,NComp LABEL(I) ='TEST%I%' *ENDDO ! Correct values !-------------------------------------------------------------------------------------- *DO,I,1,6 VALUE(I,1)=RES(I,1)+RES(I,2) *ENDDO *DO,I,7,NComp VALUE(I,1)=0.0 *ENDDO ! Obtained values !-------------------------------------------------------------------------------------- ! Point to combined data ~CMBDAT,2 ~CFSET,,10,45 ETABLE,FX_I ,SMISC, 1 ETABLE,FY_I ,SMISC, 2 ETABLE,FZ_I ,SMISC, 3 ETABLE,MX_I ,SMISC, 4 ETABLE,MY_I ,SMISC, 5 ETABLE,MZ_I ,SMISC, 6 ETABLE,FX_J ,SMISC, 7 ETABLE,FY_J ,SMISC, 8 ETABLE,FZ_J ,SMISC, 9 ETABLE,MX_J ,SMISC,10 ETABLE,MY_J ,SMISC,11 ETABLE,MZ_J ,SMISC,12 ETABLE,SDIR_I ,LS , 1 ETABLE,SBYT_I ,LS , 2 ETABLE,SBYB_I ,LS , 3 ETABLE,SBZT_I ,LS , 4 ETABLE,SBZB_I ,LS , 5 ETABLE,SDIR_J ,LS , 6 ETABLE,SBYT_J ,LS , 7 ETABLE,SBYB_J ,LS , 8 ETABLE,SBZT_J ,LS , 9 ETABLE,SBZB_J ,LS ,10 ETABLE,EPDIR_I,LEPEL, 1 ETABLE,EPBYT_I,LEPEL, 2 ETABLE,EPBYB_I,LEPEL, 3 ETABLE,EPBZT_I,LEPEL, 4 ETABLE,EPBZB_I,LEPEL, 5 ETABLE,EPDIR_J,LEPEL, 6 ETABLE,EPBYT_J,LEPEL, 7 ETABLE,EPBYB_J,LEPEL, 8 ETABLE,EPBZT_J,LEPEL, 9 ETABLE,EPBZB_J,LEPEL,10 *GET,VALUE( 1,2),ELEM,200,ETAB,FX_J *GET,VALUE( 2,2),ELEM,200,ETAB,FY_J *GET,VALUE( 3,2),ELEM,200,ETAB,FZ_J *GET,VALUE( 4,2),ELEM,200,ETAB,MX_J *GET,VALUE( 5,2),ELEM,200,ETAB,MY_J *GET,VALUE( 6,2),ELEM,200,ETAB,MZ_J *GET,VALUE( 7,2),ELEM,200,ETAB,SDIR_I *GET,VALUE( 8,2),ELEM,200,ETAB,SBYT_I *GET,VALUE( 9,2),ELEM,200,ETAB,SBYB_I *GET,VALUE(10,2),ELEM,200,ETAB,SBZT_I *GET,VALUE(11,2),ELEM,200,ETAB,SBZB_I *GET,VALUE(12,2),ELEM,200,ETAB,SDIR_J *GET,VALUE(13,2),ELEM,200,ETAB,SBYT_J *GET,VALUE(14,2),ELEM,200,ETAB,SBYB_J *GET,VALUE(15,2),ELEM,200,ETAB,SBZT_J *GET,VALUE(16,2),ELEM,200,ETAB,SBZB_J *GET,VALUE(17,2),ELEM,200,ETAB,EPDIR_I *GET,VALUE(18,2),ELEM,200,ETAB,EPBYT_I *GET,VALUE(19,2),ELEM,200,ETAB,EPBYB_I *GET,VALUE(20,2),ELEM,200,ETAB,EPBZT_I *GET,VALUE(21,2),ELEM,200,ETAB,EPBZB_I *GET,VALUE(22,2),ELEM,200,ETAB,EPDIR_J *GET,VALUE(23,2),ELEM,200,ETAB,EPBYT_J *GET,VALUE(24,2),ELEM,200,ETAB,EPBYB_J *GET,VALUE(25,2),ELEM,200,ETAB,EPBZT_J *GET,VALUE(26,2),ELEM,200,ETAB,EPBZB_J ! Warning and error tolerances TOLER( 1, 1)= 1E-05 $ TOLER( 1, 2)= 1E-04 TOLER( 2, 1)= 1E-09 $ TOLER( 2, 2)= 1E-08 TOLER( 3, 1)= 1E-10 $ TOLER( 3, 2)= 1E-09 TOLER( 4, 1)= 1E-15 $ TOLER( 4, 2)= 1E-14 TOLER( 5, 1)= 1E-10 $ TOLER( 5, 2)= 1E-09 TOLER( 6, 1)= 1E-09 $ TOLER( 6, 2)= 1E-08 TOLER( 7, 1)= 1E-01 $ TOLER( 7, 2)= 1E-00 TOLER( 8, 1)= 1E-03 $ TOLER( 8, 2)= 1E-02 TOLER( 9, 1)= 1E-03 $ TOLER( 9, 2)= 1E-02 TOLER(10, 1)= 1E-03 $ TOLER(10, 2)= 1E-02 TOLER(11, 1)= 1E-15 $ TOLER(11, 2)= 1E-14 TOLER(12, 1)= 1E-01 $ TOLER(12, 2)= 1E-00 TOLER(13, 1)= 1E-03 $ TOLER(13, 2)= 1E-02 TOLER(14, 1)= 1E-03 $ TOLER(14, 2)= 1E-02 TOLER(15, 1)= 1E-03 $ TOLER(15, 2)= 1E-03 TOLER(16, 1)= 1E-03 $ TOLER(16, 2)= 1E-03 TOLER(17, 1)= 1E-09 $ TOLER(17, 2)= 1E-08 TOLER(18, 1)= 1E-11 $ TOLER(18, 2)= 1E-10 TOLER(19, 1)= 1E-11 $ TOLER(19, 2)= 1E-10 TOLER(20, 1)= 1E-11 $ TOLER(20, 2)= 1E-10 TOLER(21, 1)= 1E-11 $ TOLER(21, 2)= 1E-10 TOLER(22, 1)= 1E-09 $ TOLER(22, 2)= 1E-08 TOLER(23, 1)= 1E-11 $ TOLER(23, 2)= 1E-10 TOLER(24, 1)= 1E-11 $ TOLER(24, 2)= 1E-10 TOLER(25, 1)= 1E-11 $ TOLER(25, 2)= 1E-10 TOLER(26, 1)= 1E-11 $ TOLER(26, 2)= 1E-10 !-------------------------------------------------------------------------------------- ! Results comparison !-------------------------------------------------------------------------------------- COMPARA.MAC |
Results
| Label | Target | CivilFEM | Ratio | Tolerance |
| TEST1 | 1.131e+006 | 1.131e+006 | 1.000 | 0.0001 |
| TEST2 | 93337 | 93337 | 1.000 | 1e-008 |
| TEST3 | 93337 | 93337 | 1.000 | 1e-009 |
| TEST4 | 0 | 0 | 0.000 | 1e-014 |
| TEST5 | -93337 | -93337 | 1.000 | 1e-009 |
| TEST6 | 93337 | 93337 | 1.000 | 1e-008 |
| TEST7 | 0 | 0 | 0.000 | 1 |
| TEST8 | 0 | 0 | 0.000 | 0.01 |
| TEST9 | 0 | 0 | 0.000 | 0.01 |
| TEST10 | 0 | 0 | 0.000 | 0.01 |
| TEST11 | 0 | 0 | 0.000 | 1e-014 |
| TEST12 | 0 | 0 | 0.000 | 1 |
| TEST13 | 0 | 0 | 0.000 | 0.01 |
| TEST14 | 0 | 0 | 0.000 | 0.01 |
| TEST15 | 0 | 0 | 0.000 | 0.001 |
| TEST16 | 0 | 0 | 0.000 | 0.001 |
| TEST17 | 0 | 0 | 0.000 | 1e-008 |
| TEST18 | 0 | 0 | 0.000 | 1e-010 |
| TEST19 | 0 | 0 | 0.000 | 1e-010 |
| TEST20 | 0 | 0 | 0.000 | 1e-010 |
| TEST21 | 0 | 0 | 0.000 | 1e-010 |
| TEST22 | 0 | 0 | 0.000 | 1e-008 |
| TEST23 | 0 | 0 | 0.000 | 1e-010 |
| TEST24 | 0 | 0 | 0.000 | 1e-010 |
| TEST25 | 0 | 0 | 0.000 | 1e-010 |
| TEST26 | 0 | 0 | 0.000 | 1e-010 |
Contains proprietary and confidential information of Ingeciber, S.A.