From 103a61bcf8648c50b5999cdb526464d44c75dfe1 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 27 Jan 2009 14:52:07 -0500 Subject: Added some demo files, journal, tweaks --- README | 8 +++++ journal/22jan2009.html | 5 +-- journal/26jan2009.html | 27 +++++++++++++++ other/doublepend-examples.scm | 81 +++++++++++++++++++++++++++++++++++++++++++ other/henon-demos.scm | 15 ++++++++ work/calculus_play.scm | 17 +++++++++ 6 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 journal/26jan2009.html create mode 100644 other/doublepend-examples.scm create mode 100644 other/henon-demos.scm create mode 100644 work/calculus_play.scm diff --git a/README b/README index 03fa59e..9a70dff 100644 --- a/README +++ b/README @@ -32,3 +32,11 @@ journal/ daily journal entries proposal/ the original proposal as submited to the physics department +src/ + LaTeX, figures, source files, etc for actual document +work/ + Scheme code and examples +other/ + Misc other files +html/ + hypertext rendering of actual document diff --git a/journal/22jan2009.html b/journal/22jan2009.html index 68213b5..6ac454c 100644 --- a/journal/22jan2009.html +++ b/journal/22jan2009.html @@ -4,7 +4,7 @@ bnewbold thesis

-Journal: Jan 21, 2009

+Journal: Jan 22, 2009 Bryan Newbold, bnewbold@mit.edu
http://web.mit.edu/bnewbold/thesis/ @@ -38,7 +38,8 @@ href="../other/mit-scheme-etch-amd64-howto.txt">directions I emailed to the mit-scheme-devel list.

-(previous entry) +(previous entry) - +(next entry) diff --git a/journal/26jan2009.html b/journal/26jan2009.html new file mode 100644 index 0000000..2e7201e --- /dev/null +++ b/journal/26jan2009.html @@ -0,0 +1,27 @@ + + +bnewbold thesis + +

+Journal: Jan 26, 2009

+Bryan Newbold, bnewbold@mit.edu
+ +http://web.mit.edu/bnewbold/thesis/ +

+ + + +I need a running glossary of differential geometry terms as I read; it's +here. I'd like +to cross reference these against a couple textbooks and cherry pick the best +definitions/explinations. Early terms: coordinate function, chart, atlas, +patch, manifold, manifold function, vector field, coefficient function. + +

+(previous entry) + + + + + diff --git a/other/doublepend-examples.scm b/other/doublepend-examples.scm new file mode 100644 index 0000000..9f36ee0 --- /dev/null +++ b/other/doublepend-examples.scm @@ -0,0 +1,81 @@ +; from project 3 +; 8.351j +; bryan newbold + +; from section 1.6.2 + +(define ((T-pend m l g ys) local) + (let ((t (time local)) + (theta (coordinate local)) + (thetadot (velocity local))) + (let ((vys (D ys))) + (* 1/2 m + (+ (square (* 1 thetadot)) + (square (vys t)) + (* 2 l (vys t) thetadot (sin theta))))))) + +(define ((V-pend m l g ys) local) + (let ((t (time local)) + (theta (coordinate local))) + (* m g (- (ys t) (* l (cos theta)))))) + +(define L-pend (- T-pend V-pend)) + +(define ((periodic-drive amplitude frequency phase) t) + (* amplitude (cos (+ (* frequency t) phase)))) + +(define (L-periodically-driven-pendulum m l g a omega) + (let ((ys (periodic-drive a omega 0))) + (L-pend m l g ys))) + +(define Hamiltonian->state-derivative + phase-space-derivative) + +;(se ((Lagrangian->Hamiltonian +; (L-periodically-driven-pendulum 'm 'l 'g 'a 'omega)) +; (up 't 'theta 'p_theta))) + +(define (H-pend-sysder m l g a omega) + (Hamiltonian->state-derivative + (Lagrangian->Hamiltonian + (L-periodically-driven-pendulum m l g a omega)))) + +(define ((monitor-p-theta win) state) + (let ((q ((principal-value :pi) (coordinate state))) + (p (momentum state))) + (plot-point win q p))) + +(define window (frame :-pi :pi -100.0 100.0)) + +(let ((m 1.) + (l 9.8) + (g 9.8) + (A 0.01) + (omega 600)) + ((evolve H-pend-sysder m l g A omega) + (up 0. + 1.5367 + 0.) + (monitor-p-theta window) + .00001 + .6 + 1.0e-12)) + +(define (driven-pendulum-map m l g A omega) + (let ((advance (state-advancer H-pend-sysder m l g A omega)) + (map-period (/ :2pi omega))) + (lambda (theta ptheta return fail) + (let ((ns (advance + (up 0 theta ptheta) + map-period))) + (return ((principal-value :pi) (coordinate ns)) + (momentum ns)))))) + +(graphics-close window) +(start-gnuplot "output") + + + + + + diff --git a/other/henon-demos.scm b/other/henon-demos.scm new file mode 100644 index 0000000..c00e3fc --- /dev/null +++ b/other/henon-demos.scm @@ -0,0 +1,15 @@ +;;;;;;; problem 3.13 + +(define ((henon-map alpha) x y return failure) + (if (or (> x 1) (< x -1) (> y 1) (< y -1)) + failure) + (return (- (* x (cos alpha)) + (* (- y (square x)) (sin alpha))) + (+ (* x (sin alpha)) + (* (- y (square x)) (cos alpha))))) + +(define window (frame -1. 1. -1. 1.)) + +(explore-map window (henon-map 1.21) 2000) + + diff --git a/work/calculus_play.scm b/work/calculus_play.scm new file mode 100644 index 0000000..7a043df --- /dev/null +++ b/work/calculus_play.scm @@ -0,0 +1,17 @@ + +;;; Jan 26th + +(declare (usual-integrations)) +(load "~/thesis/scmutils/src/calculus/load.scm") + + +(define R2 (make-manifold R^n-type 2)) +(define U (patch 'origin R2)) + +(load "~/thesis/scmutils/src/general/canonicalizer.scm") + +(define d/dx (coordinate-basis-vector-field cart + +(define J (- (* x d/dy) (* y (d/dx)))) + +(define omega (literal-1form-field 'a R2-rect)) \ No newline at end of file -- cgit v1.2.3