SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Resonance
An Interactive Textbook and Software Library for Learning About Mechanical Vibrations
SacPy
Thursday, November 9th, 2017
Jason K. Moore and Kenneth Lyons
Mechanical and Aerospace Engineering Department
University of California, Davis
What are Mechanical Vibrations?
What are Mechanical Vibrations?
What are mechanical vibrations?
What are mechanical vibrations?
What are mechanical vibrations?
Class Description
● Upper level elective (juniors and seniors)
● 10-30 students
● 4 hours per week, 10 weeks + 1 exam week
● Prereqs: dynamics and programming
● Assessment
○ In class notebook exercises
○ Weekly homeworks
○ Midterm exam
○ Class project
● Course website: https://moorepants.github.io/eng122/
Learning Objectives
1) Students will be able to analyze vibrational measurement data to draw conclusions
about the measured system's vibrational nature and describe how the system
behaves vibrationally.
2) Students will be able to create simple mathematical and computational models of
real vibrating systems that can be used to answer specific questions about the
system by concisely demonstrating the vibrational phenomena.
3) Students will be able to design a mechanical structure that has desirable vibrational
behavior.
Key aspect is the order of these topics and that we do not have an objective associated
with analytical understanding of the concepts.
Course Design
● That students can learn about mechanical vibrations engineering through
"computational thinking" and "computational experimentation", i.e. actively
interacting with a computer by writing code to simulate and analyze computational
models and experimental data.
● That the computer allows students to solve vibration engineering problems without
knowing all of the mathematical theory a priori. This means that we can motivate
students to dig deeper into the theory and by presenting it posteriori when the
motivation is high. The students will be introduced to data analysis techniques to
study vibrations before analytical techniques.
● Students learn best by doing. The content is meant to used in class while the
instructors act as a coach through the learning.
● That each lesson should have a motivated real life example that drives the
investigation.
● Open access materials promote easy reuse, remixing, and dissemination.
Computational Thinking
Before computers analytical mathematics and experimentation were the two ways to
learn and reason about the world. The computer (especially fast ones) provides a new
method. “Computational Thinking” is a way to think and solve problems using the
constructs and abstractions in a computer instead of the ones in analytic mathematics.
Example: What is the probability of rolling at least two 3’s in 10 dice rolls?
New way: just write some code
from random import choice
count = 0
num_trials = 10000
for trial in range(num_trials):
rolls = []
for roll in range(10):
rolls.append(choice([1, 2, 3, 4, 5, 6]))
if len([r for r in rolls if r == 3]) > 1:
count += 1
print(count / num_trials)
Result: 0.5236
Old way: remember the binomial theorem?
Result: 0.5233
Computational Experimentation
The idea that you can run experiments (simulations) to learn about the world without
having the real physical object and phenomena. This requires that you can create
computational models of the real world that predict the phenomena of interest. Once
you have a sufficient model, you can do thousands, millions of experiments.
Why Python?
● Easy language to learn
● Can hide and abstract away programming details, language should be hidden and
the engineering concepts should be the focus
● Python objects can be designed to map directly to engineering concepts and
objects
● Rich and powerful scientific libraries (NumPy, SciPy, Pandas, matplotlib, SymPy,
etc)
● Jupyter Notebooks
● Learning Python provides a very valuable career skill
● Popular!
● It’s the professor’s favorite language :)
Resonance: The Software Library
● Open Source: https://github.com/moorepants/resonance (CC-BY 4.0)
● Docs: http://resonance.readthedocs.io
● Conda: https://anaconda.org/conda-forge/resonance
● Pip: https://pypi.org/project/resonance/
Design Principles
● Students only create functions, no need to understand classes and objects.
● Hide the simulation details (linear/nonlinear ODE solutions).
● Centered around the “System” object. Systems represent real things: a car, a
bridge, a bicycle, an airplane wing.
● Easy visualizations (time history plots and animations of systems)
● Extra informative and lots of error messages (try to predict student mistakes)
● Students can use and construct systems.
● Don’t teach programming for the sake of teaching programming. Show them how to
solve problems and introduce programming along the way to solve those problems.
Class Hierarchy
● System
○ MultiDoFNonLinearSystem
■ SingleDoFNonLinearSystem
● SingleDoFLinearSystem
○ BaseExcitationSystem
■ QuarterCarSystem
○ MassSpringDamperSystem
○ TorsionalPendulumSystem
○ BookBalanceOnCupSystem
○ SimplePendulum
● SimplePendulum
● CompoundPendulumSystem
● BookBalanceOnCupSystem
■ MultiDoFLinearSystem
● BicycleSystem
● HalfCarSystem
● MultiStoryBuildingSystem
Textbook
● Open Access (CC-BY)
● Written in Jupyter Notebooks: mixes
prose, math, videos, graphics, code,
widgets
● https://moorepants.github.io/resonance
● Writing it as we go along this quarter
● All chapters should have context: a real
problem to solve
Notebook demo: Book Balancing on a Cup
Statically rendered version [Introducing Mechanical Vibrations By Investigating a Book
Oscillating on a Cylindrical Cup]
https://moorepants.github.io/resonance
Notebook demo: Car Driving On a Road
Statically rendered version [Vertical Vibration of a Quarter Car]
https://moorepants.github.io/resonance
Providing a Jupyter Environment
Microsoft Azure Notebooks
CoCalc (formerly SageMathCloud)
Google Colaboratory JupyterHub
JupyterHub
JupyterHub allows us the freedom to set things
up the way we want.
Many options for deployment, customization, etc.
Free and open source (BSD).
Friendly and active community, consisting of
people that work on Jupyter itself.
Written to be administered by you, so there is
documentation for running your own JupyterHub.
Our JupyterHub Configuration
Overview:
● Bare metal server
● Local user accounts
● Google OAuth (students use their UCD accounts)
● Ansible deployment: https://github.com/jupyterhub/jupyterhub-deploy-teaching
This setup achieves our main goals:
● run persistently for several years with low cost
● install/update packages as we see fit (sometimes right before class starts)
● simple to maintain*
● restrict access to specific UCD students
Running the Course
The nbgrader extension lets us release, collect, and grade notebooks
[nbgrader demo]
Our Experience So Far
Positive
● Students seem motivated to learn
about vibrations (they want to know
how the simulations work)
● Students are able to work at different
levels of abstraction for solving
problems
● Students can approach fairly
complex systems and run the entire
analysis process
● They like Python.
Negative
● The overhead of introducing a
programming language
● resonance lib needs to expose the
right details
● Classwork can move too fast
● nbgrader workflow isn’t ideal for our
homework style
● Students haven’t quite grokked good
notebook style yet
● Not quite sure yet if the learning
objectives have been met
More Information
Repository: https://github.com/moorepants/resonance
Course website: https://moorepants.github.io/eng122/
Jason K. Moore
● moorepants.info
● @moorepants (twitter, Github, G+, etc)
Kenneth Lyons
● ixjlyons.com
● @ixjlyons
Funding
Much of this work has been made possible through the Undergraduate Instructional
Innovation Program funds provided by the Association of American Universities (AAU)
and Google which is administered by UC Davis's Center for Educational Effectiveness.

