Left

CivilFEM Online Help

Right

CFVR7611 - Solid to Shell: Regular mesh

Test of Solid to Shell utility on a regular mesh.

Results obtained from a SOLID45 model and a SOLID95 model (both with hexaedral elements) are compared with a SHELL181 elements model. The models are all the same: 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: SOLID45, SOLID95, SHELL181

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 2700
Number of nodes 7334
Number of civil materials 4
Number of cross sections 0
Number of shell vertices 3

Log file: CFVR7611.DAT


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

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

/PREP7
! Preprocessor
! --------------------------------------------------
! Element type
ET,1,SOLID45
ET,2,SOLID95
ET,3,SHELL181

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

! Solid Modeling
Length = 6.0
Width  = 2.0
Thickness = 0.60
El_Size = 0.20
MC = 0.05
Z1 = -5*Thickness
Z2 = Thickness/2
Z3 = 5*Thickness

! Model 0: Shell
K,21,0,0,Z1
K,22,Length,0,Z1
K,23,Length,Width,Z1
K,24,0,Width,Z1
A,21,22,23,24
~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,181,,,,Shell 1

! Model 1: Solid45
K,1,0,0,Z2-Thickness/2
K,2,Length,0,Z2-Thickness/2
K,3,Length,Width,Z2-Thickness/2
K,4,0,Width,Z2-Thickness/2
K,5,0,0,Z2+Thickness/2
K,6,Length,0,Z2+Thickness/2
K,7,Length,Width,Z2+Thickness/2
K,8,0,Width,Z2+Thickness/2
V,1,2,3,4,5,6,7,8

! Model 2: Solid45
K,11,0,0,Z3-Thickness/2
K,12,Length,0,Z3-Thickness/2
K,13,Length,Width,Z3-Thickness/2
K,14,0,Width,Z3-Thickness/2
K,15,0,0,Z3+Thickness/2
K,16,Length,0,Z3+Thickness/2
K,17,Length,Width,Z3+Thickness/2
K,18,0,Width,Z3+Thickness/2
V,11,12,13,14,15,16,17,18

! Mesh
ESIZE,El_Size
MAT,1
TYPE,1
VMESH,1
TYPE,2
VMESH,2
TYPE,3
SECNUM,10
AMESH,1

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

! Solid To Shell Model 1
VSEL,S,VOLU,,1
ESLV,S
CM,ELEM_M1,ELEM
NSEL,S,LOC,Z,Z2+Thickness/2
CM,NODE_M1,NODE
~SD2SH,NODE_M1,ELEM_M1,,,2,MC,,,0.01

! Solid To Shell Model 2
VSEL,S,VOLU,,2
ESLV,S
CM,ELEM_M2,ELEM
NSEL,S,LOC,Z,Z3+Thickness/2
CM,NODE_M2,NODE
~SD2SH,NODE_M2,ELEM_M2,,,2,MC,,,0.01

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

/POST1
ESEL,S,ENAME,,181
NSLE,S
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 16*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
    *DO,JJ,1,2
    LABEL(group+1) = 'TX_%JJ%'
    LABEL(group+2) = 'TY_%JJ%'
    LABEL(group+3) = 'TXY_%JJ%'
    LABEL(group+4) = 'NX_%JJ%'
    LABEL(group+5) = 'NY_%JJ%'
    LABEL(group+6) = 'MX_%JJ%'
    LABEL(group+7) = 'MY_%JJ%'
    LABEL(group+8) = 'MXY_%JJ%'
    group = group + 8
    *ENDDO
  *ENDDO

