Left

CivilFEM Online Help

Right

CFVR5247 - Prestressed structure with SHELL181 and SOLID45


The model is a prestressed structure 20 m length.
The structure is made of HA-40 concrete with tendons which are made of Y1860S3 steel.
The aim of the example is to verify the calculation of prestressing losses.

Element types used in the model: SHELL181 SOLID45

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

The example can be launched on an educational license.
KEYWORDS
Shell
Tendon
Shell Vertex
Prestressed Concrete

Model Statistics
Number of elements 120
Number of nodes 252
Number of civil materials 2
Number of cross sections 6
Number of shell vertices 1

Log file: CFVR5247.DAT


  FINISH
  ~CFCLEAR,,1

! Modules activation
! --------------------------------------------------
  ~CFACTIV,NLBR,Y
  ~CFACTIV,PRSC,Y
  NomFile='CFVR5247'
  /TITLE, %NomFile%, SHELL181

! Setup
! --------------------------------------------------
  ~CODESEL,,EHE-98,EHE-98
  ~UNITS,SI
  ~CFCONFG,PC,PCA,1

  /VUP,ALL,X

/PREP7

! Element types
  ET,1,SHELL181
  ET,2,SOLID45

! Materials
! --------------------------------------------------
  ~CFMP,1,LIB,CONCRETE,EHE,HA-40
  ~CFMP,3,LIB,PREST,EHE,Y1860S3

 ~SHLRNF,1,1.00,1,0,0.0,0.0,0.0,0.0,0.0,0,0.0,45.0
 ~SHLMDF,1,NAME,,,Shell Vertex 1
 ~BMSHPRO,1,SHELL,1,1,1,1,181,,,0 ,Shell 1

RECTNG,0,3,0,20,
BLOCK,0,3,0,20,5,6,

TYPE,1
MAT,1
REAL,1
ESIZE,1
MSHAPE,0,2D
MSHKEY,1

AMESH,1

TYPE,2
MSHAPE,0,3D
VMESH,1

/ESHAPE,1.0

! Support beam for shell
! ------------------------------------
ASEL,S,LOC,Z,0
ESLA,S
NSLA,S,1

LOCAL,11,,0,0,0,90,,,1,1,
NSEL,R,LOC,X,0
ESLN,R
~SLDSEC,1,1,11,Solid Section 1

ALLSEL,ALL
ASEL,S,LOC,Z,0
ESLA,S
LOCAL,12,,0,10,0,90,,,1,1,
NSEL,R,LOC,X,0,1
ESLN,R,1
NSEL,R,LOC,X,0
~SLDSEC,2,1,12,Solid Section 2

ALLSEL,ALL
ASEL,S,LOC,Z,0
ESLA,S
LOCAL,13,,0,20,0,90,,,1,1,
NSEL,R,LOC,X,0,
ESLN,R
~SLDSEC,3,1,13,Solid Section 3

ALLSEL,ALL
ASEL,S,LOC,Z,0
ESLA,S

CSYS,11

~SBSMDEF,1,3,1

~PCEPDEF,1,1,-0.5,0,0.50
~PCEPDEF,2,2,-2.0,0,0.50
~PCEPDEF,3,3,-0.5,0,0.50

~PCPPDEF,1,1,-0.25,0,0.5
~PCPPDEF,2,2,0,0,0.5
~PCPPDEF,3,3,0.25,0,0.5

~PCTNDEF,1,3,5e-003,13e-002,1000000,,25000

*DO,I,1,3
  ~PCTNMDF,1,EADD,I
  ~PCTNMDF,1,PADD,I
*ENDDO


 ~PCTNMDF,1,EPAROUT,1,3
 ~PCTNMDF,1,EPARIN,2

 ~PCPL

! Support beam for solid
! ------------------------------------

ALLSEL,ALL
CSYS,0
~SBCLEAR

VSEL,S,LOC,Z,5,6
ESLV,S
NSLV,R,1

LOCAL,14,,0,0,5.5,90,,,1,1,
NSEL,R,LOC,X,0
ESLN,R
~SLDSEC,4,1,14,Solid Section 1

