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
  This problem is the same as that of s104; but nx is given a value
  greater than 1 as a test of capability, while nz retains its unity
  value.  
  
  The stresses, strains and  displacements should be independent of x.
  A long, hollow, thick-walled cylinder, immersed in an outer fluid, 
  contains a second fluid having a different pressure.
  
  Since conditions vary with radius alone, nx and nz are set = 1 .
  
  Two constraints on its length are considered, namely:
  1. the cylinder length may extend freely; and
  2. the cylinder length may not extend at all.
     
  To enable the computed stresses and strains to be compared with
  theoretical (text-book) values, the latter have been computed.
  
  So as to make comparison easy, variables named P1/T etc have also 
  been computed. They represent the calculated values divided by
  text-book ones. They should all be, and indeed are, close to 1.0;
  but zero is printed when the text-book value is zero
  
  Parameters which may be changed by editing this file include:
  (a) Material properties:  Young's modulus and Poisson's ratio
  (b) Geometric quantities: inner and outer radius, and length.
  (c) Mechanical loadings:  inner and outer pressures
  (d) The grid fineness (via NYCYL)
  (e) The grid-fineness distributions in x and y (via POWERX and
       POWERY)

  The text-book solution may be found in section 14.4 of Benham, 
  Crawford and Armstrong, Mechanics of Engineering Materials; and
  also in Love's Mathematical Theory of Elasticity p144 .
 
  ENDDIS
 ************************************************************
 IRUNN   =         1 ;LIBREF =       222
 ************************************************************
  Group 1. Run Title
 TEXT(Pressurised long cylinder; [X,Y]         )
 ************************************************************
  Group 2. Transience
 STEADY  =    T
 ************************************************************
  Groups 3, 4, 5  Grid Information
    * Overall number of cells, RSET(M,NX,NY,NZ,tolerance)
 RSET(M,10,33,1,1.000000E-05)
    * Cylindrical-polar grid
 CARTES=F
 ************************************************************
  Group 6. Body-Fitted coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS  =    T
    * Non-default variable names
 NAME(133) =EZTH ; NAME(134) =EPSZ
 NAME(135) =SZTH ; NAME(136) =STRZ
 NAME(137) =EYTH ; NAME(138) =EPSY
 NAME(139) =SYTH ; NAME(140) =STRY
 NAME(141) =EXTH ; NAME(142) =EPSX
 NAME(143) =SXTH ; NAME(144) =STRX
 NAME(145) =DRH1 ; NAME(146) =DVO1
 NAME(147) =ENUL ; NAME(148) =DEN1
 NAME(149) =PRPS ; NAME(150) =P1TH
    * Solved variables list
 SOLVE(P1  ,U1, V1  )
    * Stored variables list
 STORE(P1TH,PRPS,DEN1,ENUL,DVO1,DRH1,STRX,SXTH)
 STORE(EPSX,EXTH,STRY,SYTH,EPSY,EYTH,STRZ,SZTH)
 STORE(EPSZ,EZTH)
 
 ************************************************************
  Echo InForm settings for Group  7
   inform7begin
REAL(PI,PO,RI,RO,POISSON,YOUNG)
PI=1.e7  ! inner pressure
PO=1.e6 ! outer pressure
 
RI=0.2   ! inner radius
RO=0.8   ! outer radius
 
YOUNG   = 1/(0.5E-11) ! Young's modulus
POISSON=0.3           ! Poisson's ratio
integer(caseno)
 
   Length-constraint settings:
   caseno=1 : expansion in z allowed
   caseno=2 : expansion in z not allowed
   ======================================
caseno = 2
   ======================================
   Theoretical values according to Benham et al
   and Love (Mathematical Theory of Electricity)
   to be conveyed to earth by way of InForm
   statements.
 
  ! Declarations first:
REAL(RODRI, RISQ, ROSQ, RODRISQ, CONI, CONO, TERM)
REAL( AA, BB, EE)
REAL(LL,GG)  ! Lame's constants
  ! deductions
                                  ! Lame's constants Lamda+LL, mu=GG
LL = YOUNG*POISSON/((1+POISSON)*(1-2.0*POISSON)) ! in terms of YOUNG
GG = YOUNG/(2.0*(1.0+POISSON))           ! and POISSON
 
RISQ    = RI * RI
ROSQ    = RO * RO
RODRISQ = ROSQ / RISQ
  ! settings from formulae in the above text books
                                               ! all cases
CONI    = PI / (RODRISQ - 1)
CONO    = PO * RODRISQ / (RODRISQ - 1)
 