! Correct data, obtained data
!--------------------------------------------------------------------------------------
  ESEL,S,ENAME,,181
  NSLE
  NSEL,R,LOC,X,Length/3
  NSEL,R,LOC,Y,Width/2
  ESLN,R
  CM,ElemSet,ELEM

  ~CFSET,,1
  elemn1 = 0
  elemn2 = 0
  elemn3 = 0
  *DO,II,1,4
    group=16*(II-1)
    CMSEL,S,ElemSet
    NSLE,S
    NSEL,R,LOC,Z,Z1
    ESLN,R
    elemn1 = ELNEXT(elemn1)
    ~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
    ESEL,S,ELEM,,elemn1
    NSLE,S
    Node1 = NDNEXT(0)
    Node2 = NDNEXT(Node1)
    Node3 = NDNEXT(Node2)
    CMSEL,S,ElemSet
    NSLE,S
    Node1n = NODE(NX(Node1),NY(Node1),Z2)
    Node2n = NODE(NX(Node2),NY(Node2),Z2)
    Node3n = NODE(NX(Node3),NY(Node3),Z2)
    ESLN,R
    NSEL,S,NODE,,Node1n
    ESLN,R
    NSEL,S,NODE,,Node2n
    ESLN,R
    NSEL,S,NODE,,Node3n
    ESLN,R
    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
    VALUE(group+9,1) = VALUE(group+1,1)
    VALUE(group+10,1) = VALUE(group+2,1)
    VALUE(group+11,1) = VALUE(group+3,1)
    VALUE(group+12,1) = VALUE(group+4,1)
    VALUE(group+13,1) = VALUE(group+5,1)
    VALUE(group+14,1) = VALUE(group+6,1)
    VALUE(group+15,1) = VALUE(group+7,1)
    VALUE(group+16,1) = VALUE(group+8,1)
    CMSEL,S,ElemSet
    NSLE,S
    Node1n = NODE(NX(Node1),NY(Node1),Z3)
    Node2n = NODE(NX(Node2),NY(Node2),Z3)
    Node3n = NODE(NX(Node3),NY(Node3),Z3)
    ESLN,R
    NSEL,S,NODE,,Node1n
    ESLN,R
    NSEL,S,NODE,,Node2n
    ESLN,R
    NSEL,S,NODE,,Node3n
    ESLN,R
    elemn3 = ELNEXT(0)
    ~CFGET,VALUE(group+ 9,2),ELEMENT,elemn3,FORCE,TX,I
    ~CFGET,VALUE(group+10,2),ELEMENT,elemn3,FORCE,TY,I
    ~CFGET,VALUE(group+11,2),ELEMENT,elemn3,FORCE,TXY,I
    ~CFGET,VALUE(group+12,2),ELEMENT,elemn3,FORCE,NX,I
    ~CFGET,VALUE(group+13,2),ELEMENT,elemn3,FORCE,NY,I
    ~CFGET,VALUE(group+14,2),ELEMENT,elemn3,FORCE,MX,I
    ~CFGET,VALUE(group+15,2),ELEMENT,elemn3,FORCE,MY,I
    ~CFGET,VALUE(group+16,2),ELEMENT,elemn3,FORCE,MXY,I
  *ENDDO

! Warning and error tolerances
!------------------------------------------------------------------------------
   *DO,II,1,NComp
     TOLER(II,1)= 1E2 $ TOLER(II,2)= 1E2
   *ENDDO
   TOLER( 4,1)= 1E3 $ TOLER( 4,2)= 1E3
   TOLER( 5,1)= 1E3 $ TOLER( 5,2)= 1E3
   TOLER( 6,1)= 1E1 $ TOLER( 6,2)= 1E1
   TOLER(10,1)= 1E3 $ TOLER(10,2)= 1E3
   TOLER(12,1)= 1E3 $ TOLER(12,2)= 1E3
   TOLER(13,1)= 1E3 $ TOLER(13,2)= 1E3
   TOLER(14,1)= 2E1 $ TOLER(14,2)= 2E1   
   TOLER(21,1)= 1E3 $ TOLER(21,2)= 1E3
   TOLER(22,1)= 2E1 $ TOLER(22,2)= 2E1
   TOLER(26,1)= 1E3 $ TOLER(26,2)= 1E3
   TOLER(28,1)= 1E3 $ TOLER(28,2)= 1E3
   TOLER(29,1)= 1E3 $ TOLER(29,2)= 1E3
   TOLER(30,1)= 2E1 $ TOLER(30,2)= 2E1
   TOLER(37,1)= 1E3 $ TOLER(37,2)= 1E3
   TOLER(38,1)= 5E1 $ TOLER(38,2)= 5E1
   TOLER(42,1)= 1E3 $ TOLER(42,2)= 1E3
   TOLER(45,1)= 1E3 $ TOLER(45,2)= 1E3   
   TOLER(58,1)= 1E3 $ TOLER(58,2)= 1E3
   TOLER(60,1)= 1E3 $ TOLER(60,2)= 1E3
   TOLER(61,1)= 1E3 $ TOLER(61,2)= 1E3

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

