Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 70

1

CHUYN GIAO CNG NGH


CHUYN C1


M PHNG KH NG VT BAY TRONG MI TRNG
PHN MM ANSYS CFX





H Ni, 2009

2

Tm tt ni dung nghin cu
M phng kh ng vt bay trong mi trng phn mm Ansys CFX, bao gm cc cng
vic c th sau:
Phn 1: Nghin cu kh nng m phng kh ng vt bay trong mi trng phn
mm Ansys CFX
- Gii thiu tng quan v mi trng phn mm Ansys CFX
- Lp trnh bng User Fortran trong mi trng phn mm Ansys CFX
o Cc th tc User Junction Box Routine trong mi trng phn mm Ansys
CFX
o Th vin chia s trong mi trng phn mm Ansys CFX
o ng dng ca hm UDF vo m phng mt v d n gin..
Phn 2: Xy dng quy trnh m phng kh ng vt bay trong mi trng phn
mm Ansys CFX
- Xy dng m hnh hnh hc cho bi ton
- Xy dng m hnh phn t hu hn cho bi ton
- Thit lp cc iu kin bin
- Thit lp quy trnh thay i gc tn
Phn 3: Xy dng quy trnh phn tch kt qu m phng kh ng vt bay trong
mi trng phn mm Ansys CFX
- Trng vn tc
o Phn tch s thay i vn tc u vo
o Trng vn tc ca vt bay
- Trng p sut
o S n nh xoay quanh trc dc ca vt bay
o Vai tr ca cnh ui trong s n nh ln xung ca vt bay

3

Mc lc
Phn 1: Nghin cu kh nng m phng kh ng vt
bay trong mi trng phn mm ANSYS CFX ..................... 6
1.1 Gii thiu tng quan v mi trng phn mm ANSYS CFX. ...................................... 6
1.1.1 ANSYS CFX Pre. .................................................................................................. 8
1.1.2 ANSYS CFX Solver ............................................................................................ 9
1.1.3 ANSYS CFX Solver Manager ............................................................................ 10
1.1.4 ANSYS CFD Post (Phin bn 11.0 tr v trc l CFX Post) ........................ 11
1.2 Lp trnh bng User Fortran trong mi trng phn mm Ansys CFX. ....................... 12
1.2.1 nh ngha hm UDF. ............................................................................................ 12
1.2.2 Tng quan v User Fortran trong CFX. ................................................................. 13
1.2.3 ng dng ca hm UDF. ....................................................................................... 25
Phn 2: Xy dng quy trnh m phng kh ng vt bay
trong mi trng phn mm ANSYS CFX........................... 33
2.1 Xy dng m hnh hnh hc cho bi ton. .................................................................... 33
2.2 iu kin bin ca bi ton. .......................................................................................... 36
2.3 Thit lp quy trnh thay i gc tn. ............................................................................. 37
2.4 Qu trnh thit lp ......................................................................................................... 39
Phn 3: Xy dng quy trnh phn tch kt qu m
phng kh ng vt bay trong mi trng phn mm
ANSYS CFX ............................................................................ 42
3.1 Trng vn tc. ............................................................................................................. 42
3.1.1 Phn tch s thay i vn tc u vo. ................................................................... 42
3.1.2 Trng vn tc ca tn la. ................................................................................... 46
4

3.2 Trng p sut. ............................................................................................................. 48
3.2.1 S n nh xoay quanh trc dc ca tn la. ......................................................... 48
3.2.2 Vai tr ca cnh ui trong s n nh ln xung ca tn la. ............................. 58
Ph Lc ............................................................................... 64


5


Danh sch cc hnh
Hnh 1.1 Trnh t lm vic ca User function. ...................................................16
Hnh 1.2 M hnh on ng c van bm ..........................................................26
Hnh 1.3 Chia li cho m hnh mt na ng. ...................................................26
Hnh 2.1 Min tnh ton. .....................................................................................33
Hnh 2.2 M hnh Cad 2D tn la Harpoon .......................................................34
Hnh 2.3 M hnh 3D ca bi ton. ....................................................................34
Hnh 2.4 Chia li m hnh. ...............................................................................35
Hnh 2.5 Chia li mt na m hnh bi ton trong Gambit. ............................35
Hnh 2.6 t iu kin bin cho bi ton trong Gambit. ....................................36
Hnh 2.7 M hnh tn la trong Ansys CFX ......................................................38


6

Phn 1: Nghin cu kh nng m phng kh ng vt bay trong
mi trng phn mm ANSYS CFX

1.1 Gii thiu tng quan v mi trng phn mm ANSYS CFX.
ANSYS CFX l b phn mm tnh ton ng lc hc cht lng (CFD) l kt
hp ca mt trnh gii (Solver) cao cp vi cc kh nng thit lp v x l kt
qu mnh m. N bao gm cc c tnh sau y:
Mt trnh gii kt ni cao cp m c c s tin cy v mnh m.
Th thng nht y cho nh ngha bi ton, phn tch v biu din kt
qu.
Qu trnh thit lp trc quan v tng tc, s dng cc thc n v
ha cao cp.
ANSYS CFX c kh nng m hnh ha:
Dng chy n nh v tc thi (Steady-state and transient flows).
Dng chy tng v chy ri (Laminar and turbulent flows).
Dng chy di m, cn m v trn m (Subsonic, transonic and
supersonic flows).
Trao i nhit v bc x nhit (Heat transfer and thermal radiation).
S ni (Buoyancy).
Dng chy phi Niuton (Non-Newtonian flows).
S vn chuyn cc thnh phn v hng khng phn ng (Transport of
non-reacting scalar components).
Dng chy nhiu pha (Multiphase flows).
S chy (Combustion).
7

Dng chy trong h ta quy chiu (Flows in multiple frames of
reference).
Vt ht (Particle tracking).
ANSYS CFX gm 4 modul phn mm thc hin hnh hc v li v qua
thng tin yu cu thc hin phn tch CFD:

Cc modul ca ANSYS CFX hai dng khc nhau:
Dng ring bit (Standalone)

Dng trong mi trng Workbench
8



1.1.1 ANSYS CFX Pre.

