Left

CivilFEM Online Help

Right

CFVR7612 - Solid to Shell: Irregular mesh

Test of Solid to Shell utility on an irregular mesh.

Results obtained from a SOLID95 model with tetrahedral elements are compared with a SHELL281 elements model. The models are equivalent: rectangular slab with all the degrees of freedom restrained on two adjacent sides.
The load is an acceleration of 10 m/s2 on the three directions (X, Y and Z).

Element types used in the model: SOLID95, SHELL281, MESH200

Needed CivilFEM Modules:
Geotechnical Module
Bridges and Civil Non Linearities Module
Advanced Prestressed Concrete Module

The example cannot be launched on an educational license.
KEYWORDS
Shell

Model Statistics
Number of elements 5467
Number of nodes 8631
Number of civil materials 3
Number of cross sections 0
Number of shell vertices 2

Log file: CFVR7612.DAT


   FINISH
  ~CFCLEAR,,1
  NomFile='CFVR7612'
  /TITLE, %NomFile%, Solid to Shell: Irregular mesh

! ---------------------------------------------------------------------------------
! Model definition
! ---------------------------------------------------------------------------------
! CivilFEM Setup: Units
~UNITS,SI              ! Set International System units

/PREP7
! Preprocessor
! --------------------------------------------------
! Element type
ET,1,SOLID95
ET,2,SHELL281

! Materials
~CFMP,1,LIB,CONCRETE,EC2,C20/25
~CFMP,2,LIB,REINF,EC2,S400

! Solid Modeling
Length = 2.0
Width  = 1.0
Thickness = 0.30
El_Size = 0.10
MC = 0.05
Z3 = 5*Thickness

! Model 0: Shell
~SHLRNF,1,Thickness,1,2,MC,0.0,0.0,0.0,0.0,0,0.0,45.0
~BMSHPRO,10,SHELL,1,1,1,1,281,,,,Shell 1

! Model 1: Solid45
NREAD,NL7612,txt
EREAD,EL7612,txt

! Boundary conditions
NSEL,S,LOC,X,0
NSEL,A,LOC,Y,0
D,ALL,ALL,0
NSEL,ALL

! Solid To Shell Model 1
NSEL,S,LOC,Z,Z3-Thickness/2,Z3+Thickness/2
ESLN,S
CM,ELEM_M1,ELEM
NSEL,S,LOC,Z,Z3+Thickness/2
CM,NODE_M1,NODE
~SD2SH,NODE_M1,ELEM_M1,,,2,MC,,,0.01

! Change element axis
LOCAL,11
ESEL,S,ENAME,,181
ESEL,A,ENAME,,281
NSLE,S
EMODIF,ALL,ESYS,11
ALLSEL

! Loads and solve
/SOLU
ACEL,10,10,10
ALLSEL
SOLVE

/POST1
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 8*4
  NComp_ch = 0

! Marix dim.
  *DIM,LABEL,CHAR,Ncomp,1
  *DIM,LABEL_CH,CHAR,Ncomp_ch,1
  *DIM,VALUE,,Ncomp,3
  *DIM,VALUE_CH,CHAR,Ncomp_ch,3
  *DIM,TOLER,,Ncomp,2


! Labels
  group = 0
  *DO,II,1,4
    LABEL(group+1) = 'TX'
    LABEL(group+2) = 'TY'
    LABEL(group+3) = 'TXY'
    LABEL(group+4) = 'NX'
    LABEL(group+5) = 'NY'
    LABEL(group+6) = 'MX'
    LABEL(group+7) = 'MY'
    LABEL(group+8) = 'MXY'
    group = group + 8
  *ENDDO

