13
Performance Evaluation of Performance Evaluation of Radioss-CFD on the Cray-X1 Radioss-CFD on the Cray-X1 Alexander Akkerman (Ford) Dr. Hang-Sheng Hou (Ford) Dimitri Nicolopoulos (MCube) Herve Chevanne (Cray) Dave Strenski (Cray)

Performance Evaluation of Radioss-CFD on the Cray … Evaluation of Radioss-CFD on the Cray-X1 Alexander Akkerman (Ford) Dr. Hang-Sheng Hou (Ford) Dimitri Nicolopoulos (MCube) Herve

Embed Size (px)

Citation preview

Performance Evaluation ofPerformance Evaluation ofRadioss-CFD on the Cray-X1Radioss-CFD on the Cray-X1

Alexander Akkerman (Ford)

Dr. Hang-Sheng Hou (Ford)

Dimitri Nicolopoulos (MCube)

Herve Chevanne (Cray)

Dave Strenski (Cray)

205/20/2004

• Introduction to Radioss-CFD

• A sample exhaust system model showing theaccuracy of Radioss-CFD vs. experimentalresults

• Some performance results comparing the CrayX1 with the T90

• Code examples used to optimize Radioss-CFD

ObjectivesObjectives

305/20/2004

Wind NoiseAnalysis

Fan NoiseAnalysis

ExhaustNoiseAnalysis

Mirror Analysis

ApplicationsApplications

405/20/2004

Input condition: gas velocity profile at exhaust ports

0

100

200

300

0.00 0.03 0.05 0.08 0.10 0.13 0.15

Time (s)

Ve

loc

ity

(m

/s)

110,000 Nodes120,000 Elements200 milliseconds

Model Set-upModel Set-up

505/20/2004

d

hg

ji

k

Location g

-50000

0

50000

0.05 0.06 0.07 0.08 0.09 0.1 0.11

Time

pres

sure

(P

a)

Test

CAE

Location d

-60000

-10000

40000

0.05 0.06 0.07 0.08 0.09 0.1 0.11

Time

pres

sure

(P

a)

Test

CAE

TimeTimeDomainDomainComparisonComparison

Data locations

605/20/2004

Location g

8090

100110

120130

140150

160170

180

0 250 500 750 1000 1250 1500 1750 2000 2250 2500

Frequency (Hz)

SP

L (d

B) Test

CAE

Location d

80

90100

110

120130

140

150

160170

180

0 250 500 750 1000 1250 1500 1750 2000 2250 2500Frequency (Hz)

SPL

(dB)

Test

CAE

FrequencyFrequencyDomainDomain

ComparisonComparison

d

hg

ji

k

705/20/2004

Code Example 1Code Example 1

integer ndim real a0(3,ndim),a1(3,ndim),a2(3,ndim),a3(3,ndim)MV--< do 100 j=1,ndimMV a0(1,j) = a1(1,j) + a2(1,j) + a3(1,j)MV a0(2,j) = a1(2,j) + a2(2,j) + a3(2,j)MV a0(3,j) = a1(3,j) + a2(3,j) + a3(3,j)MV--> 100 continue

integer ndim real a0(3,ndim),a1(3,ndim),a2(3,ndim),a3(3,ndim)C-----< do 110 j=1,ndimC MV--< do 100 i=1,3C MV a0(i,j) = a1(i,j) + a2(i,j) + a3(i,j)C MV--> 100 continueC-----> 110 continue

805/20/2004

integer ndim real a0(3,ndim),a1(3,ndim),a2(3,ndim),a3(3,ndim) logical cond1C-----< do 110 j=1,ndimC if(cond1) thenC MV--< do 100 i=1,3C MV a0(i,j) = a1(i,j) + a2(i,j) + a3(i,j)C MV--> 100 continueC endifC-----> 110 continue : :C-----< do 310 j=1,ndimC if(cond1) thenC MV--< do 300 i=1,3C MV a0(i,j) = a1(i,j) + a2(i,j) + a3(i,j)C MV--> 300 continueC endifC-----> 310 continue

Code Example 2Code Example 2

905/20/2004

integer ndim real a0(3,ndim),a1(3,ndim),a2(3,ndim),a3(3,ndim) logical cond1MV----< do 100 j=1,ndimMV if(cond1) thenMV a0(1,j) = a1(1,j) + a2(1,j) + a3(1,j)MV a0(2,j) = a1(2,j) + a2(2,j) + a3(2,j)MV a0(3,j) = a1(3,j) + a2(3,j) + a3(3,j)MV endifMV----> 100 continue : :f-----< do 300 j=1,ndimf if(cond1) thenf a0(1,j) = a1(1,j) + a2(1,j) + a3(1,j)f a0(2,j) = a1(2,j) + a2(2,j) + a3(2,j)f a0(3,j) = a1(3,j) + a2(3,j) + a3(3,j)f endiff-----> 300 continue

Code Example 2Code Example 2

1005/20/2004

integer ndim real a0(ndim), a1(ndim), a2((ndim), a3(ndim) logical cond1(3,ndim) 1-----< do 120 i=1,ndim 1 2---< do 100 j=1,3 1 2 ml = 11 1 2 if(cond1(j,i)) ml = 52 1 2 if (ml.ne.11) goto 110 1 2---> 100 continue 1 110 continue 1 if(ml.ne.11) then 1 a0(i) = a1(i) + a2(i) + a3(i) 1 else 1 a0(i) = a0(i) * 20.0 1 endif 1-----> 120 continue

Code Example 3Code Example 3

1105/20/2004

real a0(ndim),a1(ndim),a2(ndim),a3(ndim) logical cond1(3,ndim) integer count_mlne11=0, list_mlne11(ndim) integer count_mleq11=0, list_mleq11(ndim) V------< do 100 i=1,ndim V ml = 11 V if(cond1(1,i)) ml=52 V if(ml.ne.11) goto 110 V if(cond1(2,i)) ml=52 V if(ml.ne.11) goto 110 V if(cond1(3,i)) ml=52 V if(ml.ne.11) goto 110 V count_mleq11 = count_mleq11 + 1 V list_mleq11(count_mleq11) = i V 110 continue V if(ml.ne.11) then V count_mlne11 = count_mlne11 + 1 V list_mlne11(count_mlne11) = i V endif V-----> 100 continue

Code Example 3Code Example 3

1205/20/2004

integer ndim real a0(ndim),a1(ndim),a2(ndim),a3(ndim) logical cond1(3,ndim) integer count_mlne11, list_mlne11(ndim) integer count_mleq11, list_mleq11(ndim) count_mleq11 = 0 count_mlne11 = 0 : : : CDIR$ CONCURRENT MVr---< do 200 idrive=1,count_mlne11 MVr i = list_mlne11(idrive) MVr a0(i) = a1(i) + a2(i) + a3(i) MVr---> 200 continue CDIR$ CONCURRENT MVr----< do 300 idrive=1,count_mleq11 MVr i = list_mleq11(idrive) MVr a0(i) = a0(i) * 20.0 MVr---> 300 continue

Code Example 3Code Example 3

1305/20/2004

• Radioss-CFD correlates well with experimentalresults

• The Cray X1 provides high enoughperformance to make these simulationspractical

• Further performance improvements arenecessary to address much larger simulations

SummarySummary