ALLSEL,ALL
VSEL,S,LOC,Z,0
ESLV,S
NSLV,R,1
LOCAL,15,,0,10,5.5,90,,,1,1,
NSEL,R,LOC,X,0,1
ESLN,R,1
NSEL,R,LOC,X,0
~SLDSEC,5,1,15,Solid Section 2

ALLSEL,ALL
VSEL,S,LOC,Z,0
ESLV,S
NSLV,R,1
LOCAL,16,,0,20,5.5,90,,,1,1,
NSEL,R,LOC,X,0,
ESLN,R
~SLDSEC,6,1,16,Solid Section 3

ALLSEL,ALL
VSEL,S,LOC,Z,0
ESLV,S
NSLV,R,1

CSYS,14

~SBSMDEF,4,6,1

~PCEPDEF,1,1,-0.5,0,0.50
~PCEPDEF,2,2,-2.0,0,0.50
~PCEPDEF,3,3,-0.5,0,0.50

~PCPPDEF,1,1,-0.25,0,0.5
~PCPPDEF,2,2,0,0,0.5
~PCPPDEF,3,3,0.25,0,0.5

~PCTNDEF,1,3,5e-003,13e-002,1000000,,25000

*DO,I,1,3
  ~PCTNMDF,1,EADD,I
  ~PCTNMDF,1,PADD,I
*ENDDO

 ~PCTNMDF,1,EPAROUT,1,3
 ~PCTNMDF,1,EPARIN,2

 ~PCPL

! Obtain results
! ---------------------------------------------------
ALLSEL,ALL
CSYS,0
*DIM,NODO,ARRAY,8
*DIM,FxShell,ARRAY,4
*DIM,FyShell,ARRAY,4
*DIM,FzShell,ARRAY,4
*DIM,MxShell,ARRAY,4
*DIM,MyShell,ARRAY,4
*DIM,MzShell,ARRAY,4

NODO(1) = NODE(0, 0,0)
NODO(2) = NODE(2, 8,0)
NODO(3) = NODE(2,16,0)
NODO(4) = NODE(1,20,0)

*DO,I,1,4
 *GET,FxShell(I),NODE,NODO(I),F,FX
 *GET,FyShell(I),NODE,NODO(I),F,FY
 *GET,FzShell(I),NODE,NODO(I),F,FZ
 *GET,MxShell(I),NODE,NODO(I),F,MX
 *GET,MyShell(I),NODE,NODO(I),F,MY
 *GET,MzShell(I),NODE,NODO(I),F,MZ
*ENDDO

*DIM,FxNodes,ARRAY,4,2
*DIM,FyNodes,ARRAY,4,2
*DIM,FzNodes,ARRAY,4,2
*DIM,FxSolid,ARRAY,4
*DIM,FySolid,ARRAY,4
*DIM,FzSolid,ARRAY,4
*DIM,MxSolid,ARRAY,4
*DIM,MySolid,ARRAY,4
*DIM,MzSolid,ARRAY,4

NODO(1) = NODE(0, 0,5)
NODO(2) = NODE(2, 8,5)
NODO(3) = NODE(2,16,5)
NODO(4) = NODE(1,20,5)
NODO(5) = NODE(0, 0,6)
NODO(6) = NODE(2, 8,6)
NODO(7) = NODE(2,16,6)
NODO(8) = NODE(1,20,6)

*DO,I,1,4
 *GET,FxNodes(I,1),NODE,NODO(I),F,FX
 *GET,FyNodes(I,1),NODE,NODO(I),F,FY
 *GET,FzNodes(I,1),NODE,NODO(I),F,FZ
 *GET,FxNodes(I,2),NODE,NODO(I+4),F,FX
 *GET,FyNodes(I,2),NODE,NODO(I+4),F,FY
 *GET,FzNodes(I,2),NODE,NODO(I+4),F,FZ
*ENDDO

