CFVR0821 - 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 PLANE42 elements.
- Date handle with unsorted numeration (elements, load steps...)
The load cases are:
- Load Step 1, Sub Step 1: Imposed movement in X direction on a corner (node 30) of 1 meter.
- Load Step 2, Sub Step 1: Imposed movement in Y direction on a corner (node 30) of 1 meter.
The target for the combinations is:
- Target 45; Maximum stress in X direction
- Combination rule 10: ADDITION: H1+H2
Element types used in the model: PLANE42 Needed CivilFEM Modules: |
|
| Model Statistics | |
| Number of elements | 2 |
| Number of nodes | 6 |
| Number of civil materials | 0 |
| Number of cross sections | 0 |
| Number of shell vertices | 0 |
Log file: CFVR0821.DAT
FINISH ~CFCLEAR,,1 AnsLic='ansys' NomFile='CFVR0821' /TITLE, %NomFile%, Combination module test with PLANE42 ! --------------------------------------------------------------------------------- ! Model definition and solve ! --------------------------------------------------------------------------------- /PREP7 ! Materials MP,EX,5,3E6 MP,NUXY,5,0.2 ! Element types ET,2,PLANE42 ! 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 $ TYPE,2 EN,100, 10, 20, 50, 40 EN,200, 20, 30, 60, 50 ! Boundary conditions D,10,ALL D,40,ALL ! Initial hypothesis solve /SOLU ! Hypothesis 1: /TITLE, Hypothesis 1 OUTRES,ALL,ALL D,30,UX,1 SOLVE DDELE,30,ALL ! Hypothesis 2: /TITLE, Hypothesis 2 OUTRES,ALL,ALL D,30,UY,1 SOLVE DDELE,30,ALL /POST1 ! --------------------------------------------------------------------------------- ! Read correct data from simple hypothesis ! --------------------------------------------------------------------------------- Dat=12 ! Number of data to check RES= *DIM,RES,,Dat,2 ! Load data of each simple hypothesis ! Hypothesis 1 SET,1,1 *GET,RES( 1,1),NODE,30,S,X *GET,RES( 2,1),NODE,30,S,Y *GET,RES( 3,1),NODE,30,S,Z *GET,RES( 4,1),NODE,30,S,XY *GET,RES( 5,1),NODE,30,S,YZ *GET,RES( 6,1),NODE,30,S,XZ *GET,RES( 7,1),NODE,30,EPEL,X *GET,RES( 8,1),NODE,30,EPEL,Y *GET,RES( 9,1),NODE,30,EPEL,Z *GET,RES(10,1),NODE,30,EPEL,XY *GET,RES(11,1),NODE,30,EPEL,YZ *GET,RES(12,1),NODE,30,EPEL,XZ ! Hypothesis 2 SET,2,1 *GET,RES( 1,2),NODE,30,S,X *GET,RES( 2,2),NODE,30,S,Y *GET,RES( 3,2),NODE,30,S,Z *GET,RES( 4,2),NODE,30,S,XY *GET,RES( 5,2),NODE,30,S,YZ *GET,RES( 6,2),NODE,30,S,XZ *GET,RES( 7,2),NODE,30,EPEL,X *GET,RES( 8,2),NODE,30,EPEL,Y *GET,RES( 9,2),NODE,30,EPEL,Z *GET,RES(10,2),NODE,30,EPEL,XY *GET,RES(11,2),NODE,30,EPEL,YZ *GET,RES(12,2),NODE,30,EPEL,XZ ! --------------------------------------------------------------------------------- ! Definition and solving of combinations ! --------------------------------------------------------------------------------- ! Reset combinations module ~CMBCLR ! Targets definition ~TRGDEF,45,SOLID,S,X,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 = 12 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 *GET,VALUE( 1,2),NODE,30,S,X *GET,VALUE( 2,2),NODE,30,S,Y *GET,VALUE( 3,2),NODE,30,S,Z *GET,VALUE( 4,2),NODE,30,S,XY *GET,VALUE( 5,2),NODE,30,S,YZ *GET,VALUE( 6,2),NODE,30,S,XZ *GET,VALUE( 7,2),NODE,30,EPEL,X *GET,VALUE( 8,2),NODE,30,EPEL,Y *GET,VALUE( 9,2),NODE,30,EPEL,Z *GET,VALUE(10,2),NODE,30,EPEL,XY *GET,VALUE(11,2),NODE,30,EPEL,YZ *GET,VALUE(12,2),NODE,30,EPEL,XZ ! Warning and error tolerances TOLER( 1, 1)= 1E-01 $ TOLER( 1, 2)= 1E-00 TOLER( 2, 1)= 1E-02 $ TOLER( 2, 2)= 1E-01 TOLER( 3, 1)= 1E-15 $ TOLER( 3, 2)= 1E-14 TOLER( 4, 1)= 1E-02 $ TOLER( 4, 2)= 1E-01 TOLER( 5, 1)= 1E-15 $ TOLER( 5, 2)= 1E-14 TOLER( 6, 1)= 1E-15 $ TOLER( 6, 2)= 1E-14 TOLER( 7, 1)= 1E-09 $ TOLER( 7, 2)= 1E-08 TOLER( 8, 1)= 1E-09 $ TOLER( 8, 2)= 1E-08 TOLER( 9, 1)= 1E-09 $ TOLER( 9, 2)= 1E-08 TOLER(10, 1)= 1E-09 $ TOLER(10, 2)= 1E-08 TOLER(11, 1)= 1E-15 $ TOLER(11, 2)= 1E-14 TOLER(12, 1)= 1E-15 $ TOLER(12, 2)= 1E-14 !-------------------------------------------------------------------------------------- ! Results comparison !-------------------------------------------------------------------------------------- COMPARA.MAC |
Results
| Label | Target | CivilFEM | Ratio | Tolerance |
| TEST1 | 1.8012e+006 | 1.8012e+006 | 1.000 | 1 |
| TEST2 | -3.7379e+005 | -3.7379e+005 | 1.000 | 0.1 |
| TEST3 | 0 | 0 | 0.000 | 1e-014 |
| TEST4 | 1.4954e+005 | 1.4954e+005 | 1.000 | 0.1 |
| TEST5 | 0 | 0 | 0.000 | 1e-014 |
| TEST6 | 0 | 0 | 0.000 | 1e-014 |
| TEST7 | 0.62533 | 0.62533 | 1.000 | 1e-008 |
| TEST8 | -0.24468 | -0.24468 | 1.000 | 1e-008 |
| TEST9 | -0.095162 | -0.095162 | 1.000 | 1e-008 |
| TEST10 | 0.11963 | 0.11963 | 1.000 | 1e-008 |
| TEST11 | 0 | 0 | 0.000 | 1e-014 |
| TEST12 | 0 | 0 | 0.000 | 1e-014 |
Contains proprietary and confidential information of Ingeciber, S.A.