Trnh tin x l (pre processing) hay trnh thit lp CFX Pre c dng
nh ngha m phng. a li phc tp c th c nhp vo, cho php mi
phn ca hnh hc phc tp s dng li thch hp nht. Cc phn tch, bao
gm cc tnh cht vt l ca dng, cc iu kin bin, cc gi tr ban u v cc
9

tham s trnh gii, cng s c xc nh. y phm vi iu kin bin, bao
gm cc u vo, u ra cc bin m, cng vi cc iu kin bin cho m hnh
truyn nhit v chu k, tt c c dng trong ANSYS CFX thng qua CFX
Pre.
Cc m phng phc tp c tp hp t mt hay nhiu cu hnh, mi th
trong c s kt hp phn tch r rng cng vi cc nhim v lin quan chng
hn nh lm tinh li li. Kim sot trn cc cu hnh thc thi lnh v cc ni
cu hnh gii ph thuc th s d dng cho thit lp quan h cc m phng
chung, chng hn nhng ci bao gm cc d liu ban u cho phn tch tc
thi dng kt qu t phn tch trng thi n nh.
1.1.2 ANSYS CFX Solver
CFX Solver gii tt c cc bin cho m phng. Mt c tnh quan trng
nht ca ANSYS CFX l dng kt ni gii, trong tt c cc phng trnh
thy ng lc hc c gii nh mt h thng n. Kt ni trnh gii l nhanh
hn cc trnh gii ring bit truyn thng v t vng lp hn cn c t c
hi t li gii.
10

1.1.3 ANSYS CFX Solver Manager

Modul Qun l trnh gii (CFX Solver Manager) to ra kim sot nhiu
hn ti qun l cc tc v CFD. Cc chc nng chnh ca n l:
Xc nh file nhp vo cho CFX Solver.
Khi ng/dng CFX Solver.
Kim sot qu trnh gii.
Thit lp CFX Solver cho tnh ton song song.
11

1.1.4 ANSYS CFD Post (Phin bn 11.0 tr v trc l CFX Post)

CFD Post cho ra cc cng c ha x l kt qu tng tc hin i
phn tch v hin th cc kt qu m phng CFX.
Cc c tnh quan trng:
X l kt qu nh lng.
To ra cc bo co tng kt
12



Cho php nhp cc file sau lm file u vo: file dng lnh, file session,
file trng thi (state file).
Ngi dng c th to cc bin.
To ra cc i tng ha khc nhau m s hin th r rng, trong
sut, mu, cc ng/mt biu din s c kim sot.
Power Syntax cho php lp trnh y cc file session (file ny ghi li
cc hnh ng).
1.2 Lp trnh bng User Fortran trong mi trng phn mm Ansys CFX.
1.2.1 nh ngha hm UDF.
Hm ngi dng nh ngha-user define fucntion (UDF), l hm m bn lp
trnh c th c nhp vo (ti d liu) bi trnh gii (solver) ca phn mm
m phng. Mc ch nng cao cc c tnh c bn ca m ngun. V d, bn
c th dng UDF nh ngha iu kin bin, c tnh vt l, cc ton t
13

ngun cho c ch dng chy ca ring bn, nh l xc nh cc thng s m
hnh ty bin, iu kin ban u, hoc nng cao x l kt qu.
UDF c vit vi cc ngn ng lp trnh C hoc Fortran, s dng bt c
trnh bin son no v m ngun no. Mt file c th cha mt hoc nhiu
UDF, v bn c th nh ngha nhiu file ngun.
Ti sao cn dng UDF?
UDF cho php chng ta ty bin, thay i phn mm m phng no
cho ph hp vi bi ton ting ca chng ta. UDF c dng cho nhiu ng
dng khc nhau. V d:
Ty bin iu kin bin, nh ngha c tnh vt liu, tc phn ng b
mt v th tch, cc ton t ngun trong phng trnh trao i
Chnh sa gi tr tnh ton trn mt bc lp c bn.
Khi to li gii ban u.
ng b thc thi lnh.
Ci thin kh nng x l kt qu.
Nng cao cc m hnh c ca phn mm.
1.2.2 Tng quan v User Fortran trong CFX.
cho ngi s dng thm nhng c tnh v m hnh vt l cho ANSYS
CFX, ngi s dng c th vit chng trnh con (subroutine) ca ring h
bng ngn ng lp trnh Fortran v c ANSYS CFX-Solver gi nhng chng
trnh con qua mt code ngun giao din. Chng ta c th xy dng mt m
hnh vt l no khng c sn trong ANSYS CFX da trn hiu bit v suy
ngh chc chn.
ANSYS CFX h tr ngi dng nhng subroutine c vit bng Fortran 77
hay Fortran 90. Mt danh sch ca cc trnh bin dch h tr cho mi kiu
14

trng hp c v c th s dng. Mt li khuyn c a ra l: s dng
Fortran 77 bt c khi no c th.
Hai loi khch nhau ca routine c s dng trong ANSYS CFX l:
User defined CEL (CFX Expression Language) functions: c th c s
dng trong mt CEL expresstion, tun theo lut CEL chun.
Junction box routine: c th c s dng ti mt vi ni trong ANSYS
CFX-Solver chy cc code ca ngi dng.
Cc nhim v sau c th c thc hin vi subroutine ca ngi dng trong
ANSYS CFX:
Nhp d liu ca ngi dng ( v d: d liu yu cu cho iu kin bin
ca profile hay cc ngun bn ngoi).
Cc iu kin bin c bit ca ngi dng ( v d: iu kin bin ca
profile).
Cc iu kin ban u c bit ca ngi dng ( v d: vng dng chy
sinh ra bn ngoi, s phn phi ngu nhin hoc s nhiu lon ca gii
php ang tn ti).
Cc gii hn ngun c bit ca ngi dng ( v d: cc lc sinh ra bn
ngoi ca vt th hoc gii hn ngun thm vo mt cch tng quan c
s dng trong m hnh vt l).
Junction box routine gi tt c cc bc thi gian m hot ng nh giao
din tng qan gia ANSYS CFX-Solver v phn mm khc ( v d: cc code v
kt cu c kh). Junction box cng yu cu mt giao din cho monitor nng cao
v gii php u ra.
Cc User particle routine c s dng ch ra cc ngun ca momen,
nhit v di chuyn khi lng , v cng c th c s dng ch ra nhng
vng c th i vo cho nhng vt nh. Cu trc ca user routine nh l ging
nhau.
15

