TALK=T;RUN(1,1)
DISPLAY
(Modified from the original by dbs on 27/01/15)
This example illustrates a use of In-Form transfer objects for a
z-direction heat-conduction problem of which the boundary
conditions dictate that, although two geometrical dimensions are
allowed for, namely y and z, in the solution the temperature
varies linearly with z and is independent of y.
The wall at iz=0 is held at zero temperature while a fixed heat
flux is applied at the iz=high boundary.
The heat flux, dimensions and conductivity are chosen so that,
when the z-direction grid is uniform with NZ=10, the exact
solution is:
T=1.0, 3.0, 5.0, etc. at successive cells.
This facilitates checking the accuracy of the result.
The domain is divided into two parts, as shown below
!
/----------------+-----------------/
low / ! / high
wall / 1st part ! 2nd part / wall
/ ! /
/ ---------------+-----------------/
^ y !
|-------> z-direction
The run(1,2) at the top of the Q1 file ensures that two runs are
made in succession, for the two sets of data in the file separated
by the first STOP.
The TROB1 transfer object at the high boundary is formed at the
end of the first run by means of an '(export' In-Form statement.
The second run reads the information at the low boundary from the
TROB1 object by means of an '(import' In-Form statement.
The y-direction grid intervals in the two parts can differ, as
shown by the differing NY and YPOWER below; and NZ and ZPOWER can
also be varied.
HOWEVER, the apparent success of the method has been achieved by
means of a subterfuge which disguises the fact that a two-consec$
utive-
run process can NOT solve the postulated problem, because in the$
first
solution for the lower-z half, nothing is known about the highest$
-z fixed-
heat flux boundary condition.
UNLESS, that is to say, it receives a little help; which the crea$
tor of the
original Q1has provided by telling the lower-z half also to recei$
ve the same
heat flux at its high-z boundary.
If this help is removed, by setting case=1, the first-run solutio$
n is tem1=0
throughout; then the second run-solution is certainly linear, b$
ut with the
wrong left-hand value.
To confirm this, set caseno=1
What is then needed is a series of further runs, characterised by$
right-
hand runs exporting information to subsequent left-hand runs; whi$
ch, as
iterations of the process proceed, gradually acquire sufficient i$
nformation
about the extreme-right-hand boundary condition.
Some things the 2-run-only procedure can accomplish very well, na$
mely:
* transfer information from left to right correctly,
when NYleft does not equal NYright.
* transfer information from left to right correctly,
when YPOWERleft does not equal YPOWERright
* transfer information from left to right correctly,
when YVLASTleft >= VVLASTright. (caseno=2)
when YVLASTleft < VVLASTright, (caseno=3)
BUT with the perfectly correct consequence that the temperature
distribution in the right-hand domain is no longer one-dimenson$
al.
ENDDIS
************************************************************
Group 1. Run Title and Number
************************************************************
************************************************************
TEXT(Transfer objects; 1d diffusion; 1st run.)
************************************************************
************************************************************
IRUNN = 1 ;LIBREF = 0
************************************************************
Group 2. Time dependence
STEADY = T
************************************************************
Group 3. X-Direction Grid Spacing
CARTES = T
NX = 1
XULAST =1.
XFRAC(1)=1.
************************************************************
Group 4. Y-Direction Grid Spacing
NY = 4
YVLAST =0.5
YFRAC(1)=0.125 ;YFRAC(2)=0.353553
YFRAC(3)=0.649519 ;YFRAC(4)=1.
************************************************************
Group 5. Z-Direction Grid Spacing
PARAB = F
NZ = 5
ZWLAST =1.
ZFRAC(1)=0.2 ;ZFRAC(2)=0.4
ZFRAC(3)=0.6 ;ZFRAC(4)=0.8
ZFRAC(5)=1.
************************************************************
Group 6. Body-Fitted Coordinates
************************************************************
Group 7. Variables: STOREd,SOLVEd,NAMEd
ONEPHS = T
NAME(150)=TEM1
* Y in SOLUTN argument list denotes:
* 1-stored 2-solved 3-whole-field
* 4-point-by-point 5-explicit 6-harmonic averaging
SOLUTN(TEM1,Y,Y,N,N,N,Y)
************************************************************
Group 8. Terms & Devices
* Y in TERMS argument list denotes:
* 1-built-in source 2-convection 3-diffusion 4-transient
* 5-first phase variable 6-interphase transport
TERMS(TEM1,N,Y,Y,Y,Y,Y)
DIFCUT =0.5 ;ZDIFAC =1.
GALA = F ;ADDDIF = F
ISOLX = -1 ;ISOLY = -1 ;ISOLZ = -1
************************************************************
Group 9. Properties used if PRPS is not
stored, and where PRPS = -1.0 if it is!
RHO1 =1. ;TMP1 =0. ;EL1 =0.
TSURR =0. ;TEMP0 =0. ;PRESS0 =0.
DVO1DT =0. ;DRH1DP =0.
EMISS =0. ;SCATT =0.
RADIA =0. ;RADIB =0.
ENUL =1.0E-05 ;ENUT =0.
PRNDTL(TEM1)=-1.
PRT(TEM1)=1.
CP1 =1. ;CP2 =1.
************************************************************
Group 10.Inter-Phase Transfer Processes
************************************************************
Group 11.Initial field variables (PHIs)
FIINIT(TEM1)=1.0E-10
No PATCHes yet used for this Group
INIADD = F
FSWEEP = 1
NAMFI =CHAM
************************************************************
Group 12. Patchwise adjustment of terms
Patches for this group are printed with those
for Group 13.
Their names begin either with GP12 or &
************************************************************
Group 13. Boundary & Special Sources
PATCH(LW ,LWALL , 1, 1, 1, 4, 1, 1, 1, 1)
COVAL(LW ,TEM1,1. ,0. )
PATCH(HW ,HIGH , 1, 1, 1, 4, 5, 5, 1, 1)
COVAL(HW ,TEM1, FIXFLU ,1. )
PATCH(PAT2 ,HIGH , 1, 1, 1, 4, 5, 5, 1, 1)
XCYCLE = F
EGWF = T
WALLCO = GRND2
************************************************************
Group 14. Downstream Pressure For PARAB
************************************************************
Group 15. Terminate Sweeps
LSWEEP = 10 ;ISWC1 = 1
LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
SELREF = T
RESFAC =1.0E-05
************************************************************
Group 16. Terminate Iterations
LITER(TEM1)=100
ENDIT(TEM1)=0.
************************************************************
Group 17. Relaxation
RELAX(TEM1,LINRLX,1.)
OVRRLX =0.
EXPERT = F ;NNORSL = F
************************************************************
Group 18. Limits
VARMAX(TEM1)=1.0E+10 ;VARMIN(TEM1)=-1.0E+10
************************************************************
Group 19. Data transmitted to GROUND
PARSOL = F
ISG21 = 10
ISG50 = 1
ISG62 = 1
SPEDAT(SET,EXPORT,PAT2,C,TROB1)
SPEDAT(SET,GXMONI,PLOTALL,L,T)
************************************************************
Group 20. Preliminary Printout
************************************************************
Group 21. Print-out of Variables
INIFLD = F ;SUBWGR = F
* Y in OUTPUT argument list denotes:
* 1-field 2-correction-eq. monitor 3-selective dumping
* 4-whole-field residual 5-spot-value table 6-residual table
OUTPUT(TEM1,Y,N,Y,Y,Y,Y)
************************************************************
Group 22. Monitor Print-Out
IXMON = 1 ;IYMON = 1 ;IZMON = 1
NPRMON = 100000 ;NPRMNT = 1 ;TSTSWP = -1
UWATCH = T ;USTEER = T
HIGHLO = F
************************************************************
Group 23.Field Print-Out & Plot Control
NPRINT = 100000 ;NUMCLS = 5
NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000
NZPRIN = -1 ;IZPRF = 1 ;IZPRL = 10000
XZPR = F ;YZPR = F
IPLTF = 1 ;IPLTL = -1 ;NPLT = -1
ISWPRF = 1 ;ISWPRL = 100000
ITABL = 3 ;IPROF = 1
ABSIZ =0.5 ;ORSIZ =0.4
NTZPRF = 1 ;NCOLPF = 50
ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20
No PATCHes yet used for this Group
************************************************************
Group 24. Dumps For Restarts
SAVE = T ;NOWIPE = F
NSAVE =CHAM
STOP