Commit ce13211d authored by Dave Cooper's avatar Dave Cooper
Browse files

added TUD slides, updated g102 slides.

parent aa1eea02
......@@ -45,7 +45,8 @@ Defaults to a directory called <tt>(the application-name)</tt> in the user
temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
destination-directory
(make-pathname :name nil :type nil
:directory (append (pathname-directory (glisp:temporary-folder)) (ensure-list (the application-name)))
:directory (append (pathname-directory (glisp:temporary-folder))
(ensure-list (the application-name)))
:defaults (glisp:temporary-folder)))
(overwrite? t)
......@@ -60,7 +61,10 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(post-load-form '(progn (setf (symbol-value (read-from-string
"asdf:*central-registry*")) nil)
(asdf:map-systems #'asdf:clear-system)))
(asdf:map-systems #'asdf:clear-system)
(asdf:clear-output-translations)
(asdf:disable-output-translations)
))
(init-file-names nil)
......
......@@ -43,7 +43,7 @@
((:a :href "http://www.youtube.com/playlist?list=PLCF84A1DE8098DCE2" :target "gdl-videos") "playlist") ".")
(:ol
(:li ((:a :href "http://www.youtube.com/watch?v=WC3B7ztMRcE&hd=1" :target "gdl-videos")
(:li ((:a :href "http://www.youtube.com/watch?v=0fj9Cv_QWpw&hd=1" :target "gdl-videos")
"Installation of GenDL (Windows version) from simple Zipfile distribution (4:21)"))
(:li ((:a :href "http://www.youtube.com/watch?v=9QSzuBeYHPE&hd=1" :target "gdl-videos")
"Section 1: Introduction (3:34)"))
......
......@@ -333,7 +333,7 @@
Edition includes all the "
((:a :href "http://www.lispworks.com/products/features.html")
"features")
" of Professional (\"Basic\"), with the
" of Professional, with the
addition of several "
((:a :href "http://www.lispworks.com/products/LW60.pdf")
"add-on modules")
......
(in-package :gdl-user)
(define-object empty-surface (base-object)
;;
;; Empty specs -- will replace with "real" built-in surface
;; later.
;;
)
(define-object wing (empty-surface)
:computed-slots
((b 30)
(c-root 6)
(c-tip 3)
(c-avg (/ (+ (the c-root) (the c-tip)) 2))
(taper (/ (the c-tip) (the c-root)))))
(define-object wing-with-input (empty-surface)
:input-slots (b)
:computed-slots
((c-root 6)
(c-tip 3)
(c-avg (/ (+ (the c-root) (the c-tip)) 2))
(taper (/ (the c-tip) (the c-root)))
(S (* (the b) (the c-avg)))
(A (/ (expt (the b) 2) (the S)))))
(define-object wing-more-inputs (empty-surface)
:input-slots
((b 20)
(c-root 6 :settable)
(c-tip 3 :settable))
:computed-slots
((c-avg (/ (+ (the c-root) (the c-tip)) 2))
(taper (/ (the c-tip) (the c-root)))
(S (* (the b) (the c-avg)))
(A (/ (expt (the b) 2) (the S)))))
(define-object engine (cylinder)
:input-slots
(Tmax))
(define-object wing-with-engines (empty-surface)
:input-slots
((Tmax-list (list 1000 800 900 1200) :settable)
(c-root 6 :settable)
(c-tip 3 :settable)
(other-inputs "..."))
:computed-slots
((Tmax-total (sum-elements (the engines) (the-element Tmax)))
(other-slots "..."))
:objects
((engines :type 'engine
:sequence (:size (length (the Tmax-list)))
:Tmax (nth (the-child index) (the Tmax-list)))))
(define-object fuel-tank ()
:input-slots
(l w h)
:computed-slots
((volume (* (the l)
(the w)
(the h)))))
(define-object wing-with-tanks (empty-surface)
:input-slots
((Tmax-list (list 1000 800 900 1200) :settable)
(b 30)
(c-root 6 :settable)
(c-tip 3 :settable)
(tank-data (list (list :w 4 :l 3.5 :h .3 )
(list :w 2 :l 2.5 :h .2 )
(list :w 1.5 :l 2 :h 0.15)))
(other-inputs "..."))
:computed-slots
((Tmax-total (sum-elements (the engines) (the-element Tmax)))
(tank-volume (sum-elements (the fuel-tanks) (the-element volume)))
(c-avg (/ (+ (the c-root) (the c-tip)) 2))
(taper (/ (the c-tip) (the c-root)))
(S (* (the b) (the c-avg)))
(A (/ (expt (the b) 2) (the S))))
:objects
((engines :type 'engine
:sequence (:size (length (the Tmax-list)))
:Tmax (nth (the-child index) (the Tmax-list)))
(fuel-tanks :type 'fuel-tank
:sequence (:size (length (the tank-data)))
:l (getf (nth (the-child index) (the tank-data)) :l)
:w (getf (nth (the-child index) (the tank-data)) :w)
:h (getf (nth (the-child index) (the tank-data)) :h))))
(define-object aircraft (base-object)
:input-slots
((rho 0.73)
(friction-coefficient 0.005))
:computed-slots
((Sw (+ (* (the right-wing S) 2)
(* (the left-wing S) 2)
(the fuselage Sw))))
:objects
((right-wing :type 'wing-with-tanks)
(left-wing :type 'wing-with-tanks)
(fuselage :type 'fuselage))
:functions
((compute-friction-force (speed)
(* (the friction-coefficient)
1/2
(the rho)
(expt speed 2)
(the Sw)))))
(in-package :gdl-user)
(define-object fuselage (cylinder)
:input-slots
((d 6)
(l 40))
:computed-slots
((A (* 1/4 pi (expt (the d) 2)))
(C (* pi (the d)))
(V (* (the A) (the l)))
(Sw (* (the C) (the l)))
(slenderness (/ (the l) (the d)))))
(define-object aircraft-with-lift (base-object)
:input-slots
((rho 0.73)
(friction-coefficient 0.005))
:computed-slots
((Sw (+ (* (the right-wing S) 2)
(* (the left-wing S) 2)
(the fuselage Sw))))
:objects
((right-wing :type 'wing-with-tanks)
(left-wing :type 'wing-with-tanks)
(fuselage :type 'fuselage))
:functions
((compute-friction-force
(speed)
(* (the friction-coefficient) 1/2 (the rho)
(expt speed 2) (the Sw)))
(compute-lift-force
(speed CL)
(* CL 1/2 (the rho)
(expt speed 2) (+ (the right-wing S)
(the left-wing S))))))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment