TALK=F;RUN( 1, 1)
 
 ************************************************************
   Q1 created by VDI menu, Version 2007, Date 16/01/07
 CPVNAM=VDI;SPPNAM=Core
 ************************************************************
  Echo DISPLAY / USE settings
  DISPLAY
    A rectangular plate with a centrally-placed CIRCULAR hole is
  extended by uniform equal forces on its Top and Bottom
  surfaces, which are allowed to distort.
  By reason of symmetry, only one quarter of the plate is analysed.
  For calculation is used POLAR coordinates and Boundary Flow
  Cells.
  Comparison - a analytical solution (Timoshenko )
 
  Boundary Condition:
  ===================
 
  V ( UR) :
  ---------
  Y = RO :   StrY = FX/2*(1-RI^2/RO^2) + FX/2*(1 + 3*RI^4/RO^4 -
      4*RI^2/RO^2)*COS(2*X)
 
  U ( UTeta) :
  ------------
  X = 0, PI/2 :  U = 0,
  Y = RO      :  StXY = - FX/2 * (1 - 3*RI^4/RO^4 + 2*RI^2/RO^2)
      *SIN(2*X)
 
  Exact Solution:
  ===============
  Displacements
  -------------
  V = FX/(2*E)* R* {(1-P) + RI^2/R^2*(1+P) + [(1 - RI^4/R^4)*(1+P)
      + 4*RI^2/R^2]*COS(2*X) }
  U = -FX/(2*E)* R* [(1 + RI^4/R^4)*(1+P) + 2*RI^2/R^2*(1-P)]*
       SIN(2*X)
 
  Strains
  -------
  EpsY  = FX/(2*E)* {(1-P) - RI^2/R^2*(1+P) + [(1+P)*(1 +
          3*RI^4/R^4) - 4*RI^2/R^2]*COS(2*X)}
  EpsX  = FX/(2*E)* {(1-P) + RI^2/R^2*(1+P) - [(1+P)*(1 +
          3*RI^4/R^4) - P * 4*RI^2/R^2]*COS(2*X)}
  EpsZ  = - P * FX/(2*E) * [ 2 - 4*RI^2/R^2*COS(2*X) ]
  D     = FX/E*(1-2*P) * [1 - 2*RI^2/R^2*COS(2*X) ]
 
 
  Stress
  ------
  StrY = FX/2*(1-RI^2/R^2) + FX/2*(1 + 3*RI^4/R^4 - 4*RI^2/R^2)*
         COS(2*X)
  StrX = FX/2*(1+RI^2/R^2) - FX/2*(1 + 3*RI^4/R^4)*COS(2*X)
  StXY = - FX/2 * (1 - 3*RI^4/R^4 + 2*RI^2/R^2)*SIN(2*X)
  StrZ = 0
  ENDDIS
  PHOTON USE
  p;;;;
 
 
  set prop off
  msg
  msg Grid
  msg
  gr Z 1
  pause
 
  cl
  msg
  msg DISY contours
  msg
  cont DISY z 1 fil;.0001
  SET VEC COMP - - -
  SET VEC COMP DISX DISY -
  VECT IZ 1 SH DASH 0
  pause
 
  cl
  msg
  msg V1TH contours
  msg
  cont V1TH z 1 fil;.0001
  pause
 
  cl
  msg
  msg V1/T contours
  msg
  cont V1/T z 1 fil;.0001
  pause
 
 
  cl
  msg
  msg DISX contours
  msg
  cont DISX z 1 fil;.0001
  vec z 1 col 0
  pause
 
  cl
  msg
  msg U1TH contours
  msg
  cont U1TH z 1 fil;.0001
  pause
 
  cl
  msg
  msg U1/T contours
  msg
  cont U1/T z 1 fil;.0001
  pause
 
  cl
  msg
  msg STRX contours
  msg
  cont STRX z 1 fil;.0001
  pause
 
  cl
  msg
  msg SXTH contours
  msg
  cont SXTH z 1 fil;.0001
  pause
 
  cl
  msg
  msg SX/T contours
  msg
  cont SX/T z 1 fil;.0001
  pause
 
  cl
  msg
  msg STRY contours
  msg
  cont STRY z 1 fil;.0001
  pause
 
  cl
  msg
  msg SYTH contours
  msg
  cont SYTH z 1 fil;.0001
  pause
 
  cl
  msg
  msg SY/T contours
  msg
  cont SY/T z 1 fil;.0001
  pause
 
  cl
  msg
  msg STXY contours
  msg
  cont STXY z 1 fil;.0001
  pause
 
  cl
  msg
  msg XYTH contours
  msg
  cont XYTH z 1 fil;.0001
  pause
 
  ENDUSE
 ************************************************************
 IRUNN   =         1 ;LIBREF =       600
 ************************************************************
  Group 1. Run Title
 TEXT(Polar Plate with CIRCULAR hole          )
 ************************************************************
  Group 2. Transience
 STEADY  =    T
 ************************************************************
  Groups 3, 4, 5  Grid Information
    * Overall number of cells, RSET(M,NX,NY,NZ,tolerance)
 RSET(M,20,30,1)
    * Cylindrical-polar grid
 CARTES=F;RINNER=5.000000E-01
 ************************************************************
  Group 6. Body-Fitted coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS  =    T
    * Non-default variable names
 NAME(122) =EZ/T ; NAME(123) =EY/T
 NAME(124) =EX/T ; NAME(125) =V1/T
 NAME(126) =U1/T ; NAME(127) =V1TH
 NAME(128) =U1TH ; NAME(129) =XY/T
 NAME(130) =SY/T ; NAME(131) =SX/T
 NAME(132) =XYTH ; NAME(133) =SYTH
 NAME(134) =SXTH ; NAME(135) =STXY
 NAME(136) =STRY ; NAME(137) =STRX
 NAME(138) =EZTH ; NAME(139) =EYTH
 NAME(140) =EXTH ; NAME(141) =EPSZ
 NAME(142) =EPSY ; NAME(143) =EPSX
 NAME(144) =DRH1 ; NAME(145) =DVO1
 NAME(146) =ENUL ; NAME(147) =DEN1
 NAME(148) =PRPS ; NAME(149) =DISY
 NAME(150) =DISX
    * Solved variables list
 SOLVE(DISY,DISX)
    * Stored variables list
 STORE(PRPS,DEN1,ENUL,DVO1,DRH1,EPSX,EPSY,EPSZ)
 STORE(EXTH,EYTH,EZTH,STRX,STRY,STXY,SXTH,SYTH)
 STORE(XYTH,SX/T,SY/T,XY/T,U1TH,V1TH,U1/T,V1/T)
 STORE(EX/T,EY/T,EZ/T)
 
 ************************************************************
  Group 8. Terms & Devices
 ************************************************************
  Group 9. Properties
    * Domain material index is 160 signifying:
    * NOTSET
 SETPRPS(1,160,Q1)
 ENUT    = 0.000000E+00
 DRH1DP  = 5.000000E-12
 DVO1DT  = 1.000000E-05
   *  List of user-defined materials to be read by EARTH
    MATFLG=T;IMAT=1
   *  Name
   *Ind. Dens.  Viscos.  Spec.heat  Conduct.  Expans.  Compr.
   *  
    160 7800.0 0.3 473.0 43.0 1.0E-5 0.5E-11
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initialise Var/Porosity Fields
 FIINIT(EZ/T) =  1.001000E-10 ;FIINIT(EY/T) =  1.001000E-10
 FIINIT(EX/T) =  1.001000E-10 ;FIINIT(V1/T) =  1.001000E-10
 FIINIT(U1/T) =  1.001000E-10 ;FIINIT(V1TH) =  1.001000E-10
 FIINIT(U1TH) =  1.001000E-10 ;FIINIT(XY/T) =  1.001000E-10
 FIINIT(SY/T) =  1.001000E-10 ;FIINIT(SX/T) =  1.001000E-10
 FIINIT(XYTH) =  1.001000E-10 ;FIINIT(SYTH) =  1.001000E-10
 FIINIT(SXTH) =  1.001000E-10 ;FIINIT(STXY) =  1.001000E-10
 FIINIT(STRY) =  1.001000E-10 ;FIINIT(STRX) =  1.001000E-10
 FIINIT(EZTH) =  1.001000E-10 ;FIINIT(EYTH) =  1.001000E-10
 FIINIT(EXTH) =  1.001000E-10 ;FIINIT(EPSZ) =  1.001000E-10
 FIINIT(EPSY) =  1.001000E-10 ;FIINIT(EPSX) =  1.001000E-10
 FIINIT(DRH1) =  1.001000E-10 ;FIINIT(DVO1) =  1.001000E-10
 FIINIT(ENUL) =  1.001000E-10 ;FIINIT(DEN1) =  1.001000E-10
 FIINIT(PRPS) =  1.600000E+02 ;FIINIT(DISY) =  1.001000E-10
 FIINIT(DISX) =  1.001000E-10
   No PATCHes used for this Group
 
 
 INIADD  =    F
 ************************************************************
  Group 12. Convection and diffusion adjustments
   No PATCHes used for this Group
 ************************************************************
  Group 13. Boundary & Special Sources
 
 PATCH (OUTV    ,NORTH ,1,0,0,0,0,0,1,1)
 
 PATCH (LOWX    ,WWALL ,2,0,0,0,0,0,1,1)
 COVAL (LOWX    ,DISX, 1.000000E+00, 0.000000E+00)
 
 PATCH (HIGHX   ,EWALL ,3,0,0,0,0,0,1,1)
 COVAL (HIGHX   ,DISX, 1.000000E+00, 0.000000E+00)
 
 PATCH (OUTU    ,NORTH ,1,0,0,0,0,0,1,1)
 
 EGWF    =    T
 ************************************************************
  Echo InForm settings for Group 13
  inform13begin
 
