Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

MCD4140 ASSIGNMENT – T3 2022

LEARNING OUTCOMES

• Demonstrate understanding of commonly used numerical methods for solving engineering problems

• Demonstrate ability to appropriately apply numerical methods to engineering problems with the understanding of some of the limitations of such methods.

• Develop structured problem solving techniques and demonstrate the knowledge of programming concepts and the ability to write simple programs.

ASSIGNMENT GUIDELINES

To start the assignment, download and extract the template on Moodle having both data-files and m-files. You will write your code inside the m-files that are named according to the question you are answering (e.g., Q1.m, Q2.m, etc.).

— DO NOT rename the template m-files or change run_all.m.

— DO NOT use close all, clear all or clc inside any m-files. The question files are called in order and will use workspace variables from earlier questions. Your teacher will also need to examine any outputs and variables after calling run_all.m.

— You can check your solutions by running the run_all.m script and see if your code has successfully answered your attempted assignment questions.

— This assignment assesses your ability to apply concepts taught in MCD4140. Therefore, do not use any toolboxes or functions that are not taught in MCD4140, unless otherwise specified.

SUBMITTING YOUR ASSIGNMENT

Your assignment is to be uploaded through Moodle as a single zip‐archive (.zip) (no other formats such as, ‘.rar’, ‘.tar’, ‘.7z’, etc. will be accepted). Your submission must have the following:

1. The m‐files having your answers to each assignment task (even if no attempt was made). (e.g., Q1a.m, Q1b.m, etc)

2. The run_all.m script and any extra function‐files your code needs to run correctly (e.g., euler.m, falseposition.m, etc.)

3. All data files needed to run the code including the data provided to you in the template (e.g., population.csv, etc.)

4. A completed and signed coversheet.

MARKING PROCESS

Your zip file will be downloaded from Moodle and only these files will be marked. It is your responsibility to check before submitting that all files are included in your submission so that can run correctly. During the practical session in Week 12 you will be interviewed by your tutor, where they will ask questions about your code and to assess your understanding. If you do not attend the interview session you will be given score of 0 for this assignment.

Important:

If you have used an online version of MATLAB, or a non-Windows operating system, it is your responsibility to ensure that your submission can be run on a Windows-based system correctly. If you cannot obtain access to a Windows system due to extenuating circumstances, it is your responsibility to contact the unit leader as soon as possible, and before the assignment submission date.

MARKING SCHEME

This assignment is worth 10% of the unit mark. Your assignment will be graded using the following criteria:

1. run_all.m produces results automatically without needing intervention.

2. Your code produces correct results (printed values, plots, etc…) and is well written.

3. Poor programming practice will result in a loss of up to 2 marks out of 10.

4. Your ability to answer questions that test your understanding of the assignment questions and the given code.

ASSIGNMENT HELP

— You may reuse the function files that you have written in class and developed in lectures.

— You should look to clarify anything you are unsure off in the questions by attending consultation sessions, asking questions on the Moodle forum, and with teaching staff directly.

— The m-file templates have comments and sections as a guide only. You can remove any comments and use alternative solution methods that best suit your needs.

— Read the questions carefully and look out for any tips to help you with each task.

— Spend time planning your approach to each question before your start to code.

— Break-down each question into smaller tasks which are more manageable, then focus on solving them one-by-one, and then afterwards combine them into the full solution.

— Add code in small parts and check the output often. This will aid you to find errors in your code more easily and solve them more quickly.

— Keep a close eye on the workspace variables!

▪ Do they make sense in terms of the problem?

▪ Are they the correct size and type?

▪ Are you missing any data?

Spending a little bit of time to think about the question and how you will develop a solution, will drastically improve the overall time needed!

HARVESTING THE WIND                                                          [118 MARKS]

BACKGROUND

A wind farm is a group of wind turbines grouped in the same found which are used to produce electricity. Wind turbines convert the kinetic energy of wind into mechanical energy to generate electricity. Modern wind farms may have capacities in the order of 102 Megawatts (MW) and are installed offshore as well as on land. When wind flows over propeller-like blades, they experience a lift force (e.g., like that on an aeroplane wing), which spins a rotator, and drive a generator to produce electricity (Letcher, 2017).

Figure 1 – Wind Farm

For wind turbines to work effectively over their lifespan, they naturally need access to favourable atmospheric conditions with suitable wind speeds. To develop a clear picture of these dynamics at a given location, attainment of correct data and the capability to rigorously analyse it are essential. Only when these are in hand are the overall success and economic viability of a wind farm be ensured (Cleveland & Morris, 2009).

ASSIGNMENT OBJECTIVES

In this assignment you will be investigating wind farm location viability and the performance of three Australian wind farms located in Ararat, Silverton, and Boco Rock that employ GE turbines for power generation. The assignment aims are structured into two parts:

Part 1 – Data Processing: You will clean and interpret satellite recordings of on-shore wind speed data for analysis in later parts of the assignment.

