CFVR0818 - 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 SHELL93 elements.
- Date handle with unsorted numeration (elements, load steps...)
The load cases are:
- Load Step 1, Sub Step 1: Imposed vertical movement on the middle point of one side (node 50) of 1 meter.
- Load Step 2, Sub Step 1: Imposed horizontal movement on the middle point of one side (node 50) of 1 meter (Y direction).
The target for the combinations is:
- Target 45; Maximum Axial force in the Y direction TY
- Combination rule 10: ADDITION: H1+H2
Element types used in the model: SHELL93 Needed CivilFEM Modules: |
|
| Model Statistics | |
| Number of elements | 2 |
| Number of nodes | 13 |
| Number of civil materials | 0 |
| Number of cross sections | 0 |
| Number of shell vertices | 0 |
Log file: CFVR0818.DAT
FINISH ~CFCLEAR,,1 AnsLic='ansys' NomFile='CFVR0818' /TITLE, %NomFile%, Combination module test with SHELL93 ! --------------------------------------------------------------------------------- ! Model definition and solve ! --------------------------------------------------------------------------------- /PREP7 ! Materials MP,EX,5,3E6 MP,NUXY,5,0.3 ! Sections R,10,0.1,0.1,0.1,0.1 ! Element types ET,2,SHELL93 ! Nodes N,10,0.0,0.0 N,20,1.0,0.0 N,30,2.0,0.0 N,40,0.0,1.5 N,50,1.0,1.5 N,60,2.0,1.5 ! Elements MAT,5 REAL,10 TYPE,2 EN,100, 10, 20, 50, 40 EN,200, 20, 30, 60, 50 EMID,ADD ! Boundary conditions D,ALL,ALL,0.0 DDELE,64,ALL DDELE,66,ALL DDELE,67,ALL ! Plot /ESHAPE,1 EPLOT ! Initial hypothesis solve /SOLU ! Hypothesis 1: /TITLE, Hypothesis 1 OUTRES,ALL,ALL D,50,UZ,1 SOLVE D,50,UZ,0.0 ! Hypothesis 2: /TITLE, Hypothesis 2 OUTRES,ALL,ALL D,50,UY,1 SOLVE D,50,UY,0.0 /POST1 ! --------------------------------------------------------------------------------- ! Read correct data from simple hypothesis ! --------------------------------------------------------------------------------- Dat=44 ! Number of data to check RES= *DIM,RES,,Dat,2 ! Load data of each simple hypothesis ! Hypothesis 1 SET,1,1 ETABLE,TX ,SMISC,1 ETABLE,TY ,SMISC,2 ETABLE,TXY,SMISC,3 ETABLE,MX ,SMISC,4 ETABLE,MY ,SMISC,5 ETABLE,MXY,SMISC,6 ETABLE,NX ,SMISC,7 ETABLE,NY ,SMISC,8 *GET,RES( 1,1),ELEM,100,ETAB,TX *GET,RES( 2,1),ELEM,100,ETAB,TY *GET,RES( 3,1),ELEM,100,ETAB,TXY *GET,RES( 4,1),ELEM,100,ETAB,MX *GET,RES( 5,1),ELEM,100,ETAB,MY *GET,RES( 6,1),ELEM,100,ETAB,MXY SHELL,TOP *GET,RES( 7,1),NODE,20,S,X *GET,RES( 8,1),NODE,20,S,Y *GET,RES( 9,1),NODE,20,S,Z *GET,RES(10,1),NODE,20,S,XY *GET,RES(11,1),NODE,20,S,YZ *GET,RES(12,1),NODE,20,EPEL,X *GET,RES(13,1),NODE,20,EPEL,Y *GET,RES(14,1),NODE,20,EPEL,Z *GET,RES(15,1),NODE,20,EPEL,XY *GET,RES(16,1),NODE,20,EPEL,YZ SHELL,MID *GET,RES(17,1),NODE,20,S,X *GET,RES(18,1),NODE,20,S,Y *GET,RES(19,1),NODE,20,S,Z *GET,RES(20,1),NODE,20,S,XY *GET,RES(21,1),NODE,20,S,YZ *GET,RES(22,1),NODE,20,EPEL,Y *GET,RES(23,1),NODE,20,EPEL,Z *GET,RES(24,1),NODE,20,EPEL,XY *GET,RES(25,1),NODE,20,EPEL,YZ *GET,RES(26,1),NODE,20,EPEL,XZ SHELL,BOT *GET,RES(27,1),NODE,20,S,X *GET,RES(28,1),NODE,20,S,Y *GET,RES(29,1),NODE,20,S,Z *GET,RES(30,1),NODE,20,S,XY *GET,RES(31,1),NODE,20,S,YZ *GET,RES(32,1),NODE,20,EPEL,Y *GET,RES(33,1),NODE,20,EPEL,Z *GET,RES(34,1),NODE,20,EPEL,XY *GET,RES(35,1),NODE,20,EPEL,YZ *GET,RES(36,1),ELEM,100,ETAB,NX *GET,RES(37,1),ELEM,100,ETAB,NY ! Hypothesis 2 SET,2,1 ETABLE,TX ,SMISC,1 ETABLE,TY ,SMISC,2 ETABLE,TXY,SMISC,3 ETABLE,MX ,SMISC,4 ETABLE,MY ,SMISC,5 ETABLE,MXY,SMISC,6 ETABLE,NX ,SMISC,7 ETABLE,NY ,SMISC,8 *GET,RES( 1,2),ELEM,100,ETAB,TX *GET,RES( 2,2),ELEM,100,ETAB,TY *GET,RES( 3,2),ELEM,100,ETAB,TXY *GET,RES( 4,2),ELEM,100,ETAB,MX *GET,RES( 5,2),ELEM,100,ETAB,MY *GET,RES( 6,2),ELEM,100,ETAB,MXY SHELL,TOP *GET,RES( 7,2),NODE,20,S,X *GET,RES( 8,2),NODE,20,S,Y *GET,RES( 9,2),NODE,20,S,Z *GET,RES(10,2),NODE,20,S,XY *GET,RES(11,2),NODE,20,S,YZ *GET,RES(12,2),NODE,20,EPEL,X *GET,RES(13,2),NODE,20,EPEL,Y *GET,RES(14,2),NODE,20,EPEL,Z *GET,RES(15,2),NODE,20,EPEL,XY *GET,RES(16,2),NODE,20,EPEL,YZ SHELL,MID *GET,RES(17,2),NODE,20,S,X *GET,RES(18,2),NODE,20,S,Y *GET,RES(19,2),NODE,20,S,Z *GET,RES(20,2),NODE,20,S,XY *GET,RES(21,2),NODE,20,S,YZ *GET,RES(22,2),NODE,20,EPEL,Y *GET,RES(23,2),NODE,20,EPEL,Z *GET,RES(24,2),NODE,20,EPEL,XY *GET,RES(25,2),NODE,20,EPEL,YZ *GET,RES(26,2),NODE,20,EPEL,XZ SHELL,BOT *GET,RES(27,2),NODE,20,S,X *GET,RES(28,2),NODE,20,S,Y *GET,RES(29,2),NODE,20,S,Z *GET,RES(30,2),NODE,20,S,XY *GET,RES(31,2),NODE,20,S,YZ *GET,RES(32,2),NODE,20,EPEL,Y *GET,RES(33,2),NODE,20,EPEL,Z *GET,RES(34,2),NODE,20,EPEL,XY *GET,RES(35,2),NODE,20,EPEL,YZ *GET,RES(36,2),ELEM,100,ETAB,NX *GET,RES(37,2),ELEM,100,ETAB,NY ! --------------------------------------------------------------------------------- ! Definition and solving of combinations ! --------------------------------------------------------------------------------- ! Reset combinations module ~CMBCLR ! Targets definition ~TRGDEF,45,SHELL,T,Y,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 comparison number NComp = 44 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,NComp VALUE(I,1)=RES(I,1)+RES(I,2) *ENDDO ! Obtained values !-------------------------------------------------------------------------------------- ! Point to combined data ~CMBDAT,2 ~CFSET,,10,45 ETABLE,TX ,SMISC,1 ETABLE,TY ,SMISC,2 ETABLE,TXY,SMISC,3 ETABLE,MX ,SMISC,4 ETABLE,MY ,SMISC,5 ETABLE,MXY,SMISC,6 ETABLE,NX ,SMISC,7 ETABLE,NY ,SMISC,8 *GET,VALUE( 1,2),ELEM,100,ETAB,TX *GET,VALUE( 2,2),ELEM,100,ETAB,TY *GET,VALUE( 3,2),ELEM,100,ETAB,TXY *GET,VALUE( 4,2),ELEM,100,ETAB,MX *GET,VALUE( 5,2),ELEM,100,ETAB,MY *GET,VALUE( 6,2),ELEM,100,ETAB,MXY SHELL,TOP *GET,VALUE( 7,2),NODE,20,S,X *GET,VALUE( 8,2),NODE,20,S,Y *GET,VALUE( 9,2),NODE,20,S,Z *GET,VALUE(10,2),NODE,20,S,XY *GET,VALUE(11,2),NODE,20,S,YZ *GET,VALUE(12,2),NODE,20,EPEL,X *GET,VALUE(13,2),NODE,20,EPEL,Y *GET,VALUE(14,2),NODE,20,EPEL,Z *GET,VALUE(15,2),NODE,20,EPEL,XY *GET,VALUE(16,2),NODE,20,EPEL,YZ SHELL,MID *GET,VALUE(17,2),NODE,20,S,X *GET,VALUE(18,2),NODE,20,S,Y *GET,VALUE(19,2),NODE,20,S,Z *GET,VALUE(20,2),NODE,20,S,XY *GET,VALUE(21,2),NODE,20,S,YZ *GET,VALUE(22,2),NODE,20,EPEL,Y *GET,VALUE(23,2),NODE,20,EPEL,Z *GET,VALUE(24,2),NODE,20,EPEL,XY *GET,VALUE(25,2),NODE,20,EPEL,YZ *GET,VALUE(26,2),NODE,20,EPEL,XZ SHELL,BOT *GET,VALUE(27,2),NODE,20,S,X *GET,VALUE(28,2),NODE,20,S,Y *GET,VALUE(29,2),NODE,20,S,Z *GET,VALUE(30,2),NODE,20,S,XY *GET,VALUE(31,2),NODE,20,S,YZ *GET,VALUE(32,2),NODE,20,EPEL,Y *GET,VALUE(33,2),NODE,20,EPEL,Z *GET,VALUE(34,2),NODE,20,EPEL,XY *GET,VALUE(35,2),NODE,20,EPEL,YZ *GET,VALUE(36,2),ELEM,100,ETAB,NX *GET,VALUE(37,2),ELEM,100,ETAB,NY ! Warning and error tolerances TOLER( 1, 1)= 1E-03 $ TOLER( 1, 2)= 1E-02 TOLER( 2, 1)= 1E-03 $ TOLER( 2, 2)= 1E-02 TOLER( 3, 1)= 1E-03 $ TOLER( 3, 2)= 1E-02 TOLER( 4, 1)= 1E-07 $ TOLER( 4, 2)= 1E-06 TOLER( 5, 1)= 1E-06 $ TOLER( 5, 2)= 1E-05 TOLER( 6, 1)= 1E-05 $ TOLER( 6, 2)= 1E-04 TOLER( 7, 1)= 1E-02 $ TOLER( 7, 2)= 1E-01 TOLER( 8, 1)= 1E-02 $ TOLER( 8, 2)= 1E-01 TOLER( 9, 1)= 1E-13 $ TOLER( 9, 2)= 1E-13 TOLER(10, 1)= 1E-11 $ TOLER(10, 2)= 1E-11 TOLER(11, 1)= 1E-03 $ TOLER(11, 2)= 1E-02 TOLER(12, 1)= 1E-20 $ TOLER(12, 2)= 1E-20 TOLER(13, 1)= 1E-09 $ TOLER(13, 2)= 1E-08 TOLER(14, 1)= 1E-10 $ TOLER(14, 2)= 1E-09 TOLER(15, 1)= 1E-15 $ TOLER(15, 2)= 1E-14 TOLER(16, 1)= 1E-10 $ TOLER(16, 2)= 1E-09 TOLER(17, 1)= 1E-02 $ TOLER(17, 2)= 1E-01 TOLER(18, 1)= 1E-02 $ TOLER(18, 2)= 1E-01 TOLER(19, 1)= 1E-13 $ TOLER(19, 2)= 1E-13 TOLER(20, 1)= 1E-11 $ TOLER(20, 2)= 1E-11 TOLER(21, 1)= 1E-03 $ TOLER(21, 2)= 1E-02 TOLER(22, 1)= 1E-09 $ TOLER(22, 2)= 1E-08 TOLER(23, 1)= 1E-09 $ TOLER(23, 2)= 1E-08 TOLER(24, 1)= 1E-13 $ TOLER(24, 2)= 1E-13 TOLER(25, 1)= 1E-10 $ TOLER(25, 2)= 1E-09 TOLER(26, 1)= 1E-16 $ TOLER(26, 2)= 1E-16 TOLER(27, 1)= 1E-02 $ TOLER(27, 2)= 1E-01 TOLER(28, 1)= 1E-01 $ TOLER(28, 2)= 1E-00 TOLER(29, 1)= 1E-13 $ TOLER(29, 2)= 1E-13 TOLER(30, 1)= 1E-13 $ TOLER(30, 2)= 1E-13 TOLER(31, 1)= 1E-03 $ TOLER(31, 2)= 1E-02 TOLER(32, 1)= 1E-09 $ TOLER(32, 2)= 1E-08 TOLER(33, 1)= 1E-09 $ TOLER(33, 2)= 1E-08 TOLER(34, 1)= 1E-13 $ TOLER(34, 2)= 1E-13 TOLER(35, 1)= 1E-04 $ TOLER(35, 2)= 1E-03 TOLER(36, 1)= 1E-02 $ TOLER(36, 2)= 1E-02 TOLER(37, 1)= 1E-02 $ TOLER(37, 2)= 1E-02 !-------------------------------------------------------------------------------------- ! Results comparison !-------------------------------------------------------------------------------------- COMPARA.MAC |
Results
| Label | Target | CivilFEM | Ratio | Tolerance |
| TEST1 | 25023 | 25023 | 1.000 | 0.01 |
| TEST2 | 83411 | 83411 | 1.000 | 0.01 |
| TEST3 | 48452 | 48452 | 1.000 | 0.01 |
| TEST4 | -6.1532 | -6.1532 | 1.000 | 1e-006 |
| TEST5 | -20.511 | -20.511 | 1.000 | 1e-005 |
| TEST6 | -110.58 | -110.58 | 1.000 | 0.0001 |
| TEST7 | 1.3667e+005 | 1.3667e+005 | 1.000 | 0.1 |
| TEST8 | 4.5555e+005 | 4.5555e+005 | 1.000 | 0.1 |
| TEST9 | 0 | 0 | 0.000 | 1e-013 |
| TEST10 | 0 | 0 | 0.000 | 1e-011 |
| TEST11 | -13611 | -13611 | 1.000 | 0.01 |
| TEST12 | 4.0226e-015 | 4.0226e-015 | 1.000 | 1e-020 |
| TEST13 | 0.13818 | 0.13818 | 1.000 | 1e-008 |
| TEST14 | -0.059222 | -0.059222 | 1.000 | 1e-009 |
| TEST15 | 0 | 0 | 0.000 | 1e-014 |
| TEST16 | -0.011796 | -0.011796 | 1.000 | 1e-009 |
| TEST17 | 2.5078e+005 | 2.5078e+005 | 1.000 | 0.1 |
| TEST18 | 8.3592e+005 | 8.3592e+005 | 1.000 | 0.1 |
| TEST19 | 0 | 0 | 0.000 | 1e-013 |
| TEST20 | 0 | 0 | 0.000 | 1e-011 |
| TEST21 | -13611 | -13611 | 1.000 | 0.01 |
| TEST22 | 0.25356 | 0.25356 | 1.000 | 1e-008 |
| TEST23 | -0.10867 | -0.10867 | 1.000 | 1e-008 |
| TEST24 | 0 | 0 | 0.000 | 1e-013 |
| TEST25 | -0.011796 | -0.011796 | 1.000 | 1e-009 |
| TEST26 | 7.4284e-017 | 7.4593e-017 | 0.996 | 1e-016 |
| TEST27 | 3.6489e+005 | 3.6489e+005 | 1.000 | 0.1 |
| TEST28 | 1.2163e+006 | 1.2163e+006 | 1.000 | 1 |
| TEST29 | 0 | 0 | 0.000 | 1e-013 |
| TEST30 | 0 | 0 | 0.000 | 1e-013 |
| TEST31 | -13611 | -13611 | 1.000 | 0.01 |
| TEST32 | 0.36894 | 0.36894 | 1.000 | 1e-008 |
| TEST33 | -0.15812 | -0.15812 | 1.000 | 1e-008 |
| TEST34 | 0 | 0 | 0.000 | 1e-013 |
| TEST35 | -0.011796 | -0.011796 | 1.000 | 0.001 |
| TEST36 | 1178.8 | 1178.8 | 1.000 | 0.01 |
| TEST37 | -83.849 | -83.849 | 1.000 | 0.01 |
| TEST38 | 0 | 0 | 0.000 | 0 |
| TEST39 | 0 | 0 | 0.000 | 0 |
| TEST40 | 0 | 0 | 0.000 | 0 |
| TEST41 | 0 | 0 | 0.000 | 0 |
| TEST42 | 0 | 0 | 0.000 | 0 |
| TEST43 | 0 | 0 | 0.000 | 0 |
| TEST44 | 0 | 0 | 0.000 | 0 |
Contains proprietary and confidential information of Ingeciber, S.A.