(STORED VAR SYTH IS :CONI:*(1.0 - :ROSQ:/ Rg^2 ) - :CONO:*(1.0 - :R$
ISQ:/RG^2) with imat>100)                                           
 
(STORED VAR SXTH IS :CONI:*(1.0 + :ROSQ:/ Rg^2 ) - :CONO:*(1.0 + :R$
ISQ:/RG^2) with imat>100)                                           
 
BB = (PI-PO) * RISQ * ROSQ / ( 2.0*GG * (ROSQ-RISQ) )   ! Love's B
 
AA = (PI*RISQ-PO*ROSQ) / ( 2.0*(LL+GG) * (ROSQ-RISQ) )  ! Love's A
                                                        ! first part
IF(CASENO.EQ.1) THEN ! ee and aa for no stress
EE = - LL * (PI*RISQ-PO*ROSQ) / ( GG * (3.0*LL+2.0*GG) )! Love's e
EE = EE / (ROSQ-RISQ)                                   ! concluded
AA = AA - EE*LL/( 2.0* (LL + GG))            ! Love's A concluded
(STORED VAR SZTH IS 0.0 WITH IMAT>100)
TERM = - LL / (GG * (3.0*LL + 2.0*GG) )
TERM = TERM * ( PI*RISQ - PO*ROSQ)
TERM = TERM / ( ROSQ - RISQ )
(STORED VAR EZTH IS :TERM: WITH IMAT>100)
ENDIF
 
IF(CASENO.EQ.2) THEN           ! fixed end
(STORED VAR EZTH IS 0 WITH IMAT>100)
TERM = LL/(LL+GG)
TERM = TERM * ( PI*RISQ - PO*ROSQ)
TERM = TERM / ( ROSQ - RISQ )
(STORED VAR SZTH IS :TERM: WITH IMAT>100)
ENDIF
                             ! all cases
(STORED VAR V1TH IS :AA:*RV + BB/RV)
(STORED VAR EXTH IS (SXTH - :POISSON:*(SYTH+SZTH))/:YOUNG:)
(STORED VAR EYTH IS (SYTH - :POISSON:*(SXTH+SZTH))/:YOUNG:)
(STORED VAR P1TH IS (EXTH + EYTH + EZTH) WITH IMAT>100)
(STORED VAR P1/T IS P1/P1TH)
(STORED VAR V1/T IS V1/V1TH)
(STORED VAR EX/T IS EPSX/EXTH)
(STORED VAR EY/T IS EPSY/EYTH)
IF(CASENO.EQ.1) THEN
(STORED VAR EZ/T IS EPSZ/EZTH)
ENDIF
IF(CASENO.EQ.2) THEN         ! cases 1 and 2 distinguished
(STORED VAR SZ/T IS STRZ/SZTH)
ENDIF
   inform7end
 ************************************************************
  Group 8. Terms & Devices
 ************************************************************
  Group 9. Properties
    * Domain material index is   0 signifying:
    * Air at 20 deg C, 1 atm, treated as incompressible
 SETPRPS(1, 0,Q1)
 RHO1    = 0.000000E+00
 ENUL    = 0.000000E+00
 ENUT    = 0.000000E+00
 DVO1DT  = 3.410000E-03
   *  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(EZTH) =  1.001000E-10 ;FIINIT(EPSZ) =  1.001000E-10
 FIINIT(SZTH) =  1.001000E-10 ;FIINIT(STRZ) =  1.001000E-10
 FIINIT(EYTH) =  1.001000E-10 ;FIINIT(EPSY) =  1.001000E-10
 FIINIT(SYTH) =  1.001000E-10 ;FIINIT(STRY) =  1.001000E-10
 FIINIT(EXTH) =  1.001000E-10 ;FIINIT(EPSX) =  1.001000E-10
 FIINIT(SXTH) =  1.001000E-10 ;FIINIT(STRX) =  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) =  0.000000E+00 ;FIINIT(P1TH) =  1.001000E-10
 
 PATCH (INNER   ,INIVAL,1,0,0,0,0,0,1,1)
 
 PATCH (OUTER   ,INIVAL,2,0,0,0,0,0,1,1)
 
 
 INIADD  =    F
 ************************************************************
  Echo InForm settings for Group 11
   inform11begin
(INITIAL of P1 at INNER is :PI:)
(INITIAL of P1 at outer is :PO:)
   inform11end
 ************************************************************
  Group 12. Convection and diffusion adjustments
   No PATCHes used for this Group
 ************************************************************
  Group 13. Boundary & Special Sources
 
 PATCH (IN      ,VOLUME,1,0,0,0,0,0,1,1)
 
 PATCH (OUT     ,VOLUME,2,0,0,0,0,0,1,1)

 patch(lowx,wwall,4,0,0,0,0,0,1,1)
 coval(lowx,u1,fIXval,0.0)
 patch(highx,ewall,5,0,0,0,0,0,1,1)
 coval(highx,u1,fixval,0.0)



 
 EGWF    =    T
 ************************************************************
  Echo InForm settings for Group 13
   inform13begin