Weitere ähnliche Inhalte

Ähnlich wie Resonance Introduction at SacPy

Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15MLconf
 
10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConfXavier Amatriain
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systemsXavier Amatriain
 
EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...
EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...
EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...EUmoocs
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Xavier Amatriain
 
Three dimensional modeling
Three dimensional modelingThree dimensional modeling
Three dimensional modelingHCS
 
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaTeaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaDr. Sandeep Kumar Singh
 
Keynote 1: Teaching and Learning Computational Thinking at Scale
Keynote 1: Teaching and Learning Computational Thinking at ScaleKeynote 1: Teaching and Learning Computational Thinking at Scale
Keynote 1: Teaching and Learning Computational Thinking at ScaleCITE
 
C++ plus data structures, 3rd edition (2003)
C++ plus data structures, 3rd edition (2003)C++ plus data structures, 3rd edition (2003)
C++ plus data structures, 3rd edition (2003)SHC
 
Teaching Machine Learning to Design Students
Teaching Machine Learning to Design StudentsTeaching Machine Learning to Design Students
Teaching Machine Learning to Design Studentsbutest
 
B.sc CSIT 2nd semester C++ unit-1
B.sc CSIT  2nd semester C++ unit-1B.sc CSIT  2nd semester C++ unit-1
B.sc CSIT 2nd semester C++ unit-1Tekendra Nath Yogi
 