Ch rng ANSYS CFX bao gm nhng chc nng nh l tng cc bin
ca thut gii trn mn hnh quan st hay cc gi tr tng quan v chc nng m
rng ca CEL, cc chc nng c th lm gim nhu cu s dng subroutine
ca ngi dng.
s dng junction box routine, ngi s dng cn phi lm quen vi
ANSYS CFX MMS (Memory Management System) c th thit lp v a
vo gi tr ca ngi dng vo bt k mt routine no.
Cc th vin chia s (Shared libraries) chp nhn cc subroutine c th c
s dng li khng cn bn dch li cho ANSYS CFX-Solver chy hay thm ch
cho cc ng dng khc. V tr ca th vin chia s c ch r trong ANSYS
CFX-Pre. Trong qu trnh chy ca ANSYS CFX-Solver, cc subroutine ca
ngi dng c ti t cc th vin chia s .
1.2.2.1 User CEL Functions v Routine.
User CEL function chp nhn ngi dng to chc nng ring ty thm
vo nh ngha ban u ca CEL function ( v d: sin, cos, step). Ta c th
dng chc nng ny trong bt c cch din t no ni m CEL function c th
c s dng. Mt CEL function nhp vo cc gi tr cho cc subroutine ca
ngi s dng, v s dng cc gi tr c tr li t cc routine nhp li vo
cc gi tr m c s thay i. Hnh sau ch ra r rng hn v qu trnh trn.
16


Hnh 1.1 Trnh t lm vic ca User function.

Mi bin m CEL expression chun c th s dng c th th cng s
dng c cho User CEL Expression. C danh sch cc bin c s dng.
Cu trc ca User CEL Function
Mt file User Fortran c th cha mt vi routine, cc routine ny c gi
bi ANSYS CFX-Solver v routine con ch c th c gi t cc routine khc
trong file .
miu t r hn, cu trc c bn ca user CEL function l:
17


Macro dllexport():c s dng chc chn rng mt tn gi c bit t
bn ngoi m cc trng hp yu cu iu thnh cng trong vic kt ni
ng thi gian chy. Macro: #include "cfx5ext.h" nn l dng u trong file
Fortran.
Mt dllexport() nn xc nh cho mi routine m ANSYS CFX-Solver c th
gi trong file Fortran .
Mi dllexport() phi ng trc routine m n cp ti v phi c bt
u trong ct 1. Cc argument ca macro dllexport nn c t tn l cc
routine con v khng nn c khong trng.
User CEL function c cc argument c nh v gm cc d liu trong cc
lnh vc sau:
NLOC: s v tr trong khong khng trn ni din ra cc php tnh.
18

NARG: s argument c chuyn ti cc chc nng.
ARGS(1:NLOC,1:NARG): s argument c chuyn ti cc chc nng(
ti mi im trong khong trng).
NRET: s cc bin c tr li gi tr. cc gi tr lun lun l 1 trong
ANSYS CFX, nhng c kh nng thay i trong qu trnh chy chng
trnh.
RET(1:NLOC, 1:NRET): cc bin c tr li gi tr (ti mi im trong
khong trng).
CZ(*), DZ(*), IZ(*), RZ(*): CHARACTER, DOUBLE PRECISION,
INTERGER, LOGICAL, v REAL.
di (NLOC) ca cc argument (ARGS) v gi tr c tr li (RET) ca
user CEL function c ch bi v tr m routine c gi. V d, vi nhm cc
yu t ca bin, NLOC l s cc b mt trong nhm, vi cc nh, NLOC l s
cc nh trong vng hin ti.
Ch rng, v mt tng quan, user CEL function s c gi mt vi ln
trong mi vng lp v gi tr ca NLOC s khc vi mi ln gi. l do
ANSYS CFX-Solver s chia cc vng xc nh (v d: vng iu kin bin)
thnh mt s nhng mnh nh hn v gi user CEL function cho mi mnh.
Subroutine ca ngi dng s c lp trnh thch hp vi iu ny.
Cc stacks (CHARACTER, DOUBLE PRECISION..) c dng nu thng
tin bn pha v phi ca CEL expression (v dujL B*C and D in A = UR (B*C,
D)) khng cho tnh ton A. C th l cn thit cho vic ly cc d liu b
xung (v d: gi liu nhp vo ca ng dng, d liu ca v tr khc, gradient
). Cc d liu ny c ly vo t ANSYS CFX Memory Management
System v yu cu cc stack tng ng. V th cc stack tng ng ny c
thm vo trong danh sch cc argument.
19

Argument trong User CEL Function
Khi nhp gi tr cho cc user CEL function routine, cc gi tr nhp vo cc
argument c bin i n v mt cch t ng thnh n v c xc nh
sn trong cc danh sch argument trong User Function Editor.
Khi ly gi tr ra, cc n v ca cc kt qu c bin i t ng thnh cc
n v ca thut gii bi ANSYS CFX-Solver.
Kh nng chn n v lm vic ca cc routine vi s t ng bin i n
v c th hu dng cho vic to ra mt giao din gia ANSYS CFX-Solver v
mt ng dng hay d liu th 3.
1.2.2.2 User Junction Box Routines.
b xung trong vic nh ngha CEL fuction ca ring ngi s dng, ta
c th gi subroutine ti mt vi thi im trong qu trnh chy ca ANSYS
CFX-Solver, c gi l cc junction box. Cc junction box c th c s
dng hon thnh mt s cc nhim v khc nhau:
Nhp hoc xut d liu ca ngi dng.
Ci tin cc chc nng ca mn hnh trong thut gii.
Kt hp ANSYS CFX vi ci gi phn mm khc.
iu khin chng trnh ( v d: iu khin tiu chun kt thc ca h s
cc vng lp trong khi chy transient hay l s vng lp ln nht hay mc
ch cn t c).
User defined junction box routine ch c dng trong ANSYS CFX-Solver
nh l mt argument. Khng ging user CEL function, khng c argument ca
ngi s dng cho cc routine ny. Tuy nhin, bng vic s dng cc chc nng
ca ANSYS CFX MMS (Memory Management System), ngi s dng c th
c ng tt nht vo cu trc d liu bn trong ca ANSYS CFX-Solver.
20