REAL(RI,RO,POISSON,YOUNG,FX,LR,LTETA)
 
RI=0.5   ! inner radius
RO=2     ! outer radius
LR = RO-RI
FX= 1.0e4
LTETA=3.1416/2
 
YOUNG   = 1/(0.5E-11) ! Young's modulus
POISSON=0.3           ! Poisson's ratio
 
 
 
 
  ********* Exact Solution: Stress ********
char(ag2,ag4,av2,av4)
real(FX2)
FX2=FX/2
ag2=(:RI:/RG)^2
ag4=(:RI:/RG)^4
 
char(bg)
bg=XG
char(FSY1,FSY2,FBY1,FBY2, FSX1,FSX2,FSXY1,FSXY2)
FSY1=:FX2:*((1-:ag2:)+(1+3*:ag4:
FSY2=-4*:ag2:)*COS(2*:bg:))
 
FBY1=:FX2:*((1-:ag2:)+(1+3*:ag4:
FBY2=-4*:ag2:)*COS(2*:bg:))
 
FSX1=:FX2:*((1+:ag2:)-(1+3*:ag4:)
FSX2=*COS(2*:bg:))
FSXY1=-:FX2:*(1-3*:ag4:+2*:ag2:)
FSXY2=*SIN(2*:bg:)
(STORED VAR SXTH IS :FSX1::FSX2:)
(STORED VAR SX/T IS STRX/SXTH)
(STORED VAR SYTH IS :FSY1::FSY2:)
(STORED VAR SY/T IS STRY/SYTH)
(STORED VAR XYTH IS :FSXY1::FSXY2:)
(STORED VAR XY/T IS STXY/XYTH)
 
  ********* Exact Solution: Displacement ********
