From 056d12ecaa653f834c9e786ae4034c38e4f88555 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Mon, 11 Feb 2013 09:56:47 -0500 Subject: [PATCH] hw4.txt: Add text of the homework assignment Converted to UTF-8 text from http://physics.drexel.edu/~valliere/PHYS305/phys305.w13/assignments/hw4/hw4.pdf --- hw4.txt | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 hw4.txt diff --git a/hw4.txt b/hw4.txt new file mode 100644 index 0000000..e477e45 --- /dev/null +++ b/hw4.txt @@ -0,0 +1,76 @@ +PHYS 305 - Assignment #4 +Due: Friday, February 8th + +Make sure your name is listed as a comment at the beginning of all your work. + +Purpose: Illustrate the accuracy of the Differential Equations +solvers. Study a Phase Space Portrait. Write an analysis tool. + +The one Gaussian potential hill solution +======================================== + +Understand and check your version of the code we did in class. Call +this code one_gaussian_bump.c. Make sure your version defaults to the +following: + +* Height depth = 5, mass m = 1.0 +* E = 0.5 +* x = 3.5, v = −sqrt(2E/m) +* tmin = 0.0, tmax = 7.0, dt = 0.001 + +Make sure that the execution line modifiers, i.e., -d 0.001, allow you +to reset the initial values of x and v, as well as dt (there could be +more options). + +Accuracy - Order of the solver +============================== + +Hint: Do not modify the code one_gaussian_bump.c in this section! + +You want to check the order of the differential equation solver. For +this you need to find α in + + error = dt^α + +based on the energy which ought to be a constant. Define + + error = max((Ecalculated - Einitial)/Einitial) + +where the max means to find the maximum of the error over the entire +time domain over which you integrate. + +* Write a small analysis program, error_analysis.c, which reads in + stdin from the stdout of one_gaussian_bump.c via a pipe + + ./one_gaussian_bump | ./error_analysis + + and computes error. + +* Write a shell script ( bash or tcsh ) to run the codes in the pipe + + ./one_gaussian_bump -d0.001 | ./error_analysis + + over a range in dt, [ 0.00004, 0.0002, 0.001, 0.005, 0.025 ] + +* Use the Euler, Mid-Point and RK4 (will be explained later in class) + methods in solving for the solution of the system of diff. eq. + +* Plot error for the three methods of solution versus dt in the + appropriate way to extract the power α. + +Phase Space Portrait +==================== + +Hint: Do not modify the code one_gaussian_bump.c in this section! + +* Use the script written above to run ./one_gausian_bump over a range + of initial energies, [ 0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3,5, 4.0, + 4.5, 4.9, 5.0, 5.1, 5.5 ]. Use the default dt = 0.001 and the RK4 + method of solution. +* Record the output data from all the runs in a single (big) file. +* Plot all the trajectories, v versus x, at once in a single plot + (with dots). +* Plot E versus x corresponding to the different initial energies at + once in a single plot. Superpose a plot of the potential function + onto the latter (with dots). +* Comment on what you see. -- 2.26.2