The Materials Project: Experiences from running a million computational scien...
The Materials Project: Experiences from running a million computational scien...The Materials Project: Experiences from running a million computational scien...
The Materials Project: Experiences from running a million computational scien...Anubhav Jain
 
The Valladolid Presentation - Nov, 16, 2011
The Valladolid Presentation - Nov, 16, 2011The Valladolid Presentation - Nov, 16, 2011
The Valladolid Presentation - Nov, 16, 2011sdemetri
 
Constrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project BonsaiConstrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project BonsaiIvo Andreev
 
Cse 8th sem syllabus
Cse 8th sem syllabusCse 8th sem syllabus
Cse 8th sem syllabusAkshatha Nair
 
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning SystemsXavier Amatriain
 

Ähnlich wie Resonance Introduction at SacPy (20)

Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
 
10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems
 
Xiangen Hu - WESST - AutoTutor, an implementation of Conversation-Based Intel...
Xiangen Hu - WESST - AutoTutor, an implementation of Conversation-Based Intel...Xiangen Hu - WESST - AutoTutor, an implementation of Conversation-Based Intel...
Xiangen Hu - WESST - AutoTutor, an implementation of Conversation-Based Intel...
 
EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...
EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...
EMMA Summer School - C. Padron-Napoles - Choosing a MOOC approach that meets ...
 
Lec 01 introduction
Lec 01   introductionLec 01   introduction
Lec 01 introduction
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
 
Three dimensional modeling
Three dimensional modelingThree dimensional modeling
Three dimensional modeling
 
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaTeaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
 
Keynote 1: Teaching and Learning Computational Thinking at Scale
Keynote 1: Teaching and Learning Computational Thinking at ScaleKeynote 1: Teaching and Learning Computational Thinking at Scale
Keynote 1: Teaching and Learning Computational Thinking at Scale
 
C++ plus data structures, 3rd edition (2003)
C++ plus data structures, 3rd edition (2003)C++ plus data structures, 3rd edition (2003)
C++ plus data structures, 3rd edition (2003)
 
Teaching Machine Learning to Design Students
Teaching Machine Learning to Design StudentsTeaching Machine Learning to Design Students
Teaching Machine Learning to Design Students
 
B.sc CSIT 2nd semester C++ unit-1
B.sc CSIT  2nd semester C++ unit-1B.sc CSIT  2nd semester C++ unit-1
B.sc CSIT 2nd semester C++ unit-1
 
The Materials Project: Experiences from running a million computational scien...
The Materials Project: Experiences from running a million computational scien...The Materials Project: Experiences from running a million computational scien...
The Materials Project: Experiences from running a million computational scien...
 
The Valladolid Presentation - Nov, 16, 2011
The Valladolid Presentation - Nov, 16, 2011The Valladolid Presentation - Nov, 16, 2011
The Valladolid Presentation - Nov, 16, 2011
 
Constrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project BonsaiConstrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project Bonsai
 
Cse 8th sem syllabus
Cse 8th sem syllabusCse 8th sem syllabus
Cse 8th sem syllabus
 
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
 