! Correct data, obtained data
!--------------------------------------------------------------------------------------
 ~CFSET,,1

 group = 0
 Node1 = NODE( 1.0275,0.54307,0)
 Node2 = NODE(0.98656,0.64038,0)
 Node3 = NODE( 1.0886,0.63862,0)
 NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
	elemn1 = ELNEXT(0)
 ~CFGET,VALUE(group+1,1),ELEMENT,elemn1,FORCE,TX,I
 ~CFGET,VALUE(group+2,1),ELEMENT,elemn1,FORCE,TY,I
 ~CFGET,VALUE(group+3,1),ELEMENT,elemn1,FORCE,TXY,I
 ~CFGET,VALUE(group+4,1),ELEMENT,elemn1,FORCE,NX,I
 ~CFGET,VALUE(group+5,1),ELEMENT,elemn1,FORCE,NY,I
 ~CFGET,VALUE(group+6,1),ELEMENT,elemn1,FORCE,MX,I
 ~CFGET,VALUE(group+7,1),ELEMENT,elemn1,FORCE,MY,I
 ~CFGET,VALUE(group+8,1),ELEMENT,elemn1,FORCE,MXY,I
 ALLSEL,ALL
	Node1 = NODE( 1.0275,0.54307,Z3)
	Node2 = NODE(0.98656,0.64038,Z3)
	Node3 = NODE( 1.0886,0.63862,Z3)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
 elemn2 = ELNEXT(0)
 ~CFGET,VALUE(group+1,2),ELEMENT,elemn2,FORCE,TX,I
 ~CFGET,VALUE(group+2,2),ELEMENT,elemn2,FORCE,TY,I
 ~CFGET,VALUE(group+3,2),ELEMENT,elemn2,FORCE,TXY,I
 ~CFGET,VALUE(group+4,2),ELEMENT,elemn2,FORCE,NX,I
 ~CFGET,VALUE(group+5,2),ELEMENT,elemn2,FORCE,NY,I
 ~CFGET,VALUE(group+6,2),ELEMENT,elemn2,FORCE,MX,I
 ~CFGET,VALUE(group+7,2),ELEMENT,elemn2,FORCE,MY,I
 ~CFGET,VALUE(group+8,2),ELEMENT,elemn2,FORCE,MXY,I
	ALLSEL,ALL
	group=group+8
 Node1 = NODE(1.0275,0.54307,0)
	Node2 = NODE(1.0886,0.63862,0)
	Node3 = NODE(1.1320,0.53934,0)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
	elemn1 = ELNEXT(0)
 ~CFGET,VALUE(group+1,1),ELEMENT,elemn1,FORCE,TX,I
 ~CFGET,VALUE(group+2,1),ELEMENT,elemn1,FORCE,TY,I
 ~CFGET,VALUE(group+3,1),ELEMENT,elemn1,FORCE,TXY,I
 ~CFGET,VALUE(group+4,1),ELEMENT,elemn1,FORCE,NX,I
 ~CFGET,VALUE(group+5,1),ELEMENT,elemn1,FORCE,NY,I
 ~CFGET,VALUE(group+6,1),ELEMENT,elemn1,FORCE,MX,I
 ~CFGET,VALUE(group+7,1),ELEMENT,elemn1,FORCE,MY,I
 ~CFGET,VALUE(group+8,1),ELEMENT,elemn1,FORCE,MXY,I
 ALLSEL,ALL
	Node1 = NODE(1.0275,0.54307,Z3)
	Node2 = NODE(1.0886,0.63862,Z3)
	Node3 = NODE(1.1320,0.53934,Z3)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
 elemn2 = ELNEXT(0)
 ~CFGET,VALUE(group+1,2),ELEMENT,elemn2,FORCE,TX,I
 ~CFGET,VALUE(group+2,2),ELEMENT,elemn2,FORCE,TY,I
 ~CFGET,VALUE(group+3,2),ELEMENT,elemn2,FORCE,TXY,I
 ~CFGET,VALUE(group+4,2),ELEMENT,elemn2,FORCE,NX,I
 ~CFGET,VALUE(group+5,2),ELEMENT,elemn2,FORCE,NY,I
 ~CFGET,VALUE(group+6,2),ELEMENT,elemn2,FORCE,MX,I
 ~CFGET,VALUE(group+7,2),ELEMENT,elemn2,FORCE,MY,I
 ~CFGET,VALUE(group+8,2),ELEMENT,elemn2,FORCE,MXY,I
	ALLSEL,ALL
	group=group+8	
	Node1 = NODE(1.0275,0.54307,0)
	Node2 = NODE(1.1320,0.53934,0)
	Node3 = NODE(1.0666,0.44625,0)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
	elemn1 = ELNEXT(0)
 ~CFGET,VALUE(group+1,1),ELEMENT,elemn1,FORCE,TX,I
 ~CFGET,VALUE(group+2,1),ELEMENT,elemn1,FORCE,TY,I
 ~CFGET,VALUE(group+3,1),ELEMENT,elemn1,FORCE,TXY,I
 ~CFGET,VALUE(group+4,1),ELEMENT,elemn1,FORCE,NX,I
 ~CFGET,VALUE(group+5,1),ELEMENT,elemn1,FORCE,NY,I
 ~CFGET,VALUE(group+6,1),ELEMENT,elemn1,FORCE,MX,I
 ~CFGET,VALUE(group+7,1),ELEMENT,elemn1,FORCE,MY,I
 ~CFGET,VALUE(group+8,1),ELEMENT,elemn1,FORCE,MXY,I
 ALLSEL,ALL
	Node1 = NODE(1.0275,0.54307,Z3)
	Node2 = NODE(1.1320,0.53934,Z3)
	Node3 = NODE(1.0666,0.44625,Z3)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
 elemn2 = ELNEXT(0)
 ~CFGET,VALUE(group+1,2),ELEMENT,elemn2,FORCE,TX,I
 ~CFGET,VALUE(group+2,2),ELEMENT,elemn2,FORCE,TY,I
 ~CFGET,VALUE(group+3,2),ELEMENT,elemn2,FORCE,TXY,I
 ~CFGET,VALUE(group+4,2),ELEMENT,elemn2,FORCE,NX,I
 ~CFGET,VALUE(group+5,2),ELEMENT,elemn2,FORCE,NY,I
 ~CFGET,VALUE(group+6,2),ELEMENT,elemn2,FORCE,MX,I
 ~CFGET,VALUE(group+7,2),ELEMENT,elemn2,FORCE,MY,I
 ~CFGET,VALUE(group+8,2),ELEMENT,elemn2,FORCE,MXY,I
	ALLSEL,ALL
	group=group+8	
	Node1 = NODE( 1.0275,0.54307,0)
	Node2 = NODE( 1.0666,0.44625,0)
	Node3 = NODE(0.96761,0.44892,0)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
	elemn1 = ELNEXT(0)
 ~CFGET,VALUE(group+1,1),ELEMENT,elemn1,FORCE,TX,I
 ~CFGET,VALUE(group+2,1),ELEMENT,elemn1,FORCE,TY,I
 ~CFGET,VALUE(group+3,1),ELEMENT,elemn1,FORCE,TXY,I
 ~CFGET,VALUE(group+4,1),ELEMENT,elemn1,FORCE,NX,I
 ~CFGET,VALUE(group+5,1),ELEMENT,elemn1,FORCE,NY,I
 ~CFGET,VALUE(group+6,1),ELEMENT,elemn1,FORCE,MX,I
 ~CFGET,VALUE(group+7,1),ELEMENT,elemn1,FORCE,MY,I
 ~CFGET,VALUE(group+8,1),ELEMENT,elemn1,FORCE,MXY,I
 ALLSEL,ALL
	Node1 = NODE( 1.0275,0.54307,Z3)
	Node2 = NODE( 1.0666,0.44625,Z3)
	Node3 = NODE(0.96761,0.44892,Z3)
	NSEL,S,NODE,,Node1
 NSEL,A,NODE,,Node2
 NSEL,A,NODE,,Node3
 ESLN,S,1,CORNER
 elemn2 = ELNEXT(0)
 ~CFGET,VALUE(group+1,2),ELEMENT,elemn2,FORCE,TX,I
 ~CFGET,VALUE(group+2,2),ELEMENT,elemn2,FORCE,TY,I
 ~CFGET,VALUE(group+3,2),ELEMENT,elemn2,FORCE,TXY,I
 ~CFGET,VALUE(group+4,2),ELEMENT,elemn2,FORCE,NX,I
 ~CFGET,VALUE(group+5,2),ELEMENT,elemn2,FORCE,NY,I
 ~CFGET,VALUE(group+6,2),ELEMENT,elemn2,FORCE,MX,I
 ~CFGET,VALUE(group+7,2),ELEMENT,elemn2,FORCE,MY,I
 ~CFGET,VALUE(group+8,2),ELEMENT,elemn2,FORCE,MXY,I
	