Cc bin CEL khng th dng vi junction box routine. Ta c th gi nhiu
junction box trong qu trnh chy.
Cc la chn v ch s ca cc Junction Box Routine
Mt junction box routine c to ra trong ANSYS CFX-Fre sao cho
ANSYS CFX-Solver c th bit c ni tm subroutine v khi no routine
ny s c s dng. Cc ch s phi c ch r nh l din t di y.
Cc ch s c thit lp cho user routine CCL phi tng t nh ch s
c s dng cho User CEL Function; tuy nhin cc ch s Junction Box
Location CCL c thm vo ch ra cc im m junction box routine c s
dng trong khi chy ANSYS CFX-Solver.
Cc ch s phi c thit lp cho USER ROUTINE CCL c th dng
c junction box routine.
Calling Name: l tn m ta dng trong subroutine ca mnh (v d: mysub
cho subroutine mysub ()). Ch rng tn ny nn cp thp hn thm
ch khi n cp cao hn trong file Fortran.
Library Name: l tn ca th vin chia s.
Library Path: l ng dn ti th mc cha th vin chia s.
Junction Box Location: l mt danh sch cc v tr trong thut gii m
juction box routine c s dng.
First Partitioning Call: ch c th dng khi s chia ct c din ra. Gi
junction box routine ch trc khi li c c v trc khi s chia ct
c din ra.
Start of Partitioning: ch c th dng khi s chia ct c din ra. Gi
junction box routine sau khi c li nhng trc khi s chia ct din ra.
End of Partitioning: ch c th dng khi s chia ct c din ra. Gi
junction box routine sau khi s chia ct c hon thnh v file .par c
vit.
21

First call: gi trc khi li c c v sau vic nhp gi tr vt l v
cho iu kin bin. Gi sau khi s chia ct c hon thnh nu c th.
Start of Run: gi sau khi thit lp c vn v li c c.
End of Run: gi sau khi kt qu c ghi li.
User Input: gi sau khi Start of Run. L v tr c khuyn dng cho
nhp code cho file Fortran ca ngi dng, n lm vic song song vi
nhiu phn chy.
User Start: gi sau khi User Input vi mi s chia tch.
User Output: gi sau khi End of Run. y l v tr c khuyn dng cho
vic xut ra kt qu, n lm vic song song vi nhiu phn chy.
Start of Timestep: gi khi bt u ca mi bc thi gian. Vic gi ny
c dng khi chy transient v lin quan n vng lp bn ngoi.
User Input Start of Timestep: gi ti thi im bt u ca mi ca mi
bc thi gian, lm vic ht nh User Input nhng c gi ti lc bt
u ca mi bc thi gian trong khi chy transient.
End of Timestep: c gi khi kt thc ca mi bc thi gian. Ch ng
dng cho chy transient v lin h ti vng lp bn ngoi.
Start of Coefficient Loop: c gi ti vng t gi tr vo, cho khi chy
transient v lin quan n vng lp bn trong.
User Input Start of Coefficient Loop: c gi ti thi im bt u ca
mi h s vng lp, lm vic ging nh User Iput nhng c gi ti thi
im bt u ca mi vng lp khi chy transient v trng thi steady.
End of Coefficient Loop: c gi ti thi im kt thc ca mi vng
t gi tr, dng khi chy transient v lin h ti vng bn trong.
Start of Linear Solution: c gi trc khi thut gii tuyn tnh cho
phng trnh nht nh.
22

End of Linear Solution: c gi sau khi thut gii tuyn tnh cho
phng trnh nht nh.
Abort: c gi khi thut gii dng li v mt s l do no .
Gi Juncton Box Routine
Rt nhiu junction box routine c nh ngha, nhng ch nhng
junction box routine c chn Solver Output Control tab s c gi trong
qu trnh chy ANSYS CFX-Solver.
1.2.2.3 Th vin chia s
Th vin chia s gip ta c th kt ni vi user routine trong qu trnh chy
ca ANSYS CFX-Solver v trnh vic cn phi to ra mt on code mi mi
khi dng user subroutine, iu ny lm tng chc nng ca ANSYS CFX. iu
ny th hin nh sau:
Cc ng dng khc nhau c th s dng li th vin thng thng hay
cch s dng th vin
Mt ng dng c th s dng mt vi th vin hay cc th vin thay th.
C hai user CEL function v junction box routine trong file CCL u phi
ch r tn th vin, tn gi duy nht v ng dn ti th vin chia s.
Cch to ra th vin chia s
File cfx5mkext.exe c s dng to ra cc th vin chia s. Ta phi chy
cfx5mkext help ly cc thng tin v cc argument c chp nhn. to
cc th vin chia s ta phi chy:
cfx5mkext myroutine1.F myroutine2.F
ti dng lnh. iu ny s to ra th mc c bit trong th mc ang lm
vic (v d nh: irix hoc winnt). Th mc ny cha cc file chia s ca th
vin nh: libmyroutine1.so (UNIX except hpux) libmyroutine1.sl (hpux) hoc
myroutine1.dll (Windows). Mt th vin c to ra cho tt c cc file nh
23

