当前位置:天才代写 > 其他代写 > 代写Python留学生项目计算机题目:房屋供暖消耗能源的模拟项目

代写Python留学生项目计算机题目:房屋供暖消耗能源的模拟项目

2017-12-28 08:00 星期四 所属: 其他代写 浏览:681

 

项目背景内容介绍:

 

伦敦一个区域(Haringey)的房屋供暖消耗能源的模拟项目。之前的学生完成了该地区的 Synthetic population

 

(综合人口生成)的步骤,对于该地区的每个人,我们现在知道了他属于哪个家庭,他的年龄,职业状况,等等社会特征。根据另一组数据源建立的 markov chain,我们也知道他每一天的各个时段在哪里做什么(每

 

10 分钟为单位),是否在家,如果在家的话,他是否在睡觉。

 

我们假设,只要一个家里(Household)有至少一个人在家,家里的供暖系统就会被开启。初始的房屋室内温度是 20 度。如果家里没有人,家里的供暖系统就会被调为 0 度;如果有至少一个人且至少一个人不在睡觉(是活跃的),那么家里的供暖系统会被自动设定为 22 度;如果家里所有的人都在睡觉,那么家里的供暖系统会设定为 18 度。(这些部分都已经做好了)

 

为了简单化模型,现在片区的所有房屋都被假设为是一个 60 平米的固定大小的单层长方形盒子,房屋的隔热性能和材料(U-value),以及住户的散热率都是固定的。

 

现在该地区每一个人口的社会属性,属于哪一个家庭,以及家庭里每一个成员的日程安排(是否在家)都知道了,跟据这些数据做的地区供暖能源消耗计算模型也做好了(见 project 文件夹 Urban-Occupants-

 

Paper),所有项目的代码和文件都在以下的文件包里,特殊的说明和注意事项在 README.md 文件里。

 

 

 

现在的任务是,与其假设房屋都是统一大小的正方形盒子,我们根据该片区真实的每个家庭所在房屋数据,随机赋予房子真实的房屋面积(Floor area)和房屋隔热性能,具体方法如下:根据该片区的人口普查结果,该片区有 7 类房屋:

Detached whole house or bungalow

 

Semi-detached whole house or bungalow

 

Terraced whole house or bungalow

 

Purpose built flat or maisonette

 

Converted or shared house (belongs to the flat or maisonette category)

 

Caravan (including rooms, caravan, mobile homes, houseboat)

 

Other (flats and maisonette in commercial buildings)

 

在把 dwelling type 加入了 synthetic population (合成人口数据)之后,对于人口中的每一个人,我们都知道了他所住房子的 dwelling_type 类型(以上 7 类中的一类):(这个部分已经完成,除了有一个 bug 存在,具体下面介绍,希望能加以解决)。现在的任务就是在计算供暖耗能的时候,根据房屋的类型,从该类型的所有行数据里随机抽取一行代入计算。

 

请见 Haringey_All 表格,其中中每一行都是一个单位家庭,在名为 dwelling type 的列,每一个家庭的房屋类型(以上 7 类中的 6 类)都已经定义好了,其中 Other (flats and maisonette in commercial buildings) 没有被纳入,因为无法定义,它的特性赋值就用默认定值(见下面的表格)。其余的需要随机抽样的相关的列有:

 

-Floor Area: 房屋占地面积

 

-Window to wall ratio (WWR): 窗户与墙的面积比

 

-U-value wall: 墙的热传导性

 

-U-value roof: 屋顶的热传导性

 

-U-value floor: 地板的热传导 -U-value window 窗户的热传导


 

现在需要的是从同一个类型的 dwelling_type 数据集合中随机抽取 floor area, U-value wall,


 

U-value roof  U-value window,赋予给这个房子,取代原有的默认值。比如某一个房子已知是Detached whole house or bungalow类型,那么就从所有 dwelling_type 列叫Detached whole house or bungalow 的房屋数据里随机抽取一行,把相应的-Floor Area: 房屋占地面积, Window to wall ratio )WWR: 窗户与墙的面积比,U-value wall: 墙的热传导性,U-value roof:

 

屋顶的热传导性,U-value floor: 地板的热传导,U-value window 窗户的热传导 赋值给该房屋,现有的模块会自动计算供暖的能量消耗,把赋值完成就可以了。如果某一个房子是Other

   (flats and maisonette in commercial buildings) 类型的,那就不用抽样了,继续沿用之前的默

 

认定值就可以了。

 

 

要注意的是,不同的个人可以属于同一个家庭,因而住同一个房屋,注意不要将不同的房屋性质赋予给同一个房子。

 

Other (flats and maisonette in commercial buildings) 类的房子特性赋值表:(均为默认定值)

 