(SOURCE of P1 at IN is COVAL(FIXVAL,:PI:))
(SOURCE of P1 at OUT is COVAL(FIXVAL,:PO:))
   inform13end
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP  =       400
 RESREF(V1  ) =  0.000000E+00
 RESFAC  = 1.000000E-07
 ************************************************************
  Group 16. Terminate Iterations
 LITER (V1  ) =       20
 ENDIT (V1  ) =  0.000000E+00
 ************************************************************
  Group 17. Relaxation
 RELAX(P1  ,LINRLX, 1.000000E+00)
 ************************************************************
  Group 18. Limits
 VARMAX(V1  ) = 1.000000E+06 ;VARMIN(V1  ) =-1.000000E+06
 ************************************************************
  Group 19. EARTH Calls To GROUND Station
 USEGRD  =    T  ;USEGRX =    T
 STRA    =    T
 ASAP    =    T
 PARSOL  =    T
 CONWIZ  =    T
 ISG21   =       200
 ISG52   =         1
 ISG59   =         1
 CSG10   ='Q1'
 SPEDAT(SET,BOUNDARY,XCONST,R,1.00000E+20)
 SPEDAT(SET,BOUNDARY,ZCONST,R,0.00000E+00)
 SPEDAT(SET,RLXFAC,RLXV1D,R,5.00000E-01)
 ************************************************************
  Echo InForm settings for Group 19
  inform19begin
IF(CASENO.EQ.2) THEN
SPEDAT(BOUNDARY,ZCONST,R,1.e20)       ! z contraction prevented
ELSE
SPEDAT(BOUNDARY,ZCONST,R,0.0)         ! z contraction allowed
ENDIF
  inform19end
 ************************************************************
  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
 NPRMON  =    100000
 NPRMNT  =         1
 TSTSWP  =        -1
 ************************************************************
  Group 23.Field Print-Out & Plot Control
 NPRINT  =    100000
    NYPRIN  =         1
 IYPRF   =         1 ;IYPRL  =        33
 ISWPRF  =         1 ;ISWPRL =    100000
   No PATCHes used for this Group
 ************************************************************
  Group 24. Dumps For Restarts
 
 GVIEW(P,-6.321333E-02,3.384783E-01,-9.388485E-01)
 GVIEW(UP,3.886831E-01,8.748021E-01,2.892177E-01)
 
> DOM,    SIZE,        2.000000E-01, 8.080000E-01, 1.000000E+00
> DOM,    MONIT,       1.000000E-01, 1.000000E-01, 5.000000E-01
> DOM,    SCALE,       1.000000E+00, 1.000000E+00, 1.000000E+00
> DOM,    SNAPSIZE,    1.000000E-02
  > GRID,   RSET_X_1,     10, 1.000000E+00
> GRID,   RSET_Y_1,      1, 1.000000E+00
> GRID,   RSET_Y_2,     31, 2.000000E+00
> GRID,   RSET_Y_3,      1, 1.000000E+00
  > GRID,   RSET_Z_1,      1, 1.000000E+00
 
> OBJ,    NAME,        INNER
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        2.000000E-01, 2.000000E-01, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED
 
> OBJ,    NAME,        OUTER
> OBJ,    POSITION,    0.000000E+00, 8.000000E-01, 0.000000E+00
> OBJ,    SIZE,        2.000000E-01, 8.000000E-03, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED
 
> OBJ,    NAME,        CYLINDER
> OBJ,    POSITION,    0.000000E+00, 2.000000E-01, 0.000000E+00
> OBJ,    SIZE,        2.000000E-01, 6.000000E-01, 1.000000E+00
> OBJ,    GEOMETRY,    polcu8
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        BLOCKAGE
> OBJ,    MATERIAL,    160,NOTSET

> OBJ,    NAME,        LOWX
> OBJ,    POSITION,    0.000000E+00, 2.000000E-01, 0.000000E+00
> OBJ,    SIZE,        0.000000E+00, 6.000000E-01, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED
 
> OBJ,    NAME,        HIGHX
> OBJ,    POSITION,    2.000000E-01, 2.000000E-01, 0.000000E+00
> OBJ,    SIZE,        0.000000E+00, 6.000000E-01, 1.000000E+00
> OBJ,    GEOMETRY,    poldef
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        USER_DEFINED

 ************************************************************
STOP