cfx5mkext. Mc nh, tn ca th vin c ly theo file u tin trong lnh
cfx5mkext.
Nu ta dng ch chy hai ANSYS CFX-Solver mt cch chnh xc, ta
nn s dng argument double vi cfx5mkext bin dch cc subroutine.
Ta c th xc nh cc tn khc nhau cho i tng ca th vin chia s
bng vic s dng la chn: -name. La chn c th c s dng ch ng
dn n v tr ca th vin. V d: cfx5mkext -name UserRoutine -dest
/home/user/SharedLibraries myroutine.F to ra libUserRoutine.so (UNIX except
hpux) libmyroutine.sl (hpux) or UserRoutine.dll (Windows). Khi thit k, ch
ra tn th mc trong /home/user/SharedLibraries.
Khi ch ra ng dn n th vin trong ANSYS CFX-Pre, ta nn ch ra
ng dn chnh xc ti th mc cha cha th mc con c thit k (v
d: /home/user/SharedLibraries v d trc, hoc trong Window c th l:
F:\user\SharedLibraries. Mt s cc ng dn ti th vin c cung cp
chp nhn vic chy phn phi song song qua cc thit k khc nhau.
1.2.2.4 Ph lc
Bin dch User Fortran Routine trong ANSYS CFX 11.0 Windows (32-bit)
B bin dch Intel Fortran 9.0 c khuyn co v s h tr vic bin dch
cho ANSYS CFX 11.0. Cc ng dn h tr cng c yu cu. Visual
C++2005 Express Edition c s dng min ph.
Cc th vin to vi Visual Fortran 6.6a (khng phi 6.5) s lm vic vi
Ansys CFX 11.0 Solver.Tuy nhin, cc sn phm c ci c mc nh l
dng b trnh dch Intel Fortran ch mc nh.
24

Bin dch 64-bit User Fortran Routine trong ANSYS CFX 11.0 Window 64.
B trnh dch Intel Fortran 9.0 EM64T c khuyn dng v h tr trnh
dch cho CFX 11.0 Window 64. Cc ng dn h tr c yu cu, SDK
cho Windows Server 2003 cung cp cc ng dn v c th c s dng.
B trnh dch mc nh ca Fortran.
Lnh cfx5mkext yu cu b trnh dch Fortran ng dn. Cc chng
trnh lnh trong bng sau l mc nh chy cc trnh dch mi trng hp
Bng 1.1 Cc chng trnh lnh

Nu cc chng trnh lnh trn khng chy trnh dch Fortran trng hp
ca ca ta, ta phi copy file <CFXROOT>/etc/cfx5mkext.ccl vo th mc ang
lm vic. Lnh cfx5mkext tm bn copy ca cfx5mkext.ccl trong th mc
ang lm vic trc.
nh dng mi trng Fortran trong Windows.
nh dng mi trng Fortran:
Ci Visual C++ 2005 Express Edition.
Ci Microsoft Platform SDK.
25

Cp nht th mc Visual C++ trong Project and Solution ca Option.
Thm ng dn chnh xc ti phn:
File chy: C:\Program Files\Microsoft Platform SDK for Windows Server
2003 R2\Bin
File bao gm: C:\Program Files\Microsoft Platform SDK for Windows
Server 2003 R2\Include
File th vin: C:\Program Files\Microsoft Platform SDK for Windows
Server 2003 R2\Lib
Sa li file: corewin_express.vsprops ( ng dn: C:\Program
Files\Microsoft Visual Studio 8\VC\VCProjectDefaults) nh sau, t dng
AdditionalDependencies=kernel32.lib
tr thnh
AdditionalDependencies=kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib \advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
Ci b trnh dch Intel Fortran 9.0
Thit lp mi trng Fortran bng vic chy file IFortVars.bat trong chc
nng nh lnh ca CFX (Launcher > Tools > Commande Line).
1.2.3 ng dng ca hm UDF.
Bi ton m phng dng chy u vo ca mt on ng ng dng User
Function Routine.
Ta s c m hnh: nc chy qua ng c bn knh 20 mm, ng ny c b mt
th bn trong. Dng chy c iu khin bng van bm, van ny c t
mt gc 55 vi phng thng ng. Vn tc u vo 5 (m/s), profile vn tc
c tha nhn l c pht trin y ti u vo ca ng, ngha l vn tc
u vo ca ng s tun theo phng trnh sau:
26


Trong :

: l vn tc u vo ln nht ca ng, l vn tc im tm ng.

= 5 (m/s).
l khong cch ca mt im ti v tr u vo vi tm ng.

l bn knh ca ng.

= 20 (mm).


Hnh 1.2 M hnh on ng c van bm


Hnh 1.3 Chia li cho m hnh mt na ng.
27

iu kin thit lp cho bi ton.
Cc bc thit lp User Function CEL Routine.
Bc 1: copy file PipeValve_inlet.F vo trong th mc ang c s
dng chy CFX.
Bc 2: bin dch file PipeValve_inlet.F. Chn: Tool > Command >
Editor, v g dng lnh:
! system ("cfx5mkext PipeValve_inlet.F") < 1 or die;
Khi file PipeValve_inlet.F s c bin dch, khi trong th mc ang
chy, th mc mi: winnt s c sinh ra v trong c 4 file:
PipeValve_inlet.dll, PipeValve_inlet.exp, PipeValve_inlet.lib,
PipeValve_inlet.o. Khi chc chn rng vic bin dch thnh cng v khng
c li no sy ra.
Bc 3: to User CEL Function trong CFX pre.
To mt User routine bng cch kch vo biu tng.
Chn Name: WprofRoutine.
Chn Option: User CEL Function.
Chn Calling Name: inlet_velocity (y l tn ca chng trnh con
trong file PipeValve_inlet.F).
Tn bin Kiu bin
u vo ng Inlet Velocity_INLET
u ra ng Outlet Pressure_OUTLET
Mt i xng symP Symmetry
Mt bao quanh ng Wall Wall
Min tnh ton FLUID Water
28

Chn Library Name: PipeValve_inlet (y l tn ca file fortran:
PipeValve_inlet.F).
Chn Library Path: th mc ang cha file PipeValve_inlet.F.
Bc 4: nhp cc thng s u vo s dng User Function
To mt User Function bng cch kch vo biu tng tng ng.
Chn Name: WprofFunction.
Chn Option: User Function.
Chn User Routine Name: WprofRoutine.
Chn Argument Unit: [m s^-1], [m], [m]. (n v cc thng s u
vo).
Chn Result Unit: [m s^-1]. (n v cho thng s u ra).
Sau s dng hm WprofFunction() nhp cc gi tr u vo v nh
ngha gi tr u ra.
Ni dung hm PipeValve_inlet.F.
#include "cfx5ext.h"
dllexport(inlet_velocity)
SUBROUTINE INLET_VELOCITY (
& NLOC, NRET, NARG, RET, ARGS, CRESLT, CZ,DZ,IZ,LZ,RZ )
INTEGER NLOC,NARG,NRETC
CHARACTER CRESLT*(*)
REAL ARGS(NLOC,NARG), RET(NLOC,NRET)
INTEGER IZ(*)
CHARACTER CZ(*)*(1)
DOUBLE PRECISION DZ(*)
LOGICAL LZ(*)
29

REAL RZ(*)
INTEGER ILOC
REAL EXPONENT, VALUE
CALL SET_A_0( RET, NLOC*NRET )
EXPONENT = 1.0/7.0

DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/ARGS(ILOC,3)
IF (VALUE .LT. 0.0) VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*VALUE**EXPONENT
END DO

CRESLT = 'GOOD'

C=====================================================
==================
END
ngha ca chng trnh ny nh sau:
Ta c ARGS(NLOC,NARG) mt ci bng gm NARG ct v NLOC hng,
y ta ch cn ti ct th 3:
1 Wmax Gi tr r ( bin i) Gi tr Rmax
2
3
4
30




NLOC
Ta dng function: WprofFunction, khi dng function ny nh sau:
WprofFunction(Wmax, r, Rmax) khi Wmax v Rmax l cc gi tr
c ta nh ngha cn r l mt bin ca h thng c nh ngha sn l

, trong x v y l cc ta . Cc gi tr Wmax, r, Rmax s


c nhp vo cc tng ng. Cc gi tr t cc bng ny s c ly ra
tnh ton nh sau. Vi r thay i, xt gi tr:


Nu

th gi tr vn tc bng khng, cho vng ngoi ng.


th gi tr vn tc s c tnh theo cng thc:



Vy l vn tc tng im ng vi tng gi tr r c tnh. Cc gi tr vn
tc ny c nhp vo mt bng RET(NLOC,NRET), vi NLOC hng v
NRET ct, y ta ch cn dng ti NLOC hng v 1 ct
1 Gi tr vn tc
2


NLOC
31

Cc gi tr vn tc ny c t n v l m/s trong qu trnh Pre v s
c CFX-Solver nhn bit v s dng.

Kt qu

Trng vn tc mt symmetry:


Trng vn tc u vo inlet:





32

Biu profile vn tc:


Nhn xt kt qu thu c: profile vn tc u vo c gi tr ln nht l 5
(m/s), ti v tr tm ng, gn bin vn tc tin dn v 0 (m/s), hnh dng
profile vn tc ta nh phng trnh:



33

Phn 2: Xy dng quy trnh m phng kh ng vt bay trong
mi trng phn mm ANSYS CFX
C th tm tt bi ton nh sau: S dng phn mm m phng s CFX m
phng kh ng mt tn la Harpoon RGM-84D bay ch bay hnh trnh
vi s Mach = 0,85 cc gc tn khc nhau trong di t 5
o
n 10
o
. Ban u
gc tn ca tn la s l 5
o
, c sau 0,2 (s) gc tn s tng ln 1
o
cho n khi gc
tn l 10
o
. Tng thi gian chy ca bi ton l 1,2 (s) vi 6 gi tr ca gc tn:
5
o
, 6
o
, 7
o
, 8
o
, 9
o
, 10
o
. Vic tng gi tr ca gc tn c thc hin bng
vic dng User Fortran trong Ansys CFX.

Hnh 2.1 Min tnh ton.

2.1 Xy dng m hnh hnh hc cho bi ton.
M hnh hnh hc: m hnh CAD 3D ca tn la Harpoon RGM-84D
c xy dng bng phn mm Cad theo cc thng s k thut ca tn la
RGM-84D:
34

Bng 2.1 Kch thc tn la Harpoon RGM84D
Chiu di ng knh Si cnh Tc Tm bn
RGM-84D 4,63 m 34,3 cm 91,4 cm M = 0,85 140 km
.

Hnh 2.2 M hnh CAD 2D tn la Harpoon


Hnh 2.3 M hnh 3D ca bi ton.
35

M hnh li: s dng phn mm Gambit chia li cho bi ton.

Hnh 2.4 Chia li m hnh.
Cc thng s ca m hnh li:
Kiu li: t din
M hnh: l/2 m hnh i xng qua mt i xng (symetry)
S lng li:1,2 triu li
c im li: dy b mt tn la, tha b mt min tnh ton.

Hnh 2.5 Chia li mt na m hnh bi ton trong Gambit.
36

2.2 iu kin bin ca bi ton.
Bi ton y l m phng tn la bay trong ng kh ng, chnh v vy
ta t cc iu kin bin cho m hnh bi ton nh sau:
Bng 2.2 iu kin bin cho bi ton.



Hnh 2.6 t iu kin bin cho bi ton trong Gambit.
37

2.3 Thit lp quy trnh thy i gc tn.
Vi cng mt m hnh to cc gc tn thay i cho tn la ta phi thay
i hng ca vn tc u vo so vi tn la.
Vn tc u vo ca tn la c ba thnh phn:

. Cng thc vn
tc u vo ti u vo (INLET):


(2-1)
V mc ch ca bi ton l to ra s thay i gc tn nn ta coi vn tc

l nh
hn rt nhiu so vi hai gi tr vn tc:

. Khi vn tc u vo ch cn hai
thnh phn:


(2-2)
T cng thc trn ta c:
{



(2-3)
Vi a l gc tn ca tn la, hay ni cch khc l gc to bi dng vo v
trc dc ca tn la. l gi tr vn tc u vo ca tn la:
.
38


Hnh 2.7 M hnh tn la trong Ansys CFX

Trong phn mm CFX, ta thay i gc vo ca vn tc bng cch thay i
gi tr ca

tng ng vi cc gc tn a = 5
o
, 6
o
, 7
o
, 8
o
, 9
o
, 10
o
. Ta iu
khin c 0.2 (s) gi tr

thay i mt ln bng cch dng User defined


CEL trong User Fortran. Ta phi b xung hai subroutine trong qu trnh chy
ca CFX Solver iu khin hai gi tr vn tc u vo

.
Chng trnh con iu khin vn tc

c trnh by trong ph lc
1.
Chng trnh con iu khin vn tc

c trnh by trong ph lc 2.
Bng chc nng User defined CEL, ta iu khin c gc vo ca
vn tc u vo theo thi gian, ngha l gc tn ca tn la cng thay i
theo thi gian.


39

2.4 Qu trnh thit lp

Table 1. Domain Physics for harpoon_001
Name Location Type Materials Models
Default
Domain
fluid.7 Fluid
AirIdeal
Gas
Heat Transfer Model = Total
Energy
Turbulence Model = k epsilon
Turbulent Wall Functions =
Scalable
Buoyancy Model = Non
Buoyant
Domain Motion = Stationary


Table 2. Boundary Physics for harpoon_001
Domain Name Location Type Settings
Default
Domain
INLET inlet Inlet
Blend Mach Number Type =
Local Speed
Flow Regime = Mixed
Heat Transfer = Static
Temperature
Static Temperature = 288.2 [K]
Mass And Momentum = Cartesian
Velocity Components and
Pressure
Relative Static Pressure = 0 [Pa]
40

U = 0 [m s^-1]
V = VyFunction(Wmax, r, t)
W = VzFunction(Wmax, r, t)
Turbulence = Medium Intensity
and Eddy Viscosity Ratio
Default
Domain
WALL wall Opening
Flow Regime = Subsonic
Opening Temperature = 288.2 [K]
Heat Transfer = Opening
Temperature
Mass And Momentum = Opening
Pressure for Entrainment
Relative Pressure = 0 [Pa]
Turbulence = Medium Intensity
and Eddy Viscosity Ratio
Default
Domain
OUTLET outlet Outlet
Flow Regime = Subsonic
Mass And Momentum = Average
Static Pressure
Relative Pressure = 0 [Pa]
Pressure Averaging = Average
Over Whole Outlet
Default
Domain
SYM symetry Symmetry
Default
Domain
Default
Domain
Default
missble Wall
Heat Transfer = Adiabatic
Wall Influence On Flow = No Slip
Wall Roughness = Smooth Wall


41

Sau y l hai lu quan trng trong qu trnh thit lp:
Vn tc Vy c a vo bng hm theo thi gian: V =
Vyfunction(Wmax,r,t).
Vn tc Vz c a vo bng hm theo thi gian: W =
Vzfunction(Wmax,r,t).

42

Phn 3: Xy dng quy trnh phn tch kt qu m phng kh
ng vt bay trong mi trng phn mm ANSYS CFX
3.1 Trng vn tc.
3.1.1 Phn tch s thay i vn tc u vo.
Nh ni nhng phn trn, ta to gc tn thay i bng cch thay i cc
gi tr

. Bng cc gi tr

tng ng vi tng gc tn nh sau:



Gc tn () Vy (m/s) Vz (m/s)
5 25.98722764 297.0353731
6 31.16725186 296.5365935
7 36.33778193 295.9474861
8 41.49724347 295.2682301
9 46.64406424 294.4990325
10 51.77667708 293.6401277


Cc gi tr

ti u vo ca bi ton c th hin qua cc th sau:






43




44




45




Cc hnh nh v trng dng ca vn tc ti cc gc tn thay i:


46



Nhn xt: qua cc th v hnh nh trng dng ti cc thi im khc
nhau ta nhn thy c s thay i v gc tn ca tn la theo thi gian. iu ny
chng t chc nng User defined CEL c s dng hiu qu.

3.1.2 Trng vn tc ca tn la.
Ta xt trng vector vn tc vi s vector vn tc va phi ti cc gc tn:


47





a =

a =



Trng vector vn tc th hin kh r dng kh ngy cng c xu hng tch
khi mt trn ca tn la khi gc tn cng tng. Vy khi gc tn t mt gi tr
cao hn th dng kh c hin tng c bit? Ta xt tip bi ton hai gc tn
c gi tr cao hn: a =

, v a =

. Ta c trng vector vn tc cc gc
tn:
48



Ti hai gc tn ny xu hng tch khi mt trn ca tn la c th hin
cng r, nhng trn trc dc tn la khng c hin tng xoy, dng kh xun
v i u. iu ny c th c gii thch bi hai l do. Mt l, thn tn la c
cu to rt khc mt profil cnh. Hai l, thn tn la c 4 cnh c tc dng n
nh dng kh rt tt. Vic khng xut hin xoy mt gc tn kh cao th hin
rng di gc tn hot ng tn la c th rt rng.

3.2 Trng p sut.
3.2.1 S n nh xoay quanh trc dc ca tn la.
Theo l thuyt, tn la khng xoay quanh trc dc cc m men lm xoay
tn la quanh trc dc phi trit tiu. Sau y ta phn b cc trng lc v p
sut tc dng ln cc cnh.
Trng p sut tc dng ln cc mt cnh thn pha trn tn la cc gc tn
khc nhau:
49





a =

a =


50

Trng p sut tc dng ln cc mt cnh thn pha di tn la cc gc
tn khc nhau:




51


a =

a =



Trng p sut tc dng ln cc mt cnh thn hai pha ca tn la:




a =


52



53


a =



Nhn xt: qua cc hnh nh v trng p sut ta c th thy trng p sut
i xng cc mt cnh thn pha trn v pha di ca tn la, hai trng p
sut mt cnh thn hai bn tn la i xng vi nhau ti cc gc tn.













54

Trng p sut tc dng ln cc mt cnh ui pha trn tn la cc gc
tn khc nhau:




55


a =

a =


Trng p sut tc dng ln cc mt cnh ui pha di tn la cc gc
tn khc nhau:


56




Trng p sut tc dng ln cc mt cnh ui hai pha ca tn la:


57



58



Nhn xt: qua cc hnh nh v trng p sut ta c th thy trng p sut
i xng cc mt cnh ui pha trn v pha di ca tn la, hai trng p
sut mt cnh ui hai bn tn la i xng vi nhau ti cc gc tn.
Khi phn tch trng lc v trng p sut cnh thn v cnh ui ta cng
c kt qu tng t nhau. Vy ta i n kt lun nh sau: khi bay vic n nh
xung quanh trc dc ca tn la l do cc trng p sut i xng, to
ra trng p sut ny th profil cnh thn v cnh ui phi l profil i
xng.

3.2.2 Vai tr ca cnh ui trong s n nh ln xung ca tn la.
Trng p sut tc dng ln cnh ui ti mt trn v mt di ca tn la
ti cc gc tn khc nhau:






59

Mt trn Mt di


60



61

Qua cc hnh nh v trng p sut ta thy:
Ti gc tn

: p sut c gi tr ln hn, tc ng trn mt din tch rng


(gm c cnh ui) pha di, phn ui ca tn la tn la. Phn ui
pha trn ca tn la c trng p sut c gi tr nh hn.
Khi gc tn cng tng, trng p sut pha di ui ca tn la cng
tng v trng p sut pha trn ui ca tn la cng gim.
Vy khi gc tn cng tng, ui s sinh ra mt lc, lc ny sinh ra mt m
men lm gim gc tn ca tn la. iu ny ph hp vi l thuyt v n nh
ca tn la: khi gc tn tng, ui s sinh ra mt lc c xu hng chng li s
tng gc tn ca tn la.
thy r vn trn ta chn mt vi cp im i xng trn-di phn
ui tn la. Cc cp im trn-di ln lt c ta l:
Cp 1 [(0.08575, 0.148523356, 8.9); (0.08575, -0.148523356, 8.9)].
Cp 2 [ (0.0244433, 0.171202, 8.96304); (0.0244433, -0.171202,
8.96304)].
Cp 3 [ (0.229608, 0.244324, 8.91221); (0.229608, -0.244324, 8.91221)].
Ta s o p sut ti cc cp im tng gc tn, sau lp th p sut
v gc tn cho mi cp im. Kt qu nh sau:
Cp im 1 [(0.08575, 0.148523356, 8.9); (0.08575, -0.148523356, 8.9) ].
Cp im ny nm trn thn tn la. th:
62


Cp im 2 [ (0.0244433, 0.171202, 8.96304); (0.0244433, -0.171202,
8.96304)], cp ny nm trn thn tn la, rt gn mp ui. Ta c th:

Cp im 3 [ (0.229608, 0.244324, 8.91221); (0.229608, -0.244324,
8.91221) ]. Cp im ny nm trn mt cnh ui trn v di. Ta c th:
8.6
8.8
9
9.2
9.4
9.6
9.8
5 6 7 8 9 10

p

s
u

t

(
e
+
4

P
a
)

Gc tn ()
Cp im 1
p sut trn
p sut di
7.4
7.6
7.8
8
8.2
8.4
8.6
8.8
9
5 6 7 8 9 10

p

s
u

t

(
e
+
4

P
a
)

Gc tn ()
Cp im 2
p sut trn
p sut di
63


Qua 3 th trn ta c th thy r rng l: khi gc tn tng th chnh p
gia trn v di ca tn la cng tng, p sut di ln hn p sut trn. S
chnh p ny lm tng mt m men c xu hng chng li s tng gc tn ca
tn la.
Ta khng th m phng c tt c cc trng hp cnh ui ca tn la
trong phm vi y, nhng: khi bay cnh ui ca tn la s xoay mt gc,
gc ny ph thuc vo ch bay hnh trnh ca tn la.

0
2
4
6
8
10
12
5 6 7 8 9 10

p

s
u

t

(
e
+
4

P
a
)

Gc tn ()
Cp im 3
p sut trn
p sut di
64

Ph Lc
1. Chng trnh con iu khin vn tc Vy:
#include "cfx5ext.h"
dllexport(Vy)
SUBROUTINE Vy (
& NLOC, NRET, NARG, RET, ARGS, CRESLT, CZ,DZ,IZ,LZ,RZ )
INTEGER NLOC,NARG,NRET
CHARACTER CRESLT*(*)
REAL ARGS(NLOC,NARG), RET(NLOC,NRET)
INTEGER IZ(*)
CHARACTER CZ(*)*(1)
DOUBLE PRECISION DZ(*)
LOGICAL LZ(*)
REAL RZ(*)
INTEGER ILOC, i
REAL EXPONENT, VALUE, t
C Initialise RET() to zero.
CALL SET_A_0( RET, NLOC*NRET )
DO i = 1, NLOC
t = ARGS(i,3)
IF (t .GE. 0 .AND. t .LE. 0.2) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.087266462)
end if
END DO
ElSE
IF (t .GE. 0.2 .AND. t .LE. 0.4) THEN
65

DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.104719755)
end if
ENDDO
ELSE
IF (t .GE. 0.4 .AND. t .LE. 0.6) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.122173047)
end if
ENDDO
ELSE
IF (t .GE. 0.6 .AND. t .LE. 0.8) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.13962634)
end if
ENDDO
ELSE
IF (t .GE. 0.8 .AND. t .LE. 1) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
66