Parameter name

Value

Parameter name

Value

Thermal mass capacity

9.9 MJ/K

Initial indoor temp

20

165000 x floor area [J/K]

Thermal mass area

150    2

Absent set point

0

2.5 x floor area [m^2]

Floor area

60    2

Passive set point

18

Room height

2.5 m

Active set point

22

Window to wall ratio

0.19

Maximum heating power

10 kW

U-value wall

0.26 W/(  2K)

Metabolic heat active

140 W

U-value roof

0.12 W/(  2K)

Metabolic heat passive

70 W

U-value floor

0.40 W/(  2K)

Metabolic heat < 18

0.75

U-value window

1.95 W/(  2K)

Natural ventilation rate

0.65 l/(s    2)

Transmission adjustment ground

0.91

除此之外其余 6 类的房子特性赋值表:

Parameter name

Value

Parameter name

Value

Thermal mass capacity

随机在 Haringey_All

表格中

Initial indoor temp

20

165000 x floor area [J/K]

相对应的房子类别中随机抽

floor area 的值,再乘上相

应的系数: 165000

Thermal mass area

随机在相对应的房子类别中

Absent set point

0

2.5 x floor area [m^2]

随机抽样 floor area 的值,再

乘上相应的系数: 2.5

Floor area

随机在相对应的房子类别中

Passive set point

18

随机抽样 floor area 的值

Room height

2.5 m

Active set point

22

Window to wall ratio

随机在相对应的房子种类的

Maximum heating power

10 kW

所有相应数据中随机抽样

WWR 列的值

U-value wall

随机在相对应的房子种类的

Metabolic heat active

140 W


所有相应数据中随机抽样 U-

value wall 的值

U-value roof

随机在相对应的房子种类的

Metabolic heat passive

70 W

所有相应数据中随机抽样 U-

value roof 的值

U-value floor

随机在相对应的房子种类的

Metabolic heat < 18

0.75

所有相应数据中随机抽样 U-

value floor 的值

U-value window

随机在相对应的房子种类的

Natural ventilation rate

0.65 l/(s    2)

所有相应数据中随机抽样 U-

value window 的值

Transmission  adjustment

0.91

ground

 

另一个任务:

 

修复现在执行 make file  44 

 

过程中 assertion  bug (数据数量不一样的问题) 见下图导入的 nomis 数据的总量不等于之前导入 Haringey 地区的 household 的总量 (理论上必须相等)

 

可能原因:

 

urbanoccupants  urbanoccupants 文件夹里的 census.py 中的两个 function 的问题: def read_household_type_data (geographical_layer = GeographicalLayer.LSOA)

 

def read_dwelling_type_data (geographical_layer = GeographicalLayer.LSOA)

 

 

图片7.png

 

其余的项目文件大致介绍:

 

Urban Occupants Paper 文件夹中:

 

Config 文件夹中的 default.yaml 文件盛放房屋特性的数值(现在都是定值)。其它文件都类似,就是修改了一两个变量的数值而已。

 

Data 文件夹中盛放模型需要的数据源。(不需要更改)


 

Doc 文件夹中是生成的模拟结果文档和图像。(不需要更改)

 

Scripts 文件夹中放了: Plot 文件夹:放着生成图像结果的代码 (不需要改)

 

Tus 文件夹:放着对应人口和家庭数据的方法;生成当地综合人口的生成过程和方法,模拟一个人在不在家的方法,还有计算不同的社会和家庭特性之间的联系的算法。(不需要改)

 

Simulationinput.py 文件里放了运行模型需要的数据,应该需要更新相对应的房屋特性的部分。

 

Urbanoccupants 文件夹中的 tests 文件夹里放了生成每个人每天行程(判断是否在家)的方法(不需要改)。

 

Urbanoccupants 文件夹里的 urbanoccupants 里的部分文件应该需要相应修改:

 

Census.py 里放了导入网上的英国人口普查数据,以及数据处理验证的过程。

 

Synthpop.py 里放了形成综合人口的过程,其中最近刚加入 dwelling type 作为一个新变量。 Utils.py 里放了读取输入数据的方法。

 

Types.py 里放了人口和家庭的种类划分。 Person.py 里放了判断一个人什么时段在家的算法。

 

Hipf.py 里放了让每个人归属于特定的家庭,以防重复或者错误(两个人属于同一个家庭却赋予了不同的值)的层级算法。

 

运行模型的方法: Linux  IOS 系统可以直接执行 makefile, 但是 windows 得一行一行执行。

 

这个链接里有具体的运行模型的条件和要求:

 

https://github.com/gw382/urban-occupants-paper

 

需要安装 conda, Git, Java 1.8

 

    关键字:

天才代写-代写联系方式