```
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
************************************************************
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

************************************************************
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)

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
```