Part 2 – Performance Analysis: Calculate power estimates and use this to assess the operational performance capacity of the turbines using the data prepared in Part 1.

There are three broad key skill sets that you have been learning this trimester and that are needed to complete each question. These can be broadly categorised under MATLAB Programming, Critical Analysis, and Visual Communication of Data. Each question has been marked with icons corresponding to each category to help you to recognise the skills you will need to draw upon to complete it.

MATLAB Programming                                   Critical Analysis                              Visual Data Communication

PART 1 – DATA PROCESSING                        68 MARKS

To complete the tasks in Part 1, you will need the wind data recorded at the Ararat, Silverton and Boco Rock wind farms that have been provided to you in the files named ararat.txt, silverton.txt, and boco_rock.txt, respectively. The wind data files hold onshore wind speed measurements taken 100m above ground level by satellites at regular 10-minute intervals over a year starting at 12:00pm on the 21st of March 2020 (i.e., 21/03/2020) and ending at 11:50am on the same date in 2021 (i.e., 21/03/2021). The first column in each file is a 10-digit timestamp formatted as YYYYDDMMhhmm such that,

▪ YYYY is the Year as a four-digit sequence – e.g., 2009 in 15/11/2009

▪ DD is the Day of week as a number (1 = Monday, 7 = Sunday) e.g., 06 in 06/12/2019

▪ MM is the Month as a number with a leading zero e.g., 07 in 15/07/2022

▪ hh is the Hour of day using a 24-hour format with a leading zero in e.g., 03 in 03:15

▪ mm are the Minutes of the hour with a leading zero e.g., 15 in 03:15

For example, on the 21/03/2020 at 14:25 using the format YYYYDDMMhhmm is written as 202021031425.

The second column is the wind speed in metres-per-second (m/s) recorded at the time and date given in the first column.

Q1a – (5 marks)

Import the three files for the raw wind speed data at each wind farm site and store the timestamps in as a column vector in one variable, and the wind speeds for each location as columns in a 2D matrix in a second variable.

Note: At each location, the measurements occur at identical times and therefore you will only need to store the timestamps once, not for each location.

Q1b – (8 marks)

Review the timestamp format specifier information in the introduction to Part 1, and extract the year, day, month, hour and the minute from the timestamps imported in Q1a, and then store them as separate columns in a new five column matrix. Concatenate the wind speed data imported in Q1a onto the end of the time and date matrix you have just created. The concatenated matrix should have eight columns by the end of these operations.

You can use the num2str() and str2num() functions to aid in addressing individual digits from the timestamp and afterwards change them back to a numerical datatype.

The first three rows of the concatenated matrix are given here:

Q1c – (8 marks)

Plot the wind speed over time for each location in a separate subplot using a 3-by-1 arrangement following line specifications,

Ararat: Blue circle markers of size two.

Silverton: Green Asterix markers of size two.

Boco Rock: Magenta plus sign markers of size two.

Use the extracted time and date values from Q1b to create human-readable values for your x-axis.

For sensible x-axis values, one method be using the built-in function datenum([Y,M,D]) that converts an array of column vectors for the year (Y), month (M), and day (D) values into a serial date format.

You can then simply use this in a plot() command as the independent x-axis value and use the datetick(‘x’) formatting option to display as them in a conventional date format. An example piece of code is given below.

serial_dates = datenum(wind_data(:,[1,3,2])); % Cols 1,3 & 2 are the year, month & day vectors

plot(serial_dates,wind_data(:,6:8)) % Cols 6-8 are the wind speeds at each site.

datetick(‘x’) % Format x-ticks as date strings

You can check your progress against the subplot given below for one location.

Q1d – (8 marks)

Describe any notable characteristics that stands out in these plots in terms of measurement accuracy and/or potential issues affecting future analysis. Briefly comment on any observed trends or lack of trends you can see in the data and supply a potential explanation for the observed behaviour (can you see any patterns when comparing the measurement time and the wind speed?).

Use fprintf to output your answers to the command window.

Q1e – (10 Marks)

It turns out there are some unrealistic measurements and outliers that need to be removed. These correspond to wind speeds less than zero, or where the absolute difference between the hourly average and the wind speed is greater than 80%.

Extract the valid wind speed and recording date and time for each wind farm and store in three separate 2D matrices. Use fprintf() to output the total number of points that have been removed for each wind farm location.

Since time recordings are every 10 minutes, 6 consecutive data points corresponds to an hour. When determining outliers, check the first six data points independently to the hourly average, and move onto the next six data points and compare to the second hourly average. Repeat these steps until you have covered the whole years’ worth of measurements.

Q1f – (6 Marks)

The wind speed data were collected at a height, ℎ0 , of 100 m; not at the height of the turbine hub of 80 m. It would be too time-consuming and expensive to re-collect the data at the hub height, and even more so if future upgrades were to lead to a change in the turbine hub height. Fortunately, we can estimate the wind speed