国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

ECM3446代做、代寫Python/C++編程
ECM3446代做、代寫Python/C++編程

時間:2025-02-09  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



ECM3446: CA
This continuous assessment is for the ECM3446 version of the High Performance Computing
module. If you are an undergraduate student you should follow these in- structions. If you are a
student on an MSc programme please refer to the “ECMM461: Continuous assessment 1”
instructions instead.
1 The Atmospheric Boundary Layer
The part of the Earth’s atmosphere nearest the surface is known as the “Atmospheric Boundary
Layer”, and in this part of the atmosphere the wind speed increases with height. This causes
material emitted from a chimney to be advected at di↵erent horizontal speeds depending on its
height. Figure 1 shows material from a chimney being advected by the wind.
Figure 1: Material emitted from a chimney being advected by a horizontal wind
The wind in the Atmospheric Boundary Layer can be approximated as a horizontal velocity which
depends only on the height (z) and zero vertical velocity. The horizontal velocity as a function of height
vx(z) can be represented by a logarithmic profile
(1)
where u is a parameter called the “friction velocity”, z0 is a parameter called the “roughness
length”, and = 0.41 is a constant called Von K´arm´an’s constant.
2 The assignment
In this assignment you will calculate a numerical solution to the advection equation to simulate the
movement of a cloud of material in the atmospheric boundary layer. There are four parts to this assignment:
• Task 1: For the first part of this assignment you will parallelise a program which calculates a
numerical solution to the 2D advection equation. You have been provided with the program
1
-
-ECM3446: CA
and you will need to parallelise it using OpenMP. This part of the assignment is described
in Section 2.1.
• Task 2: For the second part of this assignment you will modify the program to change
the parameters of the test problem into a more realistic configuration. This is described in
Section 2.2.
• Task 3: For the third part of this assignment you will add a logarithmic velocity profile to
the program. This is described in Section 2.3.
• Task 4: For the fourth part of the assignment you will calculate the horizontal profile of the
advected material by calculating a vertical average. This is described in Section 2.4.
This assignment assesses the following Intended Learning Outcomes:
• Demonstrate skills in parallel processing algorithm design and the practical implementation
of such algorithms
• Demonstrate an awareness of numerical e↵ects and the influence of floating point number
representation in high-performance computing applications.
• Interpret an informal requirement specification
• Systematically analyse information and make appropriate design choices
2.1 Task 1: Parallelising the program
The advection equation for a two-dimensional scalar field u(x, y) is
(2)
where vx and vy are the velocities in the x and y direction, respectively. You have been
provided with a C program which calculates a numerical solution to the advection equation
for a two- dimensional scalar field u(x, y) using finite di↵erence approximations. The program
uses one-sided di↵erences to calculate the spatial derivatives
dy (4)
where ui,j is the value of the scalar field u(x, y) at grid point (i, j), dx is the spacing of grid points
in the x direction and dy is the spacing of grid points in the y direction. The solution starts
from specified initial conditions at time t = 0 and is updated from time t to time t + t using
forward-Euler time steps
t (5)
The program uses 1000 ⇥ 1000 grid points covering a unit square computational domain 0 &#***3;
x &#***3; 1.0 and 0 &#***3; y &#***3; 1.0. The initial conditions are a Gaussian given by the expression
(6)
The Gaussian is centred at x0 = 0.1, y0 = 0.1 and has a width x = y = 0.03. The boundary
conditions are u = 0 on all boundaries. The program calculates 1500 time steps, and the time step
size is calculated from the Courant condition with a CFL number of 0.9. The velocities in the x
and y directions are vx = 0.01 and vy = 0.01 respectively.
The first part of the assignment is to parallelise the program provided using OpenMP. There
are 10 loops or loop nests (a loop over j inside a loop over i) in the program and these have been
identified with a comment of the form
2ECM3446: CA
/* LOOP N */
where N is an integer between 1 and 10 inclusive. For each loop or loop nest you should decide
whether it can be correctly parallelised by adding an OpenMP directive:
• If the loop can be correctly parallelised then you should parallelise it by adding an OpenMP
directive, ensuring that all variables are correctly scoped. You do not need to scope variables
which have the const qualifier.
• If the loop cannot be parallelised then you should add a comment in the program to say that
the loop cannot be parallelised and explain why.
To build the serial program in ISCA use the command
gcc -o advection2D -std=c99 advection2D.c -lm
To build the program with OpenMP enabled in ISCA use the command
gcc -fopenmp -o advection2D -std=c99 advection2D.c -lm
A gnuplot script which plot the final values of u(x, y) has been provided.
The parallelised version of the program must produce exactly the same output as
the original program.
2.2 Task 2: Modifying the calculation
In this section you will modify the example program to change the test problem so that it more
closely resembles a cloud of material emitted from a chimney. This requires changing the size of
the computational domain, the initial conditions, the velocities and the number of time steps.
In the following instructions distances are measured in metres (m) and velocities in metres per
second (m/s).
• The test problem uses a computational domain which is a unit square (it covers the range
0 &#***3; x &#***3; 1.0 and 0 &#***3; y &#***3; 1.0). Change the computational domain so that it covers the range
0 &#***3; x &#***3; 30.0 m and 0 &#***3; y &#***3; 30.0 m
• For this calculation we require the Gaussian to be on the left hand side of the domain and
vertically centred. Change the centre of the Gaussian to x0 = 3.0 m, y0 = 15.0 m
• The cloud of material will have a larger vertical extent than horizontal extent. This will be
represented by a Gaussian which has di↵erent widths in the x and y directions. Change the
widths of the Gaussian specified in the initial conditions to x = 1.0 m and y = 5.0 m
• The material in the atmospheric boundary layer advects horizontally but not vertically.
Change the horizontal velocity to vx = 1.0 m/s and change the vertical velocity to vy = 0.
• Change the maximum number of time steps to 800 so that the material does not advect out
of the computational domain.
After you have made these changes re-compile and re-run the program. If necessary update
the OpenMP directives to ensure that the program produces identical results with and without
OpenMP.
Now plot the initial and final values of u(x, y). The initial values are in the file initial.dat
and the final values are in the file final.dat. You can use the example gnuplot script provided
but you will need to change the axis limits to match the new computational domain size. Plots of
the initial and final values of u(x, y) are shown in Figure 2 for comparison.
3ECM3446: CA
Figure 2: Initial (left) and final (right) values of u(x, y) from the calculation in Section 2.2
2.3 Task 3: Adding vertical shear
In this section you will modify the program so that the horizontal velocity varies with height
according to the logarithmic profile given in equation 1. The logarithmic profile should only be
used if z is greater than the roughness length z0. If z > z0 calculate the horizontal velocity using
equation 1, and if z &#***3; z0 set the horizontal velocity to zero. The parameters of the profile should
be set to u⇤ = 0.2 m/s, z0 = 1.0 m and &#***3; = 0.41.
In the program the variable y represents the height z in equation 1. The computational domain,
the initial conditions and the number of time steps should be kept at the values specified in the
previous section (Section 2.2).
Modify the horizontal velocity as described above and re-run the program. If necessary update
the OpenMP directives to ensure that the program produces identical results with and without
OpenMP.
Now plot the final values of u(x, y) (the initial values are the same as in the previous
section). Plots of the initial and final values of u(x, y) are shown in Figure 3.
Figure 3: Initial (left) and final (right) values of u(x, y) from the calculation in Section 2.3
2.4 Task 4: Calculating the vertically averaged distribution
In this last section you should calculate the vertically averaged distribution of u(x, y) at the end
of the calculation in Section 2.3. The vertical average should cover the whole vertical domain but
should not include the boundary values. The code you add to the program does not need to be
4ECM3446: CA
parallelised. Plot the vertically averaged values of u as a function of x using a line
graph.
3 Deliverables
The deliverables for this assignment are the source code for the program with your modifications,
and the four plots showing your results:
1. Source code for the final version of the program. The program should include the OpenMP
directives added in Section 2.1 with any changes required to ensure the modified program
continues to work correctly. The computational domain, the initial conditions, the velocities
and the number of time steps should be set to the values used in Section 2.3.
2. Four plots showing the output from running the program. The required plots are:
• A plot of the initial conditions u(x, y) from Section 2.2
• A plot of the final values of u(x, y) from Section 2.2
• A plot of the final values of u(x, y) from Section 2.3
• A plot showing the vertically averaged profile of u from Section 2.4
The plots may be generated using the gnuplot script provided, or alternative plotting software
of your choice provided the data values in the plot are clearly represented. Your plots should
be delivered as PNG or PDF files.
The deliverables should uploaded to ELE a single zip or tar file containing the
source code for the final version of the program, and the four plots. The deadline for
submission is 12 noon 20 February 2025.
4 Mark scheme
A total of 100 marks are available for this assignment:
1. Task 1: Parallelising the program (30 marks)
(a) For each of the 10 loops or loop nests identified in the program there are two marks to
be awarded according to the following criteria:
• The loop has been correctly identified as either one that can be parallelised or one
that cannot be parallelised (1 mark)
• If the loop can be parallelised then an appropriate OpenMP directive has been
added which unambiguously and correctly scopes all variables. Variables with the
const qualifier do not need to be scoped (1 mark)
OR
• If the loop cannot be parallelised then a comment has been added with a correct
explanation of why the loop cannot be parallelised (1 mark).
(b) An additional 10 marks are awarded if the parallelised program produces results which
exactly match the original serial program.
2. Task 2: Modifying the calculation (20 marks)
10 marks are awarded for correctly modifying the computational domain, the initial conditions
 and the number of time steps, as specified in Section 2.2. 5 marks are awarded for the
plot of the initial conditions and 5 marks are awarded for the plot of the final results.
3. Task 3: Adding vertical shear (25 marks)
20 marks are awarded for correctly modifying the velocity profile as specified in Section 2.3.
5 marks are awarded for the plot of the final results.
5ECM3446: CA
4. Task 4: Calculating the vertically averaged distribution (25 marks)
20 marks are awarded for correctly modifying the program to calculate the vertically averaged
distribution of u as specified in Section 2.4. 5 marks are awarded for the plot of the final
results.


請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp



 

掃一掃在手機打開當前頁
  • 上一篇:代寫CCBS4020、代做c/c++,Python設計程序
  • 下一篇:代寫INT2067、代做Python編程語言
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養 十大衛浴品牌排行 suno 豆包網頁版入口 wps 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    日韩在线一级片| 韩国欧美亚洲国产| 久久99精品国产99久久| 麻豆蜜桃91| 国产在线欧美日韩| 欧美连裤袜在线视频| 青青草原一区二区| 欧美专区日韩视频| 欧美日韩亚洲一二三 | 欧美激情喷水视频| 国产精品电影网| 日韩精品欧美专区| 欧美区高清在线| 欧美成ee人免费视频| 欧美日韩一区二区三区电影| 欧美日韩在线高清| 欧美在线播放一区二区| 日韩视频免费在线播放| 色综合av综合无码综合网站| 欧美一区二区高清在线观看| 日韩久久久久久久| 欧美极品色图| 国产毛片视频网站| 91精品国产综合久久香蕉922 | 欧美精品九九久久| 亚洲一区二区三区欧美| 亚洲欧美精品在线观看| 日本在线视频不卡| 欧美一级黑人aaaaaaa做受| 欧美二区三区| 国产美女在线精品免费观看| 91精品在线一区| 久久精品第九区免费观看| 日韩中文字幕在线精品| 国产精品丝袜一区二区三区| 精品国产av无码一区二区三区| 亚洲制服欧美久久| 欧美中文字幕精品| 国产伦精品一区二区三区视频孕妇| 北条麻妃在线视频观看| 国产freexxxx性播放麻豆| 国产精品久久久久久久天堂| 亚洲午夜精品久久久中文影院av| 午夜肉伦伦影院| 免费一区二区三区| 久久免费国产视频| 精品久久久久久综合日本| 色999五月色| 国产在线视频欧美| 久激情内射婷内射蜜桃| 欧美日韩xxxxx| 日韩欧美亚洲区| 国产日韩精品视频| 国产va免费精品高清在线观看| 久久精品视频在线观看| 亚洲国产精品一区二区第四页av| 日韩欧美国产综合在线| 国产精品一区二区你懂得| 久久99精品久久久水蜜桃| 久久国产精品久久久久久久久久| 日本网站免费在线观看| 国产一区二区不卡视频在线观看 | 精品亚洲第一| 久久久久中文字幕| 亚洲一卡二卡区| 免费观看亚洲视频| 国产激情在线看| 精品乱码一区二区三区| 久久91亚洲精品中文字幕| 欧美性视频在线播放| 国产精品99久久久久久久久久久久| 国产精品第一第二| 欧美亚洲视频一区二区| 久久人人九九| 亚洲福利av| 97碰碰碰免费色视频| 欧美成人在线网站| 僵尸世界大战2 在线播放 | 91看片淫黄大片91| 国产精品国模在线| 欧美在线免费视频| 国产裸体写真av一区二区| 日韩在线视频一区| 欧美一级免费在线观看| 99久久国产免费免费| 久久99精品久久久久久琪琪| 韩国v欧美v日本v亚洲| 久久精品视频中文字幕| 欧美午夜精品久久久久免费视| 国产成人精品免费视频| 日日橹狠狠爱欧美超碰| 69**夜色精品国产69乱| 亚洲v日韩v欧美v综合| 91麻豆蜜桃| 欧美一区二区三区艳史| 国产精品50p| 午夜精品久久久久久久白皮肤 | 男女猛烈激情xx00免费视频| 久久久国产在线视频| 欧美日韩高清免费| www国产精品com| 欧美久久久久久久久久久久久| 三级精品视频久久久久| 欧美自拍资源在线| 久久久精品一区| 欧美日韩一区在线视频| www.久久久久| 欧美 国产 综合| 麻豆国产精品va在线观看不卡 | 不卡av在线网站| 成人免费毛片在线观看| 亚洲一区影院| 久久久免费精品| 热草久综合在线| 国产精品久久久久av福利动漫| 国产欧美一区二区三区久久人妖| 欧美片一区二区三区| 成人国产精品久久久| 亚洲精品日韩精品| 91久久精品在线| 亚洲免费精品视频| 欧美激情精品久久久久久大尺度| 欧美精品在欧美一区二区| 久久免费视频1| 日韩无套无码精品| 国产精品美女主播| 成年人网站国产| 日韩少妇中文字幕| 久久综合亚洲社区| 97精品免费视频| 青青草影院在线观看| 精品丰满人妻无套内射| 国产免费一区二区三区在线能观看| 亚洲综合中文字幕在线| 久久久久一本一区二区青青蜜月| 国内精品中文字幕| 成人久久精品视频| 日本不卡一区二区三区视频| 国产精品久久久久久久久久99| 91免费精品国偷自产在线| 欧美精品一区在线| 一本色道久久综合亚洲二区三区| 久久av喷吹av高潮av| 国产自偷自偷免费一区| 无码人妻丰满熟妇区96| 国产精品女主播视频| 97人人模人人爽视频一区二区| 青青草一区二区| 亚洲永久在线观看| 国产精品视频男人的天堂| 91精品免费视频| 国产日韩精品在线观看| 日韩美女免费线视频| 一区二区成人国产精品| 国产精品激情av电影在线观看| 91成人免费视频| 国产资源在线视频| 99色精品视频| 国产一区深夜福利| 人人妻人人澡人人爽欧美一区 | 国产深夜精品福利| 日韩欧美猛交xxxxx无码| 亚洲色成人一区二区三区小说| 国产精品视频免费在线| 久久久精品有限公司| 国产精品最新在线观看| 红桃一区二区三区| 日韩欧美亚洲精品| 午夜免费电影一区在线观看| 欧美日本中文字幕| 国产精品久久久久福利| 久久精品亚洲国产| 国产成人av影视| 91精品国产自产在线观看永久| 国产亚洲第一区| 蜜桃成人在线| 明星裸体视频一区二区| 任我爽在线视频精品一| 日日橹狠狠爱欧美超碰| 亚洲欧洲在线一区| 一级特黄妇女高潮| 一区二区三区在线视频看| 欧美精品在线看| 欧美另类69精品久久久久9999| 国产精品入口免费视频一| 日韩在线一区二区三区免费视频| 91精品国产91久久久久福利 | 黄色小网站91| 黄色免费高清视频| 黄色小视频大全| 国模视频一区二区| 国产视频九色蝌蚪| 国产视频一区二区三区四区| 国产嫩草一区二区三区在线观看| 国产香蕉一区二区三区| 国产人妖伪娘一区91| 国产精品自拍小视频| 99中文字幕| 久久久久成人精品免费播放动漫| 久久99精品久久久水蜜桃|