char(FU1,FU2,FV1,FV2,FV3)
real(ONEPLP,ONEMNP,FX2E)
ONEPLP = 1.0 + POISSON
ONEMNP = 1.0 - POISSON
FX2E = FX/2/YOUNG
 
 
FU1=-:FX2E:*RG*(:ONEPLP:*(1+:ag4:)+2*:ag2:
FU2=*:ONEMNP:)*SIN(2*:bg:)
 
FV1=:FX2E:*RV*(:ONEMNP:+:ag2:*:ONEPLP:+
FV2=((1-:ag4:)*:ONEPLP:+4*:ag2:)
FV3=*COS(2*:bg:))
 
(STORED VAR U1TH IS :FU1::FU2:)
(STORED VAR U1/T IS DISX/U1TH)
 
(STORED VAR V1TH IS :FV1::FV2::FV3:)
(STORED VAR V1/T IS DISY/V1TH)
 
 ********* Exact Solution: Strains ********
char(FEY1,FEY2,FEX1,FEX2,FEX3,FEZ,FEP)
real(FXZ,FXP)
FXZ = -POISSON*FX/2/YOUNG
FXP = FX/YOUNG*(1-2*POISSON)
 
FEX1=:FX2E:*(:ONEMNP:+:ag2:*:ONEPLP:-(:ONEPLP:*
FEX2=(1+3*:ag4:)-4*:ag2:*POISSON)
FEX3=*COS(2*:bg:))
 