Cadgme2016 keynote final
Cadgme2016 keynote finalCadgme2016 keynote final
Cadgme2016 keynote final
 
Lecture 1 (bce-7)
Lecture   1 (bce-7)Lecture   1 (bce-7)
Lecture 1 (bce-7)
 

Kürzlich hochgeladen

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 

Kürzlich hochgeladen (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 

Resonance Introduction at SacPy

  • 1. Resonance An Interactive Textbook and Software Library for Learning About Mechanical Vibrations SacPy Thursday, November 9th, 2017 Jason K. Moore and Kenneth Lyons Mechanical and Aerospace Engineering Department University of California, Davis
  • 2. What are Mechanical Vibrations?
  • 3. What are Mechanical Vibrations?
  • 4. What are mechanical vibrations?
  • 5. What are mechanical vibrations?
  • 6. What are mechanical vibrations?
  • 7. Class Description ● Upper level elective (juniors and seniors) ● 10-30 students ● 4 hours per week, 10 weeks + 1 exam week ● Prereqs: dynamics and programming ● Assessment ○ In class notebook exercises ○ Weekly homeworks ○ Midterm exam ○ Class project ● Course website: https://moorepants.github.io/eng122/
  • 8. Learning Objectives 1) Students will be able to analyze vibrational measurement data to draw conclusions about the measured system's vibrational nature and describe how the system behaves vibrationally. 2) Students will be able to create simple mathematical and computational models of real vibrating systems that can be used to answer specific questions about the system by concisely demonstrating the vibrational phenomena. 3) Students will be able to design a mechanical structure that has desirable vibrational behavior. Key aspect is the order of these topics and that we do not have an objective associated with analytical understanding of the concepts.
  • 9. Course Design ● That students can learn about mechanical vibrations engineering through "computational thinking" and "computational experimentation", i.e. actively interacting with a computer by writing code to simulate and analyze computational models and experimental data. ● That the computer allows students to solve vibration engineering problems without knowing all of the mathematical theory a priori. This means that we can motivate students to dig deeper into the theory and by presenting it posteriori when the motivation is high. The students will be introduced to data analysis techniques to study vibrations before analytical techniques. ● Students learn best by doing. The content is meant to used in class while the instructors act as a coach through the learning. ● That each lesson should have a motivated real life example that drives the investigation. ● Open access materials promote easy reuse, remixing, and dissemination.
  • 10. Computational Thinking Before computers analytical mathematics and experimentation were the two ways to learn and reason about the world. The computer (especially fast ones) provides a new method. “Computational Thinking” is a way to think and solve problems using the constructs and abstractions in a computer instead of the ones in analytic mathematics. Example: What is the probability of rolling at least two 3’s in 10 dice rolls? New way: just write some code from random import choice count = 0 num_trials = 10000 for trial in range(num_trials): rolls = [] for roll in range(10): rolls.append(choice([1, 2, 3, 4, 5, 6])) if len([r for r in rolls if r == 3]) > 1: count += 1 print(count / num_trials) Result: 0.5236 Old way: remember the binomial theorem? Result: 0.5233
  • 11. Computational Experimentation The idea that you can run experiments (simulations) to learn about the world without having the real physical object and phenomena. This requires that you can create computational models of the real world that predict the phenomena of interest. Once you have a sufficient model, you can do thousands, millions of experiments.
  • 12. Why Python? ● Easy language to learn ● Can hide and abstract away programming details, language should be hidden and the engineering concepts should be the focus ● Python objects can be designed to map directly to engineering concepts and objects ● Rich and powerful scientific libraries (NumPy, SciPy, Pandas, matplotlib, SymPy, etc) ● Jupyter Notebooks ● Learning Python provides a very valuable career skill ● Popular! ● It’s the professor’s favorite language :)
  • 13. Resonance: The Software Library ● Open Source: https://github.com/moorepants/resonance (CC-BY 4.0) ● Docs: http://resonance.readthedocs.io ● Conda: https://anaconda.org/conda-forge/resonance ● Pip: https://pypi.org/project/resonance/ Design Principles ● Students only create functions, no need to understand classes and objects. ● Hide the simulation details (linear/nonlinear ODE solutions). ● Centered around the “System” object. Systems represent real things: a car, a bridge, a bicycle, an airplane wing. ● Easy visualizations (time history plots and animations of systems) ● Extra informative and lots of error messages (try to predict student mistakes) ● Students can use and construct systems. ● Don’t teach programming for the sake of teaching programming. Show them how to solve problems and introduce programming along the way to solve those problems.
  • 14. Class Hierarchy ● System ○ MultiDoFNonLinearSystem ■ SingleDoFNonLinearSystem ● SingleDoFLinearSystem ○ BaseExcitationSystem ■ QuarterCarSystem ○ MassSpringDamperSystem ○ TorsionalPendulumSystem ○ BookBalanceOnCupSystem ○ SimplePendulum ● SimplePendulum ● CompoundPendulumSystem ● BookBalanceOnCupSystem ■ MultiDoFLinearSystem ● BicycleSystem ● HalfCarSystem ● MultiStoryBuildingSystem
  • 15. Textbook ● Open Access (CC-BY) ● Written in Jupyter Notebooks: mixes prose, math, videos, graphics, code, widgets ● https://moorepants.github.io/resonance ● Writing it as we go along this quarter ● All chapters should have context: a real problem to solve
  • 16. Notebook demo: Book Balancing on a Cup Statically rendered version [Introducing Mechanical Vibrations By Investigating a Book Oscillating on a Cylindrical Cup] https://moorepants.github.io/resonance
  • 17. Notebook demo: Car Driving On a Road Statically rendered version [Vertical Vibration of a Quarter Car] https://moorepants.github.io/resonance
  • 18. Providing a Jupyter Environment Microsoft Azure Notebooks CoCalc (formerly SageMathCloud) Google Colaboratory JupyterHub
  • 19. JupyterHub JupyterHub allows us the freedom to set things up the way we want. Many options for deployment, customization, etc. Free and open source (BSD). Friendly and active community, consisting of people that work on Jupyter itself. Written to be administered by you, so there is documentation for running your own JupyterHub.
  • 20. Our JupyterHub Configuration Overview: ● Bare metal server ● Local user accounts ● Google OAuth (students use their UCD accounts) ● Ansible deployment: https://github.com/jupyterhub/jupyterhub-deploy-teaching This setup achieves our main goals: ● run persistently for several years with low cost ● install/update packages as we see fit (sometimes right before class starts) ● simple to maintain* ● restrict access to specific UCD students
  • 21. Running the Course The nbgrader extension lets us release, collect, and grade notebooks [nbgrader demo]
  • 22. Our Experience So Far Positive ● Students seem motivated to learn about vibrations (they want to know how the simulations work) ● Students are able to work at different levels of abstraction for solving problems ● Students can approach fairly complex systems and run the entire analysis process ● They like Python. Negative ● The overhead of introducing a programming language ● resonance lib needs to expose the right details ● Classwork can move too fast ● nbgrader workflow isn’t ideal for our homework style ● Students haven’t quite grokked good notebook style yet ● Not quite sure yet if the learning objectives have been met
  • 23. More Information Repository: https://github.com/moorepants/resonance Course website: https://moorepants.github.io/eng122/ Jason K. Moore ● moorepants.info ● @moorepants (twitter, Github, G+, etc) Kenneth Lyons ● ixjlyons.com ● @ixjlyons Funding Much of this work has been made possible through the Undergraduate Instructional Innovation Program funds provided by the Association of American Universities (AAU) and Google which is administered by UC Davis's Center for Educational Effectiveness.