Results

LabelTargetCivilFEMRatioTolerance
TX_1 -12470 -125220.996 100
TY_1 -17922 -178901.002 100
TXY_1 -9969.7 -9934.21.004 100
NX_1 1938.2 1991.80.972 1000
NY_1 -11219 -112181.000 1000
MX_1 607.24 604.631.004 10
MY_1 -3989.1 -3956.81.008 100
MXY_1 -3674 -36691.001 100
TX_2 -12470 -125620.993 100
TY_2 -17922 -178631.003 1000
TXY_2 -9969.7 -9940.91.003 100
NX_2 1938.2 1868.91.036 1000
NY_2 -11219 -113220.991 1000
MX_2 607.24 618.70.981 20
MY_2 -3989.1 -3936.31.013 100
MXY_2 -3674 -3661.11.004 100
TX_1 -11749 -117860.997 100
TY_1 -18189 -181641.001 100
TXY_1 -10497 -104621.003 100
NX_1 2217.8 2264.80.979 100
NY_1 -12225 -122301.000 1000
MX_1 549.5 543.081.012 20
MY_1 -4454.8 -4424.61.007 100
MXY_1 -3374.5 -3368.11.002 100
TX_2 -11749 -118180.994 100
TY_2 -18189 -181381.003 1000
TXY_2 -10497 -104701.002 100
NX_2 2217.8 2152.51.030 1000
NY_2 -12225 -123370.991 1000
MX_2 549.5 560.110.981 20
MY_2 -4454.8 -44001.012 100
MXY_2 -3374.5 -3361.51.004 100
TX_1 -13748 -137910.997 100
TY_1 -14456 -144281.002 100
TXY_1 -7807.2 -7788.21.002 100
NX_1 870.88 927.030.936 100
NY_1 -8667.1 -8661.11.001 1000
MX_1 1299.5 1298.11.001 50
MY_1 -2293.2 -2263.41.013 100
MXY_1 -3964 -3964.91.000 100
TX_2 -13748 -138330.994 100
TY_2 -14456 -144001.004 1000
TXY_2 -7807.2 -7806.41.000 100
NX_2 870.88 778.391.106 100
NY_2 -8667.1 -8737.50.992 1000
MX_2 1299.5 13090.993 100
MY_2 -2293.2 -2245.21.021 100
MXY_2 -3964 -3941.31.006 100
TX_1 -12886 -129150.998 100
TY_1 -14688 -146661.002 100
TXY_1 -8245.9 -8224.11.003 100
NX_1 1307.3 1358.70.961 100
NY_1 -9503.5 -9503.41.000 100
MX_1 1296 1290.81.004 100
MY_1 -2592.7 -2563.51.011 100
MXY_1 -3655.8 -3655.51.000 100
TX_2 -12886 -129500.995 100
TY_2 -14688 -146381.003 1000
TXY_2 -8245.9 -8241.31.001 100
NX_2 1307.3 1222.11.065 1000
NY_2 -9503.5 -9582.40.992 1000
MX_2 1296 1304.70.993 100
MY_2 -2592.7 -2542.11.020 100
MXY_2 -3655.8 -3633.91.006 100


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