! Warning and error tolerances
!------------------------------------------------------------------------------

! Note: tolerances are greater than 1% because two diferent methods are compared and
!       results can not be equal but must be aproximated. Moreover, the elements have
!       a free course mesh.

   *DO,II,1,NComp
     TOLER(II,1)= 1E2 $ TOLER(II,2)= 1E2
   *ENDDO
   TOLER( 1,1)= 1E3 $ TOLER( 1,2)= 1E3
   TOLER( 5,1)= 1E3 $ TOLER( 5,2)= 1E3
   TOLER( 9,1)= 1E3 $ TOLER( 9,2)= 1E3
   TOLER(10,1)= 1E3 $ TOLER(10,2)= 1E3
   TOLER(11,1)= 1E3 $ TOLER(11,2)= 1E3
   TOLER(13,1)= 1E3 $ TOLER(13,2)= 1E3
   TOLER(18,1)= 1E3 $ TOLER(18,2)= 1E3
   TOLER(21,1)= 1E3 $ TOLER(21,2)= 1E3
   TOLER(27,1)= 1E3 $ TOLER(27,2)= 1E3
   TOLER(29,1)= 1E3 $ TOLER(29,2)= 1E3

!--------------------------------------------------------------------------------------
! Results Comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC

Results

LabelTargetCivilFEMRatioTolerance
TX -3041.1 -3043.20.999 1000
TY -3098.1 -3143.80.985 100
TXY -1724.2 -1771.20.973 100
NX 129.38 144.240.885 100
NY -1926.5 -19300.998 1000
MX 218.27 225.930.965 100
MY -189.73 -180.91.047 100
MXY -442.86 -446.530.992 100
TX -2776.6 -2950.60.937 1000
TY -3363 -3253.31.033 1000
TXY -1911.5 -1625.81.150 1000
NX 252.05 236.511.062 100
NY -2224.6 -2145.61.036 1000
MX 187.66 196.40.953 100
MY -258.19 -255.11.012 100
MXY -417.67 -423.580.986 100
TX -2565.9 -26430.970 100
TY -3888.8 -3901.30.997 1000
TXY -2212.6 -21501.028 100
NX 380.2 371.61.023 100
NY -2649 -2602.71.018 1000
MX 130.67 133.040.982 100
MY -385.06 -373.591.030 100
MXY -406.58 -399.871.017 100
TX -2606 -2685.70.969 100
TY -4150.1 -4122.51.007 100
TXY -2317.1 -21451.074 1000
NX 412.25 399.161.032 100
NY -2745.9 -2652.81.034 1000
MX 107.1 113.550.940 100
MY -430.64 -431.930.997 100
MXY -419.65 -429.660.976 100


Contains proprietary and confidential information of Ingeciber, S.A.