FEY1=:FX2E:*(:ONEMNP:-:ag2:*:ONEPLP:+(:ONEPLP:*
FEY2=(1+3*:ag4:)-4*:ag2:)*COS(2*:bg:))
 
FEZ=:FXZ:*(2 - 4*:ag2:*COS(2*:bg:))
FEP=:FXP:*(1 - 2*:ag2:*COS(2*:bg:))
 
(STORED VAR EXTH IS :FEX1::FEX2::FEX3:)
(STORED VAR EX/T IS EPSX/EXTH)
 
(STORED VAR EYTH IS :FEY1::FEY2:)
(STORED VAR EY/T IS EPSY/EYTH)
 
(STORED VAR EZTH IS :FEZ:)
(STORED VAR EZ/T IS EPSZ/EZTH)
 
   ************* BC *****************************
(source of DISY at OUTV is COVAL(FIXFLU,:FBY1::FBY2:))
(source of DISX at OUTU is COVAL(FIXFLU,:FSXY1::FSXY2:))
 
 
  inform13end
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP  =       400
 RESFAC  = 1.000000E-03
 ************************************************************
  Group 16. Terminate Iterations
 ************************************************************
  Group 17. Relaxation
 ************************************************************
  Group 18. Limits
 ************************************************************
  Group 19. EARTH Calls To GROUND Station
 USEGRD  =    T  ;USEGRX =    T
 STRA    =    T
 ASAP    =    T
 PARSOL  =    T
 CONWIZ  =    T
 ISG21   =       400
 ISG52   =         3
 CSG10   ='q1'
 ************************************************************
  Group 20. Preliminary Printout
 ECHO    =    T
 ************************************************************
  Group 21. Print-out of Variables
 OUTPUT(DRH1,N,N,N,N,N,N)
 OUTPUT(DVO1,N,N,N,N,N,N)
 OUTPUT(ENUL,N,N,N,N,N,N)
 OUTPUT(DEN1,N,N,N,N,N,N)
 OUTPUT(PRPS,N,N,N,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON   =        10 ;IYMON  =        29 ;IZMON  =         1
 NPRMON  =    100000
 NPRMNT  =         1
 TSTSWP  =        -1
 ************************************************************
  Group 23.Field Print-Out & Plot Control
 NPRINT  =    100000
 ISWPRF  =         1 ;ISWPRL =    100000
   No PATCHes used for this Group
 ************************************************************
  Group 24. Dumps For Restarts
 
 GVIEW(P,0.000000E+00,0.000000E+00,1.000000E+00)
 GVIEW(UP,0.000000E+00,1.000000E+00,0.000000E+00)
 
> DOM,    SIZE,        1.570800E+00, 1.500000E+00, 1.000000E+00
> DOM,    MONIT,       7.461300E-01, 1.396180E+00, 5.000000E-01
> DOM,    SCALE,       1.000000E+00, 1.000000E+00, 1.000000E+00
> DOM,    SNAPSIZE,    1.000000E-02
  > GRID,   RSET_X_1,     20, 1.000000E+00
> GRID,   RSET_Y_1,     30, 1.400000E+00
  > GRID,   RSET_Z_1,      1, 1.000000E+00
 
> OBJ,    NAME,        OUTV
> OBJ,    POSITION,    0.000000E+00, 1.500000E+00, 0.000000E+00
> OBJ,    SIZE,        1.570800E+00, 0.000000E+00, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED
 
> OBJ,    NAME,        LOWX
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        0.000000E+00, 1.500000E+00, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED
 
> OBJ,    NAME,        HIGHX
> OBJ,    POSITION,    1.570800E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        0.000000E+00, 1.500000E+00, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED
 ************************************************************
STOP