*DO,I,1,4
  FxSolid(I) = FxNodes(I,1)+FxNodes(I,2)
  FySolid(I) = FyNodes(I,1)+FyNodes(I,2)
  FzSolid(I) = FzNodes(I,1)+FzNodes(I,2)
  MxSolid(I) = 0.5*FyNodes(I,1)-0.5*FyNodes(I,2)
  MySolid(I) =-0.5*FxNodes(I,1)+0.5*FxNodes(I,2)
  MzSolid(I) = 0
*ENDDO

NSEL,S,LOC,Y,20
D,ALL,ALL
ALLSEL,ALL

/SOLU
SOLVE

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp    = 25
  NComp_ch = 0

! Matrix 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
!--------------------------------------------------------------------------------------
  LABEL( 1)  = 'blank'
  LABEL( 2)  = 'Fx_1'
  LABEL( 3)  = 'Fx_2'
  LABEL( 4)  = 'Fx_3'
  LABEL( 5)  = 'Fx_4'
  LABEL( 6)  = 'Fy_1'
  LABEL( 7)  = 'Fy_2'
  LABEL( 8)  = 'Fy_3'
  LABEL( 9)  = 'Fy_4'
  LABEL(10)  = 'Fz_1'
  LABEL(11)  = 'Fz_2'
  LABEL(12)  = 'Fz_3'
  LABEL(13)  = 'Fz_4'
  LABEL(14)  = 'Mx_1'
  LABEL(15)  = 'Mx_2'
  LABEL(16)  = 'Mx_3'
  LABEL(17)  = 'Mx_4'
  LABEL(18)  = 'My_1'
  LABEL(19)  = 'My_2'
  LABEL(20)  = 'My_3'
  LABEL(21)  = 'My_4'
  LABEL(22)  = 'Mz_1'
  LABEL(23)  = 'Mz_2'
  LABEL(24)  = 'Mz_3'
  LABEL(25)  = 'Mz_4'

! Correct data, obtained data
!--------------------------------------------------------------------------------------
  VALUE( 1,1) = 0.0               $  VALUE( 1,2) = 0.0
  *DO,I,1,4
    VALUE( 1+I,1) = FxShell(I)    $  VALUE( 1+I,2) = FxSolid(I)
    VALUE( 5+I,1) = FyShell(I)    $  VALUE( 5+I,2) = FySolid(I)
    VALUE( 9+I,1) = FzShell(I)    $  VALUE( 9+I,2) = FzSolid(I)
    VALUE(13+I,1) = MxShell(I)    $  VALUE(13+I,2) = MxSolid(I)
    VALUE(17+I,1) = MyShell(I)    $  VALUE(17+I,2) = MySolid(I)
    VALUE(21+I,1) = MzShell(I)    $  VALUE(21+I,2) = MzSolid(I)
  *ENDDO

! Warning and error tolerances
  *DO,II,2,NComp
    TOLER(II,1)  = 1E-2
    TOLER(II,2)  = 1E-2
  *ENDDO

!--------------------------------------------------------------------------------------
! Result comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC

Results

LabelTargetCivilFEMRatioTolerance
blank 0 00.000 0
Fx_1 99407 994071.000 0.01
Fx_2 -14199 -141991.000 0.01
Fx_3 -15267 -152671.000 0.01
Fx_4 99390 993901.000 0.01
Fy_12.0791e+0052.0791e+0051.000 0.01
Fy_2 -1066.8 -1066.81.000 0.01
Fy_3 -7968 -79681.000 0.01
Fy_4-2.7418e+005-2.7418e+0051.000 0.01
Fz_1 -73817 -738171.000 0.01
Fz_2 -6923 -69231.000 0.01
Fz_3 780.36 780.361.000 0.01
Fz_4 40685 406851.000 0.01
Mx_1 29629 296291.000 0.01
Mx_2 350.46 350.461.000 0.01
Mx_3 1.1799 1.17991.000 0.01
Mx_4 29629 296291.000 0.01
My_1 -8283.9 -8283.91.000 0.01
My_2 1037.1 1037.11.000 0.01
My_3 -2243.1 -2243.11.000 0.01
My_4 8282.5 8282.51.000 0.01
Mz_1 0 00.000 0.01
Mz_2 0 00.000 0.01
Mz_3 0 00.000 0.01
Mz_4 0 00.000 0.01


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