2. Chng trnh con iu khin vn tc Vz:
#include "cfx5ext.h"
dllexport(Vy)
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.157079632)
end if
ENDDO
ELSE
IF (t .GE. 1 ) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.174532925)
end if
ENDDO
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
END IF
CRESLT = 'GOOD'
C=====================================================
==================
END
67

SUBROUTINE Vy (
& NLOC, NRET, NARG, RET, ARGS, CRESLT, CZ,DZ,IZ,LZ,RZ )
INTEGER NLOC,NARG,NRET
CHARACTER CRESLT*(*)
REAL ARGS(NLOC,NARG), RET(NLOC,NRET)
INTEGER IZ(*)
CHARACTER CZ(*)*(1)
DOUBLE PRECISION DZ(*)
LOGICAL LZ(*)
REAL RZ(*)
INTEGER ILOC, i
REAL EXPONENT, VALUE, t
C Initialise RET() to zero.
CALL SET_A_0( RET, NLOC*NRET )
DO i = 1, NLOC
t = ARGS(i,3)
IF (t .GE. 0 .AND. t .LE. 0.2) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.087266462)
end if
68

END DO
ElSE
IF (t .GE. 0.2 .AND. t .LE. 0.4) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.104719755)
end if
ENDDO
ELSE
IF (t .GE. 0.4 .AND. t .LE. 0.6) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.122173047)
end if
ENDDO
ELSE
IF (t .GE. 0.6 .AND. t .LE. 0.8) THEN
69

DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.13962634)
end if
ENDDO
ELSE
IF (t .GE. 0.8 .AND. t .LE. 1) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.157079632)
end if
ENDDO
ELSE
IF (t .GE. 1 ) THEN
DO ILOC = 1,NLOC
VALUE = 1.0-ARGS(ILOC,2)/8.003971
IF (VALUE .LT. 0.0) then
70

VALUE = 0.0
RET(ILOC,1) = ARGS(ILOC,1)*sin(VALUE)
ELSE
RET(ILOC,1) = ARGS(ILOC,1)*sin(0.174532925)
end if
ENDDO
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
END DO
C Set success flag.
CRESLT = 'GOOD'
C=====================================================
==================
END

You might also like