...
 
Commits (20)
# -*- coding: utf-8 -*-
"""
Author: Germán Santa Maria
Author: Germán Santa-Maria
Script: Process Grades
Description:
This script will read all pdf files in the folder where is contained and
will produce a CSV file with the values extracted from the all fillable
text boxes in each of the pdfs.
This script will take a filled PDF forms as input, and will produce
a CSV file with the values extracted from the information contained
in the forms
Conditions:
All the pdfs should come from the same form template (same number of
......@@ -15,8 +14,11 @@ Conditions:
"""
"""-------------------------Hard coded input--------------------------------"""
# Output file name
csv_file_name = 'script_output/grades.csv' # Output csv file name (to store grades)
# Input file path
pdfs_path = 'script_input/pdfs/' # pdf files path
# Output file path
csv_file_name = 'script_output/grades.csv' # csv file name (to store grades)
"""-------------------------------------------------------------------------"""
# Import modules
......@@ -25,7 +27,7 @@ import PyPDF2 # For working with PDFs
import csv # For reading cvs files
# List of all the files in the directory
list_of_files = os.listdir(path='.')
list_of_files = os.listdir(pdfs_path)
# Filter only ".pdf" files
list_of_pdf_files = []
......@@ -33,12 +35,15 @@ for i in range(len(list_of_files)) :
if list_of_files[i].endswith(".pdf"):
list_of_pdf_files.append(list_of_files[i])
if len(list_of_pdf_files) == 0:
raise Exception("No pdf files were found in the selected path")
#---------------Create the headers for the output csv file--------------------#
# Select first pdf in the list as calibration pdf
calibration_pdf = list_of_pdf_files[0]
# Read PDF file
object = open(calibration_pdf, 'rb') # rb means read binary
object = open(pdfs_path + calibration_pdf, 'rb') # rb means read binary
reader = PyPDF2.PdfFileReader(object)
# Get values from text boxes in the PDF
......@@ -58,7 +63,7 @@ errors = [] # List of pdfs that could not be processed
for pdf_file in list_of_pdf_files:
try:
# Read PDF file
object = open(pdf_file, 'rb') # rb means read binary
object = open(pdfs_path + pdf_file, 'rb') # rb means read binary
reader = PyPDF2.PdfFileReader(object)
# Get values from text boxes in the PDF
......
#!/bin/bash
# Assignment suffix
ASSGTSUFFIX='example'
# Input parameters
inputfolder='script_input-real'
outputfolder='script_output-real'
inputfolder='script_input'
outputfolder='script_output'
timestamp=$(date "+%Y-%m-%d+%H%M%S")
outputbackupname="backup_output_$timestamp.tar"
......@@ -10,18 +13,21 @@ inputbackupname="backup_input_$timestamp.tar"
# Create archive of output folder
mkdir -vp archives
tar -cvf $outputbackupname --exclude=old $outputfolder
tar -chvf $outputbackupname --exclude=old $outputfolder
mv -vf $outputbackupname archives/
tar -cvf $inputbackupname --exclude=old $inputfolder
tar -chvf $inputbackupname --exclude=old $inputfolder
mv -vf $inputbackupname archives/
# Import output of M9 and M6 into input of M10
rsync -avh --delete ../M9_collect_graded/pdfs/ $inputfolder/pdfs/
rsync -avh --delete ../M9_collect_completed_grading/pdfs/ $inputfolder/pdfs/
rsync -avh --delete ../M6_match_peers/script_output/peers.csv $inputfolder/
# Clear output folder
rm -rvf $outputfolder/*
# Copy blank mark processing spreadsheet into output folder
cp -v grades_processing_template.ods $outputfolder/grades_processing_$ASSGTSUFFIX.ods
echo "end of script."
File G03091738A.pdf is missing on purpose from this folder, in order to test what happens when one grading submission is missing
name,lastname,email,custom_ID_A,custom_ID_G,submitted,peer1_ID,peer2_ID
Theodore,von Kármán,test1@example.com,A94424401,G22319408,True,G03091738A,G85539397B
Osborne,Reynolds,test2@example.com,A90692381,G03091738,True,G22319408A,G27383283B
Ada,Lovelace,test3@example.com,A71313037,G85539397,True,G27383283A,G03091738B
Marie,Curie,test4@example.com,A22017094,G27383283,True,G85539397A,G22319408B
pdf_name,q1.1,q1.2,q1.3,q2.1,q2.2,q2.3,qpr,comments
G22319408B.pdf,2.0,1.5,1.5,2.0,1.5,1.5,0,"A comment with several lines: first line
second line
third line
fourth line"
G85539397A.pdf,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,Another comment
G22319408A.pdf,0,0,0,0,0,0,0,All zeroes (default values) in this form
G27383283A.pdf,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,A comment with non-ASCII characters: à á Ö ö — «»
G85539397B.pdf,1.0,1.0,1.5,1.5,1.0,1.0,-0.5,Hello
G03091738B.pdf,1.5,1.5,1.5,2.0,1.5,1.5,0,"A comment with double quotes ""hello"" and single quotes 'hello'"
G27383283B.pdf,2.0,1.5,1.5,2.0,1.5,1.5,-2.5,
This diff is collapsed.
#!/bin/bash
# Assignment suffix
ASSGTSUFFIX='example'
# Input parameters
inputfolder='script_input'
outputfolder='script_output'
......@@ -23,7 +26,7 @@ for submissionpdf in submissions/*.pdf; do
echo "#"
echo "building assignment PDF for $IDA …"
mv -v solutions/solution*_$IDA.pdf ./solution.pdf
mv -v solutions/solution_graded_${ASSGTSUFFIX}_$IDA.pdf ./solution.pdf
mv -v submissions/$IDA.pdf ./submission.pdf
# Concatenate all three PDFs that we have together now
......
#!/bin/bash
# Input parameters
inputfolder='script_input-real'
outputfolder='script_output-real'
inputfolder='script_input'
outputfolder='script_output'
timestamp=$(date "+%Y-%m-%d+%H%M%S")
outputbackupname="backup_output_$timestamp.tar"
......@@ -10,15 +10,17 @@ inputbackupname="backup_input_$timestamp.tar"
# Create archive of output folder
mkdir -vp archives
tar -cvf $outputbackupname --exclude=old $outputfolder
tar -chvf $outputbackupname --exclude=old $outputfolder
mv -vf $outputbackupname archives/
tar -cvf $inputbackupname --exclude=old $inputfolder
tar -chvf $inputbackupname --exclude=old $inputfolder
mv -vf $inputbackupname archives/
# Import output of M3 into input of M11 (only those files matching solution_graded* )
rsync -avh --delete --delete-excluded --prune-empty-dirs --include="*/" --include="solution_graded*" --exclude="*" ../M3_generate_assignments/script_output/ $inputfolder/solutions/
# Import output of M3 and M5 into input of M11
rsync -avh --delete ../M5_collect_submissions/renamed\ pdfs/ $inputfolder/submissions/
rsync -avh --delete ../M3_generate_assignments/script_output/solution* $inputfolder/solutions/
rsync -avh --delete ../M5_collect_submissions/pdfs/ $inputfolder/submissions/
# Clear output folder
rm -rvf $outputfolder/*
......
# -*- coding: utf-8 -*-
"""
Author: German Santa Maria
Author: Germán Santa-Maria
Script: Email Grades
Description: This script can be used to send personalized emails with grades
......@@ -9,7 +9,8 @@ for the students that participated in the peer-graded assignments.
Input:
1 - grade_to_send.csv :
This file contains the data from the students including their custom ID
and email adresses and grades.
and email adresses and grades. It is generated in the output folder of
module M10, by extracting data manually from the ODS spreadsheet there.
2 - All the pdf files with the solution for the students
for example: “Solution_submisison_1_A12345678.pdf”
......@@ -17,7 +18,6 @@ Input:
Output:
1 - sent_emails.csv : file with the log of the sent emails
"""
"""-------------------------Hard coded input--------------------------------"""
......@@ -36,10 +36,10 @@ sender_username = "username"
cc = "cc_address@example.com"
password = input("Type your password and press enter:")
# Email delay time (in seconds)
# For example set delay_time >240 seconds (less than 30 emails/hour)
# Inside OVGU network set delay_time >40 seconds (less than 30 emails/10 min)
delay_time = 45
# Delay time between sending two emails, in seconds
# For example, set 240 seconds if you are limited to less than 30 emails/hour
# and 40 seconds if the limit is less than 30 emails/10 min
delay_time = 45
"""-------------------------------------------------------------------------"""
# Import email sender function
......@@ -91,33 +91,33 @@ with open(input_csv_path, newline='') as f:
next(student_info_reader) # Skip header [name, last name, email, ...]
student_data = [row for row in student_info_reader]
for row in student_data:
custom_ID_A.append(row[0])
custom_ID_G.append(row[1])
names.append(row[4])
last_name.append(row[5])
emails.append(row[6])
peer1_grade1.append(row[7])
peer1_grade2.append(row[8])
peer1_grade3.append(row[9])
peer1_grade4.append(row[10])
peer1_grade5.append(row[11])
peer1_grade6.append(row[12])
peer1_rem_poits.append(row[13])
peer1_comments.append(row[14])
peer1_final_grade.append(row[15])
peer2_grade1.append(row[16])
peer2_grade2.append(row[17])
peer2_grade3.append(row[18])
peer2_grade4.append(row[19])
peer2_grade5.append(row[20])
peer2_grade6.append(row[21])
peer2_rem_poits.append(row[22])
peer2_comments.append(row[23])
peer2_final_grade.append(row[24])
avg_grade.append(row[25])
names.append(row[0])
last_name.append(row[1])
emails.append(row[2])
custom_ID_A.append(row[3])
custom_ID_G.append(row[4])
peer1_grade1.append(row[5])
peer1_grade2.append(row[6])
peer1_grade3.append(row[7])
peer1_grade4.append(row[8])
peer1_grade5.append(row[9])
peer1_grade6.append(row[10])
peer1_rem_poits.append(row[11])
peer1_comments.append(row[12])
peer1_final_grade.append(row[13])
peer2_grade1.append(row[14])
peer2_grade2.append(row[15])
peer2_grade3.append(row[16])
peer2_grade4.append(row[17])
peer2_grade5.append(row[18])
peer2_grade6.append(row[19])
peer2_rem_poits.append(row[20])
peer2_comments.append(row[21])
peer2_final_grade.append(row[22])
avg_grade.append(row[23])
for ID in custom_ID_A:
attachment_name = "Solution_submission_1_"+ID+".pdf"
attachment_name = "Solution_submission_"+ID+".pdf"
attachments.append(attachment_name)
# Make sure that all the attachments are in the script_input folder
......@@ -128,9 +128,14 @@ for i in range(0, len(custom_ID_A)):
solutions_pdfs_path+attachments[i]+
' was not found, no emails were sent')
"""-----------------Build email text for each student-----------------------"""
# Write a personalized email body for each student
#------------Email body for students with only one peer-----------------------#
###########################################################################
# Content specific to assignment exercise
subject = "Your grade from the coursework assignment"
# Email body for students with only one peer
standard_body_onepeer = """Dear XXstudent_nameXX,
thank you for grading your peers on this coursework assignment!
......@@ -158,7 +163,7 @@ with best regards,
"""
#-----------------Email body for students with two peers----------------------#
# Email body for students with two peers
standard_body_twopeers = """Dear XXstudent_nameXX,
thank you for grading your peers on the third coursework assignment!
......@@ -166,7 +171,7 @@ thank you for grading your peers on the third coursework assignment!
Two of your peers graded your work over the week-end. You obtained an average of XXavg_grade2XX/10 for this assignment. I attach the complete solution to your assignment, together with your submisison, so you may compare.
The details of the grades are as follows:
Peer 1:
Peer 1: XXpeer1_final_gradeXX/10
Q1 Is the correct general formula for the answer provided? XXpeer1_grade1XX
Q1 Is the correct corresponding calculation provided? XXpeer1_grade2XX
Q1 Is a sensible final result provided, expressed with the correct units? XXpeer1_grade3XX
......@@ -177,7 +182,7 @@ Peer 1:
Comments:
XXpeer1_commentsXX
Peer 2:
Peer 2: XXpeer2_final_gradeXX/10
Q1 Is the correct general formula for the answer provided? XXpeer2_grade1XX
Q1 Is the correct corresponding calculation provided? XXpeer2_grade2XX
Q1 Is a sensible final result provided, expressed with the correct units? XXpeer2_grade3XX
......@@ -194,9 +199,10 @@ As you can see, the average of both grades is XXavg_grade2XX / 10 points.
with best regards,
(author)
(Author)
"""
###########################################################################
for i in range(0, len(names)):
......@@ -265,9 +271,6 @@ for i in range(0, len(names)):
# Reciever email
receiver_email = emails[i]
# Email subject
subject = "Insert subject here"
# Email body
body = email_bodies[i]
......
#!/bin/bash
# Input parameters
inputfolder='script_input-real'
outputfolder='script_output-real'
inputfolder='script_input'
outputfolder='script_output'
timestamp=$(date "+%Y-%m-%d+%H%M%S")
outputbackupname="backup_output_$timestamp.tar"
......@@ -10,12 +10,17 @@ inputbackupname="backup_input_$timestamp.tar"
# Create archive of output folder
mkdir -vp archives
tar -cvf $outputbackupname --exclude=old $outputfolder
tar -chvf $outputbackupname --exclude=old $outputfolder
mv -vf $outputbackupname archives/
tar -cvf $inputbackupname --exclude=old $inputfolder
tar -chvf $inputbackupname --exclude=old $inputfolder
mv -vf $inputbackupname archives/
# Import grade record (output of M10) into input of M12
rsync -avh --delete ../M10_process_grades/script_output/grades_to_send.csv $inputfolder/
# Clear empty lines in grades_to_send.csv
sed -i '/"","","","","","","","","","","","","","","","","","","","","","","",""/d' $inputfolder/grades_to_send.csv
# Import output of M11 into input of M12
rsync -avh --delete ../M11_generate_graded/script_output/done/ $inputfolder/pdfs/
......
"name","lastname","email","custom_ID_A","custom_ID_G","peer1_grade_1","peer1_grade_2","peer1_grade_3","peer1_grade_4","peer1_grade_5","peer1_grade_6","peer1_removed_points","peer1_comments","peer1_final_grade","peer2_grade_1","peer2_grade_2","peer2_grade_3","peer2_grade_4","peer2_grade_5","peer2_grade_6","peer2_removed_points","peer2_comments","peer2_final_grade","avg grade"
"Theodore","von Kármán","test1@example.com","A94424401","G22319408",0,0,0,0,0,0,0,"All zeroes (default values) in this form",0,2,1.5,1.5,2,1.5,1.5,0,"A comment with several lines: first line | second line | third line | fourth line",10,5
"Osborne","Reynolds","test2@example.com","A90692381","G03091738","None","None","None","None","None","None","None","None","None",1.5,1.5,1.5,2,1.5,1.5,0,"A comment with double quotes ""hello"" and single quotes 'hello'",9.5,9.5
"Ada","Lovelace","test3@example.com","A71313037","G85539397",0.5,0.5,0.5,0.5,0.5,0.5,-0.5,"Another comment",2.5,1,1,1.5,1.5,1,1,-0.5,"Hello",6.5,4.5
"Marie","Curie","test4@example.com","A22017094","G27383283",0.5,0.5,0.5,0.5,0.5,0.5,-0.5,"A comment with non-ASCII characters: à á Ö ö — «»",2.5,2,1.5,1.5,2,1.5,1.5,-2.5,"None",7.5,5
name,lastname,email,custom_ID_A,custom_ID_G,log
Theodore,von Kármán,test1@example.com,A94424401,G22319408,Email was sent to: test1@example.com time: Fri Aug 16 15:39:10 2019
Osborne,Reynolds,test2@example.com,A90692381,G03091738,Email was sent to: test2@example.com time: Fri Aug 16 15:39:15 2019
Ada,Lovelace,test3@example.com,A71313037,G85539397,Email was sent to: test3@example.com time: Fri Aug 16 15:39:20 2019
Marie,Curie,test4@example.com,A22017094,G27383283,Email was sent to: test4@example.com time: Fri Aug 16 15:39:25 2019
Script: assign_customizer.py
============================
## Description
This script takes a `tex` file with marked parameters and a list of students matriculation numbers to produce a new `tex` file with custom parameters for each student and a `csv` file with all the output assignments data.
The input files should be placed in the `script_input` folder which is in the same path as the script. The output files will be saved in the `script_output` folder.
## Script input
1. `parameters.tex`: file containing the parameters, with markers on the places where the values should be customized, for example: `XXlengthXX`, `XXdiameterXX`.
1. `canonical.csv`: file with the students data, example:
| name | lastname | email | matrikel|
|---|---|---|---|
|Theodore |Von Kármán |example1@ovgu.de |123456|
|Osborne |Reynolds |example2@st.ovgu.de |123457|
1. `assignment_info.csv`: file with the range for the marked values.
|find_marker |range_min |range_max |round_off_decimals
|---|---|---|---|
|XXpipediameterXX |0.5 |3 |1|
|XXpipelengthXX |100 |350 |0|
|XXmassflowXX |1.5 |4 |1|
## Script output
1. `output_assignments.csv`: file with a summary of all the output data.
1. `parameters_ID_xxxxxxxx`: one `tex` file, with custom parameters, for each student.
# -*- coding: utf-8 -*-
"""
Author: German Santa Maria
Author: Germán Santa-Maria
Script: Hash Function
Description:
......
#!/bin/bash
# Input parameters
inputfolder='script_input-real'
outputfolder='script_output-real'
inputfolder='script_input'
outputfolder='script_output'
timestamp=$(date "+%Y-%m-%d+%H%M%S")
outputbackupname="backup_output_$timestamp.tar"
......@@ -10,16 +10,16 @@ inputbackupname="backup_input_$timestamp.tar"
# Create archive of output folder
mkdir -vp archives
tar -cvf $outputbackupname --exclude=old $outputfolder
tar -chvf $outputbackupname --exclude=old $outputfolder
mv -vf $outputbackupname archives/
tar -cvf $inputbackupname --exclude=old $inputfolder
tar -chvf $inputbackupname --exclude=old $inputfolder
mv -vf $inputbackupname archives/
# Clear output folder
rm -rvf $outputfolder/*
# Import any PNG from input into output
rsync -avh --delete $inputfolder/*.png $outputfolder/
# Import any PNG from input root folder into output
rsync -avh --delete --delete-excluded --prune-empty-dirs --include="*/" --exclude="*/*" --include="*.png" --exclude="*" $inputfolder/ $outputfolder/
echo "end of script."
\documentclass[12pt,a4paper]{article}
\usepackage{fluidmechpeer1} % from https://git.framasoft.org/u/olivier/sensible-styles
\newcommand{\acode}{XXcustomID_AXX}
\newcommand{\gcode}{XXcustomID_GXX}
\newcommand{\studentfullname}{XXstudentfullnameXX}
\newcommand{\studentfirstname}{XXstudentfirstnameXX}
\newcommand{\speedinletone}{XXspeed_in1XX}
\newcommand{\speedinlettwo}{XXspeed_in2XX}
\newcommand{\diameterone}{XXdiameter1XX}
\newcommand{\diametertwo}{XXdiameter2XX}
\newcommand{\outletsurface}{XXsurfaceXX}
\newcommand{\rejectionangle}{XXrangleXX}
\newcommand{\temperature}{XXtemperatureXX}
\newcommand{\density}{XXdensityXX}
\newcommand{\massflowinletone}{XXmassflow1XX}
\newcommand{\massflowinlettwo}{XXmassflow2XX}
\newcommand{\massflowoutlet}{XXmassflow3XX}
\newcommand{\velocityoutx}{XXspeed_outlet_xXX}
\newcommand{\velocityouty}{XXspeed_outlet_yXX}
\newcommand{\velocityoutlength}{XXspeed_outletXX}
\newcommand{\forcex}{XXforce_xXX}
\newcommand{\forcey}{XXforce_yXX}
\newcommand{\netforce}{XXforcet_netXX}
\newcommand{\netforceangle}{XXalphaXX}
\renewcommand{\authorofthisdocument}{Olivier Cleynen}
\renewcommand{\titleofthisdocument}{Assignment \#1 for \studentfullname}
\usepackage{fluidmechpeer2}
\begin{document}
\vspace{\stretch{1}}
\begin{centering}
{\Large \titleofthisdocument
(custom ID: {\acode})}
\end{centering}
\vspace{1em}
Dear \studentfirstname,\\
this is your first coursework assignment. Please submit your answer in a single \textsc{pdf} document, as instructed in the coursework email you received.
You are free to decide how short or long your answers should be. Ultimately, your work will be graded by two peer students, who will act as if they were your colleagues. Each question will be evaluated according to three criteria:
\begin{itemize}
\item (\SI{40}{\percent}) Is the correct general formula for the answer provided?
\item (\SI{30}{\percent}) Is the correct corresponding calculation provided?
\item (\SI{30}{\percent}) Is a sensible final result provided, expressed with the correct units?
\end{itemize}
I hope you will have fun working through this problem!
With best regards,
Olivier.\\
\href{mailto:olivier.cleynen@ovgu.de}{olivier.cleynen@ovgu.de}
\vspace{\stretch{1}}
\clearpage
\section*{Industrial Furnace Air Exhaust Duct}
The best customer of your company has phoned with an inquiry about the exhaust duct in their factory. They are worried about forces applying on the device. You and your colleagues want to provide them with a short but complete and precise answer.
The exhaust duct from your customer’s heavy-duty industrial furnace receives two streams of hot air, and has one outlet, as shown in figure~1. The flow is completely steady, and the velocities are uniform in the inlets and outlet.
\begin{figure}[h!]
\includegraphics[width=\linewidth]{airexhaust.png}
\caption{Air exhaust duct from a heavy-duty industrial furnace.}
\label{fig:Air exhaust}
\end{figure}
Air from the furnace enters both inlets with a temperature of \SI{\temperature}{\degreeCelsius}. The duct is very well insulated, and its heat losses are negligible.
The horizontal inlet of the duct has a diameter of \SI{\diameterone}{\metre} and carries air at a speed of \SI{\speedinletone}{\metre\per\second}, while the vertical inlet has a diameter of \SI{\diametertwo}{\metre} and carries air at a speed of \SI{\speedinlettwo}{\metre\per\second}. The air pressure along the whole geometry is atmospheric (\SI{1}{\bar}).
The hot air leaves the duct through a single outlet with an angle $\theta = \SI{\rejectionangle}{\degree}$ relative to the horizontal. The cross-section area of the outlet is purely horizontal; its area is \SI{\outletsurface}{\metre\squared}.
\section*{Problem}
\begin{enumerate}
\item What is the mass flow rate of air exiting the duct?
\item What is the net force exerted on the air by the exhaust duct?
\end{enumerate}
\end{document}
\documentclass[12pt,a4paper]{article}
\usepackage{fluidmechpeer1} % from https://git.framasoft.org/u/olivier/sensible-styles
\newcommand{\acode}{XXcustomID_AXX}
\newcommand{\gcode}{XXcustomID_GXX}
\newcommand{\studentfullname}{XXstudentfullnameXX}
\newcommand{\studentfirstname}{XXstudentfirstnameXX}
\newcommand{\lone}{XXl1XX}
\newcommand{\ltwo}{XXl2XX}
\newcommand{\lthree}{XXl3XX}
\newcommand{\lfour}{XXl4XX}
\newcommand{\lfive}{XXl5XX}
\newcommand{\lsix}{XXl6XX}
\newcommand{\alphaangle}{XXalphaXX}
\begin{comment}
\renewcommand{\acode}{1234}
\renewcommand{\gcode}{2345}
\renewcommand{\studentfullname}{Olivier Cleynen}
\renewcommand{\studentfirstname}{Olivier}
\renewcommand{\lone}{1,2}
\renewcommand{\ltwo}{3}
\renewcommand{\lthree}{0,2}
\renewcommand{\lfour}{8}
\renewcommand{\lfive}{6}
\renewcommand{\lsix}{12}
\renewcommand{\alphaangle}{31}
\end{comment}
\renewcommand{\authorofthisdocument}{Olivier Cleynen}
\renewcommand{\titleofthisdocument}{Assignment \#2 for \studentfullname}
\usepackage{fluidmechpeer2}
\begin{document}
\vspace{\stretch{1}}
\begin{centering}
{\Large \titleofthisdocument
(custom ID: {\acode})}
\end{centering}
\vspace{1em}
Dear \studentfirstname,\\
this is your second coursework assignment. Please submit your answer in a single \textsc{pdf} document, as instructed in the coursework email you received.
You are free to decide how short or long your answers should be. Ultimately, your work will be graded by two peer students, who will act as if they were your colleagues. Each question will be evaluated according to three criteria:
\begin{itemize}
\item (\SI{40}{\percent}) Is the correct general formula for the answer provided?
\item (\SI{30}{\percent}) Is the correct corresponding calculation provided?
\item (\SI{30}{\percent}) Is a sensible final result provided, expressed with the correct units?
\end{itemize}
I hope you will have fun working through this problem!
With best regards,
Olivier.\\
\href{mailto:olivier.cleynen@ovgu.de}{olivier.cleynen@ovgu.de}
\vspace{\stretch{1}}
\clearpage
\section*{Window on an aquarium}
The Marine Life and Science Center in your city are consulting with your company to help design an new aquarium. They are concerned that the windows on the planned aquarium are too weak and might burst, releasing all the water on the public in a catastrophic accident. You and your colleagues are sent the dimensions of the planned aquarium; you want to provide them with a short but complete and precise answer.
The aquarium in the marine park has an inclined window, as shown in figure~1. The window has a hinge on its bottom edge. The water is approximately static.
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.8\textwidth]{marine_center_aquarium.png}
\end{center}
\caption{Main layout of the planned aquarium at the Marine Life and Science center}
\label{fig:aquarium}
\end{figure}
The window is made of a rectangle of reinforced glass, \SI{\lfive}{\metre}~wide and \SI{\ltwo}{\metre}~high, and titled at an angle $\alpha = \SI{\alphaangle}{\degree}$ relative to the vertical. The bottom edge of the window sits \SI{\lone}{\metre} above the bottom of the tank; the top edge of the window is \SI{\lthree}{\metre} below the water surface. The tank has dimensions $L_4 = \SI{\lfour}{\metre}$ and $L_6 = \SI{\lsix}{\metre}$.
\section*{Problem}
\begin{enumerate}
\item What is the net force due to pressure exerting on the window?
\item What is the net moment due to pressure exerting about the bottom hinge of the window?
\end{enumerate}
\end{document}
\documentclass[12pt,a4paper]{article}
\usepackage{fluidmechpeer1} % from https://git.framasoft.org/u/olivier/sensible-styles
\newcommand{\acode}{XXcustomIDAXX}
\newcommand{\gcode}{XXcustomIDGXX}
\newcommand{\studentfullname}{XXstudentfullnameXX}
\newcommand{\studentfirstname}{XXstudentfirstnameXX}
\newcommand{\hone}{XXheightoneXX}
\newcommand{\hthree}{XXheightthreeXX}
\newcommand{\done}{XXdiameteroneXX}
\newcommand{\dtwo}{XXdiametertwoXX}
\newcommand{\epsilononemilli}{XXepsilononemilliXX}
\newcommand{\epsilontwomilli}{XXepsilontwomilliXX}
\newcommand{\lone}{XXlengthoneXX}
\newcommand{\ltwo}{XXlengthtwoXX}
\newcommand{\volflowl}{XXvolumeflowlitersXX}
\begin{comment}
\renewcommand{\acode}{A1234}
\renewcommand{\gcode}{G1234}
\renewcommand{\studentfullname}{Olivier Cleynen}
\renewcommand{\studentfirstname}{Olivier}
\renewcommand{\hone}{12}
\renewcommand{\hthree}{13}
\renewcommand{\done}{1}
\renewcommand{\dtwo}{0.5}
\renewcommand{\epsilononemilli}{0.1}
\renewcommand{\epsilontwomilli}{0.2}
\renewcommand{\lone}{250}
\renewcommand{\ltwo}{120}
\renewcommand{\volflowl}{1600}
\end{comment}
\renewcommand{\authorofthisdocument}{Olivier Cleynen}
\renewcommand{\titleofthisdocument}{Assignment \#3 for \studentfullname}
\usepackage{fluidmechpeer2}
\sisetup{zero-decimal-to-integer}
\begin{document}
\vspace{\stretch{1}}
\begin{centering}
{\Large \titleofthisdocument
(custom ID: \acode)}
\end{centering}
\vspace{1em}
Dear \studentfirstname,\\
this is your third and last coursework assignment. Please submit your answer in a single \textsc{pdf} document, as instructed in the coursework email you received.
You are free to decide how short or long your answers should be. Ultimately, your work will be graded by two peer students, who will act as if they were your colleagues. Each question will be evaluated according to three criteria:
\begin{itemize}
\item (~\SI{40}{\percent}) Is the correct general formula for the answer provided?
\item (~\SI{30}{\percent}) Is the correct corresponding calculation provided?
\item (~\SI{30}{\percent}) Is a sensible final result provided, expressed with the correct units?
\end{itemize}
I hope you will have fun working through this problem!
With best regards,
Olivier.\\
\href{mailto:olivier.cleynen@ovgu.de}{olivier.cleynen@ovgu.de}
\vspace{\stretch{1}}
\clearpage
\section*{Power of a pumping station}
You work for a company specializing in water piping systems. A customer firm have called in because they wish to regularly displace water from one reservoir to another. They are inquiring about the power of the pumping station which they need to install. You and your colleagues are sent the basic dimensions of the hydraulic system (shown in fig.~1); you want to provide them with a short but complete and precise answer.
\begin{figure}[h!]
\begin{center}
\includegraphics[width=\textwidth]{pumping_water_figure.png}
\end{center}
\caption{Main layout of the piping system of your customer. Note that the vertical scale is greatly exaggerated compared to the horizontal scale, for legibility.}
\label{fig:piping}
\end{figure}
In the left reservoir, the pipe inlet is~\SI{\hone}{\metre} below the water surface. The pipe system is entirely horizontal, and the pumping station sits in the middle. The first pipe, on the left, has diameter~\SI{\done}{\metre}, inner surface roughness~\SI[round-mode=figures, round-precision=4]{\epsilononemilli}{\milli\metre}, and length~\SI{\lone}{\metre}. The second pipe, on the right, has diameter~\SI{\dtwo}{\metre}, inner surface roughness~\SI[round-mode=figures, round-precision=4]{\epsilontwomilli}{\milli\metre}, and the same length (\SI{\ltwo}{\metre}). The pipe outlets into the second reservoir, whose water level stands~\SI{\hthree}{\metre} above the level of the first reservoir. The customer company explain that they wish to transfer~\SI[round-mode=places, round-precision=1]{\volflowl}{\liter\per\second} of water (density~\SI{1}{\kilogram\per\liter}, viscosity~\SI{e-3}{\pascal\second}) from one reservoir to another.
\section*{Problem}
\begin{enumerate}
\item What will be the pressure losses due to friction in the complete system?
\item What is the required pumping power?
\end{enumerate}
\end{document}
resultone = dummyone * dummytwo
resulttwo = dummytwo**2 + dummyone**(0.5)
\documentclass[12pt,a4paper]{article}
\usepackage{fluidmechpeer1} % from https://framagit.org/olivier/sensible-styles
\newcommand{\acode}{XXcustomIDAXX}
\newcommand{\gcode}{XXcustomIDGXX}
\newcommand{\studentfullname}{XXstudentfullnameXX}
\newcommand{\studentfirstname}{XXstudentfirstnameXX}
\newcommand{\length}{XXlengthXX}
\newcommand{\width}{XXwidthXX}
\newcommand{\area}{XXareaXX}
\newcommand{\areadoubled}{XXarea_doubledXX}
\renewcommand{\authorofthisdocument}{Author}
\renewcommand{\titleofthisdocument}{Assignment \#1 for \studentfullname}
\usepackage{fluidmechpeer2}
\begin{document}
\vspace{\stretch{1}}
\begin{centering}
{\Large \titleofthisdocument
(custom ID: \acode)}
\end{centering}
\vspace{1em}
Dear \studentfirstname,\\
this is your first coursework assignment. Please submit your answer in a single \textsc{pdf} document, as instructed in the coursework email you received.
You are free to decide how short or long your answers should be. Ultimately, your work will be graded by two peer students, who will act as if they were your colleagues. Each question will be evaluated according to three criteria:
\begin{itemize}
\item (~\SI{40}{\percent}) Is the correct general formula for the answer provided?
\item (~\SI{30}{\percent}) Is the correct corresponding calculation provided?
\item (~\SI{30}{\percent}) Is a sensible final result provided, expressed with the correct units?
\end{itemize}
I hope you will have fun working through this problem!
With best regards,
(Author).\\
\href{mailto:author@example.com}{author@example.com}
\vspace{\stretch{1}}
\clearpage
\section*{Area of a rectangle}
A rectangle has a length of \SI{\length}{\metre} and a width of \SI{\width}{\metre}.
\section*{Problem}
\begin{enumerate}
\item What is the area of the rectangle?
\item What is the area of the rectangle if the length of every side is doubled?
\end{enumerate}
\end{document}
find_marker,range_min,range_max,round_off_decimals
XXpipediameterXX,0.5,3,1
XXpipelengthXX,100,350,0
XXdensityXX,980,1300,0
XXviscosityXX,1E-05,0.2,7
XXreynoldsXX,4500,20000000,0
XXdummyoneXX,1,10000,0
XXdummytwoXX,0.001,0.1,4
name,lastname,email,matrikel
Osborne,Von Kármán,example1@ovgu.de,123456
Theodore,Reynolds,example2@ovgu.de,123457
student1,one,one@st.ovgu.de,100001
student2,two,two@st.ovgu.de,100002
student3,three,three@st.ovgu.de,100003
student4,four,four@st.ovgu.de,100004
student5,five,five@st.ovgu.de,100005
student6,six,six@st.ovgu.de,100006
student7,seven,seven@st.ovgu.de,100007
student8,eight,eight@st.ovgu.de,100008
First name,Last name,email
Theodore,von Kármán,test1@example.com
Osborne,Reynolds,test2@example.com
Ada,Lovelace,test3@example.com
Marie,Curie,test4@example.com
\documentclass[12pt,a4paper]{article}
\usepackage{fluidmechpeer1} % from https://framagit.org/olivier/sensible-styles
\renewcommand{\authorofthisdocument}{Author}
\renewcommand{\titleofthisdocument}{Grading form}
\usepackage{fluidmechpeer2}
\newgeometry{
top = 2cm,
left= 1.5cm,
right= 1.5cm,
bottom= 2cm,
}
\begin{document}
\begin{Form}
\section*{Q1 — What is the area of the rectangle?}
\large
Is the correct general formula for the answer provided? \hfill Points: \ChoiceMenu[combo,name=q1.1,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,0.5,1.0,1.5,2.0}
\par~\par
Is the correct corresponding calculation provided? \hfill Points: \ChoiceMenu[combo,name=q1.2,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,0.5,1.0,1.5}
\par~\par
Is a sensible final result provided, expressed with the correct units? \hfill Points: \ChoiceMenu[combo,name=q1.3,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,0.5,1.0,1.5}
\par~\par
\section*{Q2 — What is the area of the rectangle if the length of every side is~doubled?}
\large
Is the correct general formula for the answer provided? \hfill Points: \ChoiceMenu[combo,name=q2.1,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,0.5,1.0,1.5,2.0}
\par~\par
Is the correct corresponding calculation provided? \hfill Points: \ChoiceMenu[combo,name=q2.2,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,0.5,1.0,1.5}
\par~\par
Is a sensible final result provided, expressed with the correct units? \hfill Points: \ChoiceMenu[combo,name=q2.3,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,0.5,1.0,1.5}
\par~\par~\par
Finally, should points be removed because the submission is poorly formatted or poorly organized? (Optional, at your discretion) \hfill Points: \ChoiceMenu[combo,name=qpr,width=2cm,charsize=12pt,default=0,bordercolor=nicegray]{\null}{0,-0.5,-1.0,-1.5,-2.0,-2.5}
\par~\par
Comments (optional)\\
\TextField[name=comments,multiline=true,width=\textwidth,height=10\baselineskip,charsize=14pt,bordercolor=nicegray]{~}
\end{Form}
\end{document}
toto,,
Olivier,Cleynen,olivier.cleynen@ovgu.de
Germán,Santa-Maria,german.santamaria@ovgu.de
Dominique,Thévenin,cleynen@ovgu.de
Olivier,Cleynen,fluidmech@ovgu.de
First Name,Last Name,Primary Email
Olivier,Cleynen,olivier.cleynen@ovgu.de
name,lastname,email
Divyesh,Khunt,divyesh.khunt@st.ovgu.de
Dhruvit Bharatbhai,Lathiya,dhruvit.lathiya@st.ovgu.de
Nikhila Aparna,Ravuri,nikhila.ravuri@st.ovgu.de
Daanish,Mudassar,daanish.mudassar@st.ovgu.de
Chinmoy Kumar,Bairagi,chinmoy.bairagi@st.ovgu.de
Praharsha Reddy,Sathi,praharsha.sathi@st.ovgu.de
Nikhil Sai,Doddapaneni,nikhil.doddapaneni@st.ovgu.de
Isabel,Gallego Roldan,isabel1.gallego@st.ovgu.de
Md. Ishtiaque,Hossain ,md2.hossain@st.ovgu.de
Arik Inkiyad,Abeer,arik.abeer@st.ovgu.de
Akshar Yogesh,Parmar,akshar.parmar@st.ovgu.de
Vishal Pravinbhai,Vekariya,vishal.vekariya@st.ovgu.de
Poonam,Ghodke,poonam.ghodke@st.ovgu.de
Adarsha Kumara,Adagalale Jinadath,adarsha.adagalale@st.ovgu.de
Aravind Sai,Seelam,aravind.seelam@st.ovgu.de
Victoria,Bystrova,victoria.bystrova@st.ovgu.de
Jochen,Koenig,jochen.koenig@st.ovgu.de
Nestor Antonio,Munoz Ocampo,nestor.munoz@st.ovgu.de
Raj Rajeshwari,Prasad,raj.prasad@st.ovgu.de
Hemanth Kumar,Karamshetti,hemanth.karamshetti@st.ovgu.de
Vinaykumar Reddy,Kurapati,vinaykumar.kurapati@st.ovgu.de
Bhargav,Sanchania,bhargav.sanchania@st.ovgu.de
Venkata Veera Kutumba Ravi Kumar,Mullapudi,venkata.mullapudi@st.ovgu.de
Olawale,Azeez,olawale.azeez@st.ovgu.de
Somayeh,Zarei,somayeh.zarei@st.ovgu.de
Chinmay,Hegde,chinmay.hegde@st.ovgu.de
Yoliangely,Rivas,yoliangely.rivas@st.ovgu.de
Monisha,Sivasankaran,monisha.sivasankaran@st.ovgu.de
Harsh,Shah,harsh.shah@st.ovgu.de
Soireth Faride,Chinchilla Araujo,soireth.chinchilla@st.ovgu.de
Lei,Zhu,lei.zhu@st.ovgu.de
Jing,Chen,jing1.chen@st.ovgu.de
Prince Mukeshkumar,Patel,prince.patel@st.ovgu.de
Abhishekkumar Arvindbhai,Shingala ,abhishekkumar.shingala@st.ovgu.de
Priyank,Navadiya,priyank.navadiya@st.ovgu.de
Shyam,Jani,shyam.jani@st.ovgu.de
Noor,Afsar,noor.afsar@st.ovgu.de
Dona,Sophy Mathew,dona.sophy@st.ovgu.de
Pratik Dhirajlal,Bhayani,pratik.bhayani@st.ovgu.de
Tapan,Kumar,tapan1@st.ovgu.de
Vignesh Kumar,Radhakannan Aruna,vignesh.radhakannan@st.ovgu.de
Maria,James,maria.james@st.ovgu.de
Ernest Ifeanyi,Dike,ernest.dike@st.ovgu.de
Prasanna,Selvarajan,prasanna.selvarajan@st.ovgu.de
Irin Wilson,Panjikkaran,irin.panjikkaran@st.ovgu.de
Vishal,Verma,vishal.verma@st.ovgu.de
Linson,Thaddevus,linson.thaddevus@st.ovgu.de
Tomas,Chamorro,tomas.chamorro@st.ovgu.de
Khalid,Mohammed,khalid.mohammed@st.ovgu.de
Emel,Alkan,emel.alkan@st.ovgu.de
Juan Daniel,Vargas,juan.vargas@st.ovgu.de
Harish,Raju,raju1@st.ovgu.de
Surya Prakash Reddy,Pathakota,surya.pathakota@st.ovgu.de
Aravind,Muralidharan,aravind.muralidharan@st.ovgu.de
Aman Kumar,Jain,aman.jain@st.ovgu.de
Sandeep,Mamidi,sandeep.mamidi@st.ovgu.de
Shreyas Rajesh,Bhatt,shreyas.bhatt@st.ovgu.de
Mohideen Abu Haniffa,Sultan Mohideen,mohideen.sultan@st.ovgu.de
Manikhanta,Chinni,manikhanta.chinni@st.ovgu.de
Vishal,Boga,vishal.boga@st.ovgu.de
Anas,Noorani,anas.noorani@st.ovgu.de
Sainath Reddy,Bheemi Reddy,sainath.bheemi@st.ovgu.de
Himanth,Venati,himanth.venati@st.ovgu.de
Chimaobi,Ihuoma,chimaobi.ihuoma@st.ovgu.de
Suraj Pravinbhai,Gangani,suraj.gangani@st.ovgu.de
Dhiraj,Gokuladas,dhiraj.gokuladas@st.ovgu.de
Sai Venkata Akhil Kumar,Challuri,sai.challuri@st.ovgu.de
Kevin,Edampurath,kevin.edampurath@st.ovgu.de
Tobore,Igbigbi,tobore.igbigbi@st.ovgu.de
Aamir,Ali,aamir.ali@st.ovgu.de
Harish,Adapureddi,harish.adapureddi@st.ovgu.de
Aritra,Rayhan,aritra.rayhan@st.ovgu.de
Yagna Murthy,Ayachitula,yagna.ayachitula@st.ovgu.de
Sasank Teja,Ravi,sasank.ravi@st.ovgu.de
Ravi Kishore Reddy,Vanukuri,ravi.vanukuri@st.ovgu.de
Idicula Jacob,Ashish,ashishi1@st.ovgu.de
Akhil,Kadari,akhil.kadari@st.ovgu.de
Devidas,Khatri,devidas.khatri@st.ovgu.de
Venus Riteshbhai,Shah,venus.shah@st.ovgu.de
Megh,Parikh,megh.parikh@st.ovgu.de
Dhruveshkumar,Sojitra,dhruveshkumar.sojitra@st.ovgu.de
Saneesh,Thomas,saneesh.thomas@st.ovgu.de
Basil,Jose,basil.jose@st.ovgu.de
Suneeva Sharon,Samuel,suneeva.samuel@st.ovgu.de
Mohammadasad,Mutarwala,mohammadasad.mutarwala@st.ovgu.de
name,lastname,email
Divyesh,Khunt,divyesh.khunt@st.ovgu.de
Dhruvit Bharatbhai,Lathiya,dhruvit.lathiya@st.ovgu.de
Nikhila Aparna,Ravuri,nikhila.ravuri@st.ovgu.de
Daanish,Mudassar,daanish.mudassar@st.ovgu.de
Chinmoy Kumar,Bairagi,chinmoy.bairagi@st.ovgu.de
Zahin,Tahmed,zahin.tahmed@st.ovgu.de
Praharsha Reddy,Sathi,praharsha.sathi@st.ovgu.de
Nikhil Sai,Doddapaneni,nikhil.doddapaneni@st.ovgu.de
Isabel,Gallego Roldan,isabel1.gallego@st.ovgu.de
Md. Ishtiaque,Hossain ,md2.hossain@st.ovgu.de
Arik Inkiyad,Abeer,arik.abeer@st.ovgu.de
Akshar Yogesh,Parmar,akshar.parmar@st.ovgu.de
Vishal Pravinbhai,Vekariya,vishal.vekariya@st.ovgu.de
Poonam,Ghodke,poonam.ghodke@st.ovgu.de
Adarsha Kumara,Adagalale Jinadath,adarsha.adagalale@st.ovgu.de
Aravind Sai,Seelam,aravind.seelam@st.ovgu.de
Victoria,Bystrova,victoria.bystrova@st.ovgu.de
Jochen,Koenig,jochen.koenig@st.ovgu.de
Nestor Antonio,Munoz Ocampo,nestor.munoz@st.ovgu.de
Raj Rajeshwari,Prasad,raj.prasad@st.ovgu.de
Hemanth Kumar,Karamshetti,hemanth.karamshetti@st.ovgu.de
Vinaykumar Reddy,Kurapati,vinaykumar.kurapati@st.ovgu.de
Shreyas,Kulkarni,shreyas.kulkarni@st.ovgu.de
Parimal Atulbhai,Lunagariya,parimal.lunagariya@st.ovgu.de
Bhargav,Sanchania,bhargav.sanchania@st.ovgu.de
Venkata Veera Kutumba Ravi Kumar,Mullapudi,venkata.mullapudi@st.ovgu.de
Olawale,Azeez,olawale.azeez@st.ovgu.de
Somayeh,Zarei,somayeh.zarei@st.ovgu.de
Chinmay,Hegde,chinmay.hegde@st.ovgu.de
Yoliangely,Rivas,yoliangely.rivas@st.ovgu.de
Monisha,Sivasankaran,monisha.sivasankaran@st.ovgu.de
Harsh,Shah,harsh.shah@st.ovgu.de
Soireth Faride,Chinchilla Araujo,soireth.chinchilla@st.ovgu.de
Lei,Zhu,lei.zhu@st.ovgu.de
Jing,Chen,jing1.chen@st.ovgu.de
Prince Mukeshkumar,Patel,prince.patel@st.ovgu.de
Abhishekkumar Arvindbhai,Shingala ,abhishekkumar.shingala@st.ovgu.de
Priyank,Navadiya,priyank.navadiya@st.ovgu.de
Shyam,Jani,shyam.jani@st.ovgu.de
Noor,Afsar,noor.afsar@st.ovgu.de
Dona,Sophy Mathew,dona.sophy@st.ovgu.de
Pratik Dhirajlal,Bhayani,pratik.bhayani@st.ovgu.de
Mohammadasad,Mutarwala,mohammadasad.mutarwala@st.ovgu.de
Tapan,Kumar,tapan1@st.ovgu.de
Tolulope,Lawuyi,tolulope.lawuyi@st.ovgu.de
Vignesh Kumar,Radhakannan Aruna,vignesh.radhakannan@st.ovgu.de
Maria,James,maria.james@st.ovgu.de
Ernest Ifeanyi,Dike,ernest.dike@st.ovgu.de
Prasanna,Selvarajan,prasanna.selvarajan@st.ovgu.de
Irin Wilson,Panjikkaran,irin.panjikkaran@st.ovgu.de
Barathi,Kamalakannan,barathi.kamalakannan@st.ovgu.de
Vishal,Verma,vishal.verma@st.ovgu.de
Linson,Thaddevus,linson.thaddevus@st.ovgu.de
Tomas,Chamorro,tomas.chamorro@st.ovgu.de
Khalid,Mohammed,khalid.mohammed@st.ovgu.de
Emel,Alkan,emel.alkan@st.ovgu.de
Juan Daniel,Vargas,juan.vargas@st.ovgu.de
Harish,Raju,raju1@st.ovgu.de
Surya Prakash Reddy,Pathakota,surya.pathakota@st.ovgu.de
Aravind,Muralidharan,aravind.muralidharan@st.ovgu.de
Aman Kumar,Jain,aman.jain@st.ovgu.de
Sandeep,Mamidi,sandeep.mamidi@st.ovgu.de
Shreyas Rajesh,Bhatt,shreyas.bhatt@st.ovgu.de
Mohideen Abu Haniffa,Sultan Mohideen,mohideen.sultan@st.ovgu.de
Manikhanta,Chinni,manikhanta.chinni@st.ovgu.de
Vishal,Boga,vishal.boga@st.ovgu.de
Anas,Noorani,anas.noorani@st.ovgu.de
Sainath Reddy,Bheemi Reddy,sainath.bheemi@st.ovgu.de
Himanth,Venati,himanth.venati@st.ovgu.de
Chimaobi,Ihuoma,chimaobi.ihuoma@st.ovgu.de
Suraj Pravinbhai,Gangani,suraj.gangani@st.ovgu.de
Dhiraj,Gokuladas,dhiraj.gokuladas@st.ovgu.de
Sai Venkata Akhil Kumar,Challuri,sai.challuri@st.ovgu.de
Kevin,Edampurath,kevin.edampurath@st.ovgu.de
Tobore,Igbigbi,tobore.igbigbi@st.ovgu.de
Aamir,Ali,aamir.ali@st.ovgu.de
Harish,Adapureddi,harish.adapureddi@st.ovgu.de
Aritra,Rayhan,aritra.rayhan@st.ovgu.de
Yagna Murthy,Ayachitula,yagna.ayachitula@st.ovgu.de
Sasank Teja,Ravi,sasank.ravi@st.ovgu.de
Ravi Kishore Reddy,Vanukuri,ravi.vanukuri@st.ovgu.de
Idicula Jacob,Ashish,ashishi1@st.ovgu.de
Muhammad Affan,Qamar,muhammad1.qamar@st.ovgu.de
Akhil,Kadari,akhil.kadari@st.ovgu.de
Devidas,Khatri,devidas.khatri@st.ovgu.de
Venus Riteshbhai,Shah,venus.shah@st.ovgu.de
Megh,Parikh,megh.parikh@st.ovgu.de
Dhruveshkumar,Sojitra,dhruveshkumar.sojitra@st.ovgu.de
Saneesh,Thomas,saneesh.thomas@st.ovgu.de
Basil,Jose,basil.jose@st.ovgu.de
Suneeva Sharon,Samuel,suneeva.samuel@st.ovgu.de
\newcommand{\pipediameter}{XXpipediameterXX}
\newcommand{\pipelength}{XXpipelengthXX}
\newcommand{\density}{XXdensityXX}
\newcommand{\viscosity}{XXviscosityXX}
\newcommand{\reynolds}{XXreynoldsXX}
\newcommand{\dummytwo}{XXdummytwoXX}
\newcommand{\dummyone}{XXdummyoneXX}
\documentclass[12pt,a4paper]{article}
\usepackage{fluidmechpeer1} % from https://framagit.org/olivier/sensible-styles
\newcommand{\acode}{XXcustomIDAXX}
\newcommand{\gcode}{XXcustomIDGXX}
\newcommand{\studentfullname}{XXstudentfullnameXX}
\newcommand{\studentfirstname}{XXstudentfirstnameXX}
\newcommand{\length}{XXlengthXX}
\newcommand{\width}{XXwidthXX}
\newcommand{\area}{XXareaXX}
\newcommand{\areadoubled}{XXarea_doubledXX}
\renewcommand{\authorofthisdocument}{Author}
\renewcommand{\titleofthisdocument}{Solution to assignment \#1 for \studentfullname}
\usepackage{fluidmechpeer2}
\begin{document}
\null
\vfill
\begin{centering}
{\Large \titleofthisdocument
(custom ID: {\acode})}
\end{centering}
\vspace{1em}
Dear \studentfirstname,\\
you will find attached the complete solution corresponding to your coursework assignment, followed by your own submission.
Many thanks for participating in the program!
With best regards,
(Author)\\
\href{mailto:author@example.com}{author@example.com}
\vfill
\pagebreak
\section*{Values for this problem:}
\begin{IEEEeqnarray*}{rCl}
L_1 &=& \SI{\length}{\metre}\\
L_2 &=& \SI{\width}{\metre}\\
\end{IEEEeqnarray*}
\section*{Solution to this problem}
\subsection{What is the area of the rectangle?}
The area $A_1$ of the rectangle is expressed with the following equation:
\begin{framed}
\eq{
A_1 &=& L_1 \ L_2 \label{eq_area_rectangle}
}
\end{framed}
The value for the area is obtained by plugging in numbers into eq.~\ref{eq_area_rectangle} above:
\eq{
A_1 &=& L_1 \times L_2\\
&=& \num{\width} \times \num{\length}
}
And so the result is obtained as:
\begin{framed}
\eq{
A_1 &=& \SI{\area}{\metre\squared}
}
\end{framed}
\begin{gradingcomments}
\item The final result must have units of area (\si{\metre\squared}) (weight: 1~point)
\end{gradingcomments}
\subsection{What is the area of the rectangle if the length of every side is~doubled?}
The result is obtained by multiplying every length by a factor 2:
\eq{
A_\text{double} &=& 2 L_1 \times 2 L_2\\
&=& 4 L_1 \ L_2
}
And so the general answer is
\begin{framed}
\eq{
A_\text{double} &=& 4 A_1 \label{area_value_two}
}
\end{framed}
\begin{gradingcomments}
\item A common error might be to state that $A_\text{double} = 2 A_1$ here (weight: 1~point)
\end{gradingcomments}
The final value is obtained by plugging in numbers into eq.~\ref{area_value_two} above:
\eq{
A_\text{double} &=& 4 \times \num{\area}