%23%20%2F%2F%2F%20script%0A%23%20requires-python%20%3D%20%22%3E%3D3.11%22%0A%23%20dependencies%20%3D%20%5B%22marimo%3E%3D0.23.9%22%2C%20%22numpy%3E%3D2.0%22%2C%20%22matplotlib%3E%3D3.9%22%2C%20%22seaborn%3E%3D0.13%22%5D%0A%23%20%2F%2F%2F%0A%0Aimport%20marimo%0A%0A__generated_with%20%3D%20%220.25.2%22%0Aapp%20%3D%20marimo.App()%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Free-Body%20Diagram%20for%20particles%0A%0A%20%20%20%20%3E%20Renato%20Naville%20Watanabe%2C%20Marcos%20Duarte%3Cbr%3E%0A%20%20%20%20%3E%20%5BLaboratory%20of%20Biomechanics%20and%20Motor%20Control%5D(https%3A%2F%2Fbmclab.pesquisa.ufabc.edu.br%2F)%3Cbr%3E%0A%20%20%20%20%3E%20Federal%20University%20of%20ABC%2C%20Brazil%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20How%20to%20use%20this%20guide%0A%0A%20%20%20%20We%20will%20isolate%20one%20particle%2C%20name%20its%20physical%20interactions%2C%20and%20turn%20the%20diagram%20into%20signed%20equations.%20Follow%20the%20examples%20from%20gravity%20and%20contact%20to%20springs%2C%20drag%2C%20and%20a%20muscle%20element.%20Before%20each%20simulation%2C%20predict%20the%20acceleration%20from%20the%20resultant%20force.%0A%0A%20%20%20%20Try%20the%20distributed%20**Exercises**%20before%20opening%20their%20collapsed%20worked%20solutions.%20Then%20use%20the%20**Checkpoint%20questions**%20and%20attempt%20the%20**Problems**%20independently%3B%20their%20panels%20contain%20final%20answers%20only.%20Predict%20the%20effect%20of%20a%20parameter%20change%20before%20running%20it%2C%20and%20check%20units%20and%20limiting%20cases.%0A%0A%20%20%20%20**Opening%20challenge.**%20A%20book%20slides%20to%20the%20right%20while%20slowing%20down.%20Should%20its%20free-body%20diagram%20contain%20a%20rightward%20force%20because%20it%20is%20moving%20right%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Python%20setup%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20numpy%20as%20np%0A%20%20%20%20import%20matplotlib.pyplot%20as%20plt%0A%20%20%20%20import%20seaborn%20as%20sns%0A%20%20%20%20%23%20'%25matplotlib%20inline'%20command%20supported%20automatically%20in%20marimo%0A%20%20%20%20sns.set_context('notebook'%2C%20font_scale%3D1.2)%0A%20%20%20%20return%20np%2C%20plt%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Free-Body%20Diagram%0A%0A%20%20%20%20In%20the%20mechanical%20modeling%20of%20an%20inanimate%20or%20living%20system%2C%20composed%20by%20one%20or%20more%20bodies%20(bodies%20as%20units%20that%20are%20mechanically%20isolated%20according%20to%20the%20question%20one%20is%20trying%20to%20answer)%2C%20it%20is%20convenient%20to%20isolate%20each%20body%20(be%20they%20originally%20interconnected%20or%20not)%20and%20identify%20each%20force%20and%20moment%20of%20force%20(torque)%20that%20act%20on%20this%20body%20in%20order%20to%20apply%20the%20laws%20of%20mechanics.%0A%0A%20%20%20%20**The%20free%20body%20diagram%20(FBD)%20of%20a%20mechanical%20system%20or%20model%20is%20the%20representation%20in%20a%20diagram%20of%20all%20forces%20and%20moments%20of%20force%20acting%20on%20each%20body%2C%20isolated%20from%20the%20rest%20of%20the%20system.**%0A%0A%20%20%20%20The%20term%20free%20means%20that%20each%20body%2C%20which%20maybe%20was%20part%20of%20a%20connected%20system%2C%20is%20represented%20as%20isolated%20(free)%20and%20any%20existent%20contact%20force%20is%20represented%20in%20the%20diagram%20as%20forces%20(action%20and%20reaction)%20acting%20on%20the%20formerly%20connected%20bodies.%20Then%2C%20the%20laws%20of%20mechanics%20are%20applied%20on%20each%20body%2C%20and%20the%20unknown%20movement%2C%20force%20or%20moment%20of%20force%20can%20be%20found%20if%20the%20system%20of%20equations%20is%20determined%20(the%20number%20of%20unknown%20variables%20can%20not%20be%20greater%20than%20the%20number%20of%20equations%20for%20each%20body).%0A%0A%20%20%20%20How%20exactly%20a%20FBD%20is%20drawn%20for%20a%20mechanical%20model%20of%20something%20is%20dependent%20on%20what%20one%20is%20trying%20to%20find.%20For%20example%2C%20the%20air%20resistance%20might%20be%20neglected%20or%20not%20when%20modeling%20the%20movement%20of%20an%20object%20and%20the%20number%20of%20parts%20the%20system%20is%20divided%20is%20dependent%20on%20what%20is%20needed%20to%20know%20about%20the%20model.%0A%0A%20%20%20%20The%20use%20of%20FBD%20is%20very%20common%20in%20biomechanics%3B%20a%20typical%20use%20is%20to%20use%20the%20FBD%20in%20order%20to%20determine%20the%20forces%20and%20torques%20on%20the%20ankle%2C%20knee%2C%20and%20hip%20joints%20of%20the%20lower%20limb%20(foot%2C%20leg%2C%20and%20thigh)%20during%20locomotion%2C%20and%20the%20FBD%20can%20be%20applied%20to%20any%20problem%20where%20the%20laws%20of%20mechanics%20are%20needed%20to%20solve%20a%20problem.%0A%0A%20%20%20%20For%20now%2C%20let's%20study%20how%20to%20draw%20free-body%20diagrams%20for%20systems%20that%20can%20be%20modeled%20as%20particles.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Steps%20to%20draw%20a%20free-body%20diagram%20(FBD)%0A%0A%20%20%20%201.%20Draw%20separately%20each%20object%20considered%20in%20the%20problem.%20How%20you%20separate%20depends%20on%20what%20questions%20you%20want%20to%20answer.%0A%20%20%20%202.%20Identify%20the%20forces%20acting%20on%20each%20object.%20If%20you%20are%20analyzing%20more%20than%20one%20object%2C%20remember%20the%20Newton's%20third%20Law%20(action%20and%20reaction)%2C%20and%20identify%20where%20the%20reaction%20of%20a%20force%20is%20being%20applied.%0A%20%20%20%203.%20Draw%20all%20the%20identified%20forces%2C%20representing%20them%20as%20vectors.%20The%20vectors%20should%20be%20represented%20with%20the%20origin%20in%20the%20object.%20In%20the%20case%20of%20particles%2C%20the%20origin%20should%20be%20in%20the%20center%20of%20the%20particle.%0A%20%20%20%204.%20If%20necessary%2C%20you%20should%20represent%20the%20reference%20frame%20in%20the%20free-body%20diagram.%0A%20%20%20%205.%20After%20this%2C%20you%20can%20solve%20the%20problem%20using%20the%20Newton's%20second%20Law%20(see%2C%20e.g%2C%20%5BNewton's%20Laws%5D(https%3A%2F%2Fmolab.marimo.io%2Fgithub%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fnotebooks%2Fnewton_law_for_particles.py))%20to%20find%20the%20motion%20of%20the%20particle.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%201%20%E2%80%94%20Isolate%20the%20book.**%20A%202%20kg%20book%20rests%20on%20a%20horizontal%20table.%20Draw%20only%20forces%20acting%20on%20the%20book%20and%20give%20their%20magnitudes%20for%20%24g%3D9.81%24%20m%2Fs%C2%B2.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%201%0A%0A%20%20%20%20The%20Earth%20exerts%20weight%2019.62%20N%20downward%3B%20the%20table%20exerts%20a%20normal%20force%2019.62%20N%20upward.%20The%20book%E2%80%99s%20force%20on%20the%20table%20belongs%20on%20a%20different%20diagram.%20No%20horizontal%20force%20is%20required%20merely%20to%20remain%20at%20rest.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Basic%20element%20and%20forces%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Gravity%0A%0A%20%20%20%20The%20gravity%20force%20acts%20on%20two%20masses%2C%20each%20one%20atracting%20each%20other%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7B%7B%5Cbf%7BF%7D%7D%7D%20%3D%20-%20G%5Cfrac%7Bm_1m_2%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%5E2%7D%5Cfrac%7B%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20where%20%24G%20%3D%206.67.10%5E%7B%E2%88%9211%7D%20Nm%5E2%2Fkg%5E2%24%20and%20%24%5Cvec%7B%5Cbf%7Br%7D%7D%24%20is%20a%20vector%20with%20length%20equal%20to%20the%20distance%20between%20the%20masses%20and%20directing%20towards%20the%20other%20mass.%20Note%20the%20forces%20acting%20on%20each%20mass%20have%20the%20same%20absolute%20value.%0A%0A%20%20%20%20Since%20the%20mass%20of%20the%20Earth%20is%20%24m_1%3D5.9736%C3%9710%5E%7B24%7Dkg%24%20and%20its%20radius%20is%206.371%C3%9710%24%5E6%24%20m%2C%20the%20gravity%20force%20near%20the%20surface%20of%20the%20Earth%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7B%7B%5Cbf%7BF%7D%7D%7D%20%3D%20m%5Cvec%7B%5Cbf%7Bg%7D%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20with%20the%20absolute%20value%20of%20%24%5Cvec%7B%5Cbf%7Bg%7D%7D%24%20approximately%20equal%20to%209.81%20%24m%2Fs%5E2%24%2C%20pointing%20towards%20the%20center%20of%20Earth.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Spring%0A%0A%20%20%20%20Spring%20is%20an%20element%20used%20to%20represent%20a%20force%20proportional%20to%20some%20length%20or%20displacement.%20It%20produces%20a%20force%20in%20the%20same%20direction%20of%20the%20vector%20linking%20the%20spring%20extremities%20and%20opposite%20to%20its%20length%20or%20displacement%20from%20an%20equilibrium%20length.%20Frequently%20it%20has%20a%20linear%20relation%2C%20but%20it%20could%20be%20nonlinear%20as%20well.%20The%20force%20exerted%20by%20the%20spring%20in%20one%20of%20the%20extremities%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20-%20k(%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C-l_0)%5Cfrac%7B%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%20%3D%20-k%5Cvec%7B%5Cbf%7Br%7D%7D%20%2Bkl_0%5Cfrac%7B%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%20%3D%20-k%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br%7D%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20where%20%24%5Cvec%7B%5Cbf%7Br%7D%7D%24%20is%20the%20vector%20linking%20the%20extremity%20applying%20the%20force%20to%20the%20other%20extremity%20and%20%24l_0%24%20is%20the%20equilibrium%20length%20of%20the%20spring.%0A%0A%20%20%20%20Since%20the%20spring%20element%20is%20a%20massless%20element%2C%20the%20force%20in%20%20both%20extremities%20have%20the%20same%20absolute%20value%20and%20opposite%20directions.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Damping%0A%0A%20%20%20%20Damper%20is%20an%20element%20used%20to%20represent%20a%20force%20proportional%20to%20the%20velocity%20of%20displacement.%20It%20produces%20a%20force%20in%20the%20opposite%20direction%20of%20its%20velocity.%0A%0A%20%20%20%20Frequently%20it%20has%20a%20linear%20relation%2C%20but%20it%20could%20be%20nonlinear%20as%20well.%20The%20force%20exerted%20by%20the%20damper%20element%20in%20one%20of%20its%20extremities%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20-%20b%7C%7C%5Cvec%7B%5Cbf%7Bv%7D%7D%7C%7C%5Cfrac%7B%5Cvec%7B%5Cbf%7Bv%7D%7D%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Bv%7D%7D%7C%7C%7D%20%3D%20-b%5Cvec%7B%5Cbf%7Bv%7D%7D%20%3D%20-b%5Cfrac%7Bd%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20where%20%24%5Cvec%7B%5Cbf%7Br%7D%7D%24%20is%20the%20vector%20linking%20the%20extremity%20applying%20the%20force%20to%20the%20other%20extremity.%0A%0A%20%20%20%20Since%20the%20damper%20element%20is%20a%20massless%20element%2C%20%2C%20the%20force%20in%20%20both%20extremities%20have%20the%20same%20absolute%20value%20and%20opposite%20directions.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Examples%20of%20free-body%20diagram%0A%0A%20%20%20%20Let's%20see%20some%20examples%20on%20how%20to%20draw%20the%20free-body%20diagram%20and%20obtain%20the%20motion%20equations%20to%20solve%20the%20problems.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%201.%20No%20force%20acting%20on%20the%20particle%0A%0A%20%20%20%20The%20most%20trivial%20situation%20is%20a%20particle%20with%20no%20force%20acting%20on%20it.%0A%0A%20%20%20%20The%20free-body%20diagram%20is%20below%2C%20with%20no%20force%20vectors%20acting%20on%20the%20particle.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-1%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballNoGrav.png%3Fraw%3D1%22%20alt%3D%22free-body%20diagram%20of%20a%20ball%22%20width%3D%22500%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-1%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Free-body%20diagram%20of%20a%20ball%20with%20no%20force%20acting%20on%20it.%3C%2Fspan%3E%0A%0A%20%20%20%20In%20this%20situation%2C%20the%20resultant%20force%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%200%24%3C%2Fspan%3E%0A%0A%20%20%20%20And%20the%20second%20Newton%20law%20for%20this%20particle%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24m%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%3D%200%20%5Cquad%20%5Crightarrow%20%5Cquad%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%3D%200%24%3C%2Fspan%3E%0A%0A%20%20%20%20The%20motion%20of%20of%20the%20particle%20can%20be%20found%20by%20integrating%20twice%20both%20times%2C%20getting%20the%20following%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7Br%7D%7D%20%3D%20%5Cvec%7B%5Cbf%7Bv%7D%7D_0t%20%2B%20%5Cvec%7B%5Cbf%7Br%7D%7D_0%24%3C%2Fspan%3E%0A%0A%20%20%20%20The%20particle%20continues%20to%20change%20its%20position%20with%20the%20same%20velocity%20it%20was%20at%20the%20beginning%20of%20the%20analysis.%20This%20could%20be%20predicted%20by%20Newton's%20first%20law.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%202.%20Gravity%20force%20acting%20on%20the%20particle%0A%0A%20%20%20%20Now%2C%20let's%20consider%20a%20ball%20with%20the%20gravity%20force%20acting%20on%20it.%20The%20free-body%20diagram%20is%20depicted%20below.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-2%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballGrav.png%3Fraw%3D1%22%20alt%3D%22free-body%20diagram%20of%20a%20ball%22%20width%3D%22500%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-2%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Free-body%20diagram%20of%20a%20ball%20under%20the%20influence%20of%20gravity.%3C%2Fspan%3E%0A%0A%20%20%20%20The%20only%20force%20acting%20on%20the%20ball%20is%20the%20gravitational%20force%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D_g%20%3D%20-%20mg%20%5C%3B%20%5Chat%7B%5Cbf%7Bj%7D%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20Applying%20Newton's%20second%20Law%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D_g%20%3D%20m%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%5Crightarrow%20-%20mg%20%5C%3B%20%5Chat%7B%5Cbf%7Bj%7D%7D%20%3D%20m%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%5Crightarrow%20-%20g%20%5C%3B%20%5Chat%7B%5Cbf%7Bj%7D%7D%20%3D%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20Now%2C%20we%20can%20separate%20the%20equation%20in%20two%20components%20(x%20and%20y)%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%240%20%3D%20%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20and%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24-%20g%20%3D%20%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20These%20equations%20were%20solved%20in%20%5Bthis%20Notebook%20about%20the%20Newton's%20laws%5D(https%3A%2F%2Fmolab.marimo.io%2Fgithub%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fnotebooks%2Fnewton_law_for_particles.py).%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%203.%20Ground%20reaction%20force%0A%0A%20%20%20%20Now%2C%20we%20will%20analyze%20the%20situation%20of%20a%20particle%20at%20rest%20in%20contact%20with%20the%20ground.%20To%20simplify%20the%20analysis%2C%20only%20the%20vertical%20movement%20will%20be%20considered.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-3%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballGravGRF.png%3Fraw%3D1%22%20alt%3D%22free-body%20diagram%20of%20a%20ball%22%20width%3D%22400%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-3%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Free-body%20diagram%20of%20a%20ball%20at%20rest%20in%20contact%20with%20the%20ground.%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20forces%20acting%20on%20the%20particle%20are%20the%20ground%20reaction%20force%20(often%20called%20as%20normal%20force)%20and%20the%20gravity%20force.%20The%20free-body%20diagram%20of%20the%20particle%20is%20below%3A%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-4%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballGravGRFFBD.png%3Fraw%3D1%22%20alt%3D%22free-body%20diagram%20of%20a%20ball%22%20width%3D%22200%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-4%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Free-body%20diagram%20of%20a%20ball%20under%20the%20influence%20of%20gravity.%3C%2Fspan%3E%0A%0A%20%20%20%20So%2C%20the%20resultant%20force%20in%20the%20particle%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20%5Coverrightarrow%7B%5Cbf%7BGRF%7D%7D%20%2B%20m%5Cvec%7B%5Cbf%7Bg%7D%7D%20%3D%20%5Coverrightarrow%7B%5Cbf%7BGRF%7D%7D%20-%20mg%20%5C%3B%20%5Chat%7B%5Cbf%7Bj%7D%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20Considering%20only%20the%20y%20direction%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24F%20%3D%20GRF%20-%20mg%24%3C%2Fspan%3E%0A%0A%20%20%20%20Applying%20Newton's%20second%20law%20to%20the%20particle%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24m%20%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%20%3D%20GRF%20-%20mg%24%3C%2Fspan%3E%0A%0A%20%20%20%20Note%20that%20since%20we%20have%20no%20information%20about%20how%20the%20force%20GRF%20varies%20along%20time%2C%20we%20cannot%20solve%20this%20equation.%20To%20find%20the%20position%20of%20the%20particle%20along%20time%2C%20one%20would%20have%20to%20measure%20the%20ground%20reaction%20force.%20See%20%5Bthe%20notebook%20on%20Vertical%20jump%5D(https%3A%2F%2Fmolab.marimo.io%2Fgithub%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fnotebooks%2Fvertical_jump.py)%20for%20an%20application%20of%20this%20model.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%202%20%E2%80%94%20Motion%20is%20not%20force.**%20A%204%20kg%20object%20moving%20right%20at%203%20m%2Fs%20experiences%20a%206%20N%20force%20to%20the%20left.%20Find%20its%20acceleration%20and%20velocity%20after%201%20s%20while%20that%20force%20remains%20constant.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%202%0A%0A%20%20%20%20Take%20right%20as%20positive.%20%24a%3D-6%2F4%3D-1.5%24%20m%2Fs%C2%B2%20and%20%24v(1)%3D3-1.5%3D1.5%24%20m%2Fs.%20The%20object%20still%20moves%20right%20while%20accelerating%20left.%20A%20velocity%20arrow%20is%20useful%20beside%20a%20diagram%20but%20is%20not%20a%20force.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%204.%20Mass-spring%20system%20with%20horizontal%20movement%0A%0A%20%20%20%20The%20example%20below%20represents%20a%20mass%20attached%20to%20a%20spring%20and%20the%20other%20extremity%20of%20the%20spring%20is%20fixed.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-5%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Fballspring.png%3Fraw%3D1%22%20alt%3D%22free-body%20diagram%20of%20a%20ball%22%20width%3D%22500%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-5%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Mass-spring%20system%20with%20horizontal%20movement.%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20only%20force%20force%20acting%20on%20the%20mass%20is%20from%20the%20spring.%20Below%20is%20the%20free-body%20diagram%20from%20the%20mass.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-6%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballspringFBD.png%3Fraw%3D1%22%20alt%3D%22free-body%20diagram%20of%20a%20ball%22%20width%3D%22200%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-6%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Free-body%20diagram%20of%20a%20mass-spring%20system.%3C%2Fspan%3E%0A%0A%20%20%20%20Since%20the%20movement%20is%20horizontal%2C%20we%20can%20neglect%20the%20gravity%20force.%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20-k%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br%7D%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Applying%20Newton's%20second%20law%20to%20the%20mass%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20m%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-k%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br%7D%7D%20%5Crightarrow%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br%7D%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Since%20the%20movement%20is%20unidimensional%2C%20we%20can%20deal%20with%20it%20scalarly%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7Bx%7D%5Cright)x%20%3D%20-%5Cfrac%7Bk%7D%7Bm%7D(x-l_0)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20To%20solve%20this%20equation%20numerically%2C%20we%20must%20break%20the%20equations%20into%20two%20first-order%20differential%20equation%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdv_x%7D%7Bdt%7D%20%3D%20%20-%5Cfrac%7Bk%7D%7Bm%7D(x-l_0)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdx%7D%7Bdt%7D%20%3D%20%20v_x%0A%20%20%20%20%24%24%0A%0A%20%20%20%20In%20the%20numerical%20solution%20below%2C%20we%20will%20use%20%24k%20%3D%2040%20N%2Fm%24%2C%20%24m%20%3D%202%20kg%24%2C%20%24l_0%20%3D%200.5%20m%24%20and%20the%20mass%20starts%20from%20the%20position%20%24x%20%3D%200.8m%24%20and%20at%20rest.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(np%2C%20plt)%3A%0A%20%20%20%20_k%20%3D%2040%0A%20%20%20%20_m%20%3D%202%0A%20%20%20%20_l0%20%3D%200.5%0A%20%20%20%20x0%20%3D%200.8%0A%20%20%20%20v0%20%3D%200%0A%20%20%20%20x%20%3D%20x0%0A%20%20%20%20v%20%3D%20v0%0A%20%20%20%20_dt%20%3D%200.001%0A%20%20%20%20_t%20%3D%20np.arange(0%2C%203%2C%20_dt)%0A%20%20%20%20r%20%3D%20np.array(%5Bx%5D)%0A%20%20%20%20for%20_i%20in%20_t%5B1%3A%5D%3A%0A%20%20%20%20%20%20%20%20dxdt%20%3D%20v%0A%20%20%20%20%20%20%20%20dvxdt%20%3D%20-_k%20%2F%20_m%20*%20(x%20-%20_l0)%0A%20%20%20%20%20%20%20%20x%20%3D%20x%20%2B%20_dt%20*%20dxdt%0A%20%20%20%20%20%20%20%20v%20%3D%20v%20%2B%20_dt%20*%20dvxdt%0A%20%20%20%20%20%20%20%20r%20%3D%20np.vstack((r%2C%20np.array(%5Bx%5D)))%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_t%2C%20r%2C%20lw%3D4)%0A%20%20%20%20plt.xlabel('t(s)')%0A%20%20%20%20plt.ylabel('x(m)')%0A%20%20%20%20plt.title('Spring%20displacement')%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%205.%20Linear%20spring%20in%20bidimensional%20movement%20at%20horizontal%20plane%0A%0A%20%20%20%20This%20example%20below%20represents%20a%20system%20with%20two%20masses%20attached%20to%20a%20spring.%3Cbr%3E%0A%20%20%20%20To%20solve%20the%20motion%20of%20both%20masses%2C%20we%20have%20to%20draw%20a%20free-body%20diagram%20for%20each%20one%20of%20the%20masses.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-7%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Ftwoballspring.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22500%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-7%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Linear%20spring%20in%20bidimensional%20movement%20at%20horizontal%20plane.%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20only%20force%20acting%20on%20each%20mass%20is%20the%20force%20due%20to%20the%20spring.%20Since%20the%20movement%20is%20happening%20at%20the%20horizontal%20plane%2C%20the%20gravity%20force%20can%20be%20neglected.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-8%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FtwoballspringFBD.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22200%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-8%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20FBD%20of%20linear%20spring%20in%20bidimensional%20movement%20at%20horizontal%20plane.%3C%2Fspan%3E%0A%0A%20%20%20%20So%2C%20the%20forces%20acting%20on%20mass%201%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF_1%7D%7D%20%3D%20k%5Cleft(%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C-l_0%5Cright)%5Cfrac%7B(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20and%20the%20forces%20acting%20on%20mass%202%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF_2%7D%7D%20%3Dk%5Cleft(%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C-l_0%5Cright)%5Cfrac%7B(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Applying%20Newton's%20second%20law%20for%20the%20masses%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24m_1%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_1%7D%7D%7D%7Bdt%5E2%7D%20%3D%20k%5Cleft(%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C-l_0%5Cright)%5Cfrac%7B(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%0A%20%20%20%20%20%20%20%20%5C%5C%0A%20%20%20%20%20%20%20%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_1%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_1%7D%7D%2B%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_2%7D%7D%0A%20%20%20%20%20%20%20%20%5C%5C%0A%20%20%20%20%20%20%20%20%5Cfrac%7Bd%5E2x_1%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%5E2%7D%2B%5Cfrac%7Bd%5E2y_1%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_1%5Chat%7B%5Cbf%7Bi%7D%7D%2By_1%5Chat%7B%5Cbf%7Bj%7D%7D)%2B%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_2%5Chat%7B%5Cbf%7Bi%7D%7D%2By_2%5Chat%7B%5Cbf%7Bj%7D%7D)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cbr%2F%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24m_2%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_2%7D%7D%7D%7Bdt%5E2%7D%20%3D%20k%5Cleft(%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C-l_0%5Cright)%5Cfrac%7B(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%0A%20%20%20%20%20%20%20%20%5C%5C%0A%20%20%20%20%20%20%20%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_2%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_2%7D%7D%2B%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_1%7D%7D%0A%20%20%20%20%20%20%20%20%5C%5C%0A%20%20%20%20%20%20%20%20%5Cfrac%7Bd%5E2x_2%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%5E2%7D%2B%5Cfrac%7Bd%5E2y_2%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_2%5Chat%7B%5Cbf%7Bi%7D%7D%2By_2%5Chat%7B%5Cbf%7Bj%7D%7D)%2B%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_1%5Chat%7B%5Cbf%7Bi%7D%7D%2By_1%5Chat%7B%5Cbf%7Bj%7D%7D)%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Now%2C%20we%20can%20separate%20the%20equations%20for%20each%20of%20the%20coordinates%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2x_1%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)x_1%2B%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)x_2%3D-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_1-x_2)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2y_1%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)y_1%2B%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)y_2%3D-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_1-y_2)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2x_2%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)x_2%2B%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)x_1%3D-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_2-x_1)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2y_2%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)y_2%2B%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)y_1%3D-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_2-y_1)%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20To%20solve%20these%20equations%20numerically%2C%20you%20must%20break%20these%20equations%20into%20first-order%20equations%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdv_%7Bx_1%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_1-x_2)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdv_%7By_1%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_1-y_2)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdv_%7Bx_2%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_2-x_1)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdv_%7By_2%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_2-y_1)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdx_1%7D%7Bdt%7D%20%3D%20v_%7Bx_1%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdy_1%7D%7Bdt%7D%20%3D%20v_%7By_1%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdx_2%7D%7Bdt%7D%20%3D%20v_%7Bx_2%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bdy_2%7D%7Bdt%7D%20%3D%20v_%7By_2%7D%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Note%20that%20if%20you%20did%20not%20want%20to%20know%20the%20details%20about%20the%20motion%20of%20each%20mass%2C%20but%20only%20the%20motion%20of%20the%20center%20of%20mass%20of%20the%20masses-spring%20system%2C%20you%20could%20have%20modeled%20the%20whole%20system%20as%20a%20single%20particle.%0A%0A%20%20%20%20To%20solve%20the%20equations%20numerically%2C%20we%20will%20use%20the%20%24m_1%3D1%20kg%24%2C%20%24m_2%20%3D%202%20kg%24%2C%20%24l_0%20%3D%200.5%20m%24%2C%20%24k%20%3D%2090%20N%2Fm%24%20and%20%24x_%7B1_0%7D%20%3D%200%20m%24%2C%20%24x_%7B2_0%7D%20%3D%200%20m%24%2C%20%24y_%7B1_0%7D%20%3D%201%20m%24%2C%20%24y_%7B2_0%7D%20%3D%20-1%20m%24%2C%20%24v_%7Bx1_0%7D%20%3D%20-2%20m%2Fs%24%2C%20%24v_%7Bx2_0%7D%20%3D%200%20m%2Fs%24%2C%20%24v_%7By1_0%7D%20%3D%200%20m%2Fs%24%2C%20%24v_%7By2_0%7D%20%3D%200%20m%2Fs%24.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(np%2C%20plt)%3A%0A%20%20%20%20_x01%20%3D%200%0A%20%20%20%20_y01%20%3D%200.5%0A%20%20%20%20_x02%20%3D%200%0A%20%20%20%20_y02%20%3D%20-0.5%0A%20%20%20%20_vx01%20%3D%200.1%0A%20%20%20%20_vy01%20%3D%200%0A%20%20%20%20_vx02%20%3D%20-0.1%0A%20%20%20%20_vy02%20%3D%200%0A%20%20%20%20_x1%20%3D%20_x01%0A%20%20%20%20_y1%20%3D%20_y01%0A%20%20%20%20_x2%20%3D%20_x02%0A%20%20%20%20_y2%20%3D%20_y02%0A%20%20%20%20_vx1%20%3D%20_vx01%0A%20%20%20%20_vy1%20%3D%20_vy01%0A%20%20%20%20_vx2%20%3D%20_vx02%0A%20%20%20%20_vy2%20%3D%20_vy02%0A%20%20%20%20_r1%20%3D%20np.array(%5B_x1%2C%20_y1%5D)%0A%20%20%20%20_r2%20%3D%20np.array(%5B_x2%2C%20_y2%5D)%0A%20%20%20%20_k%20%3D%2030%0A%20%20%20%20_m1%20%3D%201%0A%20%20%20%20_m2%20%3D%201%0A%20%20%20%20_l0%20%3D%200.5%0A%20%20%20%20_dt%20%3D%200.0001%0A%20%20%20%20_t%20%3D%20np.arange(0%2C%205%2C%20_dt)%0A%20%20%20%20for%20_i%20in%20_t%5B1%3A%5D%3A%0A%20%20%20%20%20%20%20%20_dvx1dt%20%3D%20-_k%20%2F%20_m1%20*%20(_x1%20-%20_x2)%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%0A%20%20%20%20%20%20%20%20_dvx2dt%20%3D%20-_k%20%2F%20_m2%20*%20(_x2%20-%20_x1)%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%0A%20%20%20%20%20%20%20%20_dvy1dt%20%3D%20-_k%20%2F%20_m1%20*%20(_y1%20-%20_y2)%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%0A%20%20%20%20%20%20%20%20_dvy2dt%20%3D%20-_k%20%2F%20_m2%20*%20(_y2%20-%20_y1)%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%0A%20%20%20%20%20%20%20%20_dx1dt%20%3D%20_vx1%0A%20%20%20%20%20%20%20%20_dx2dt%20%3D%20_vx2%0A%20%20%20%20%20%20%20%20_dy1dt%20%3D%20_vy1%0A%20%20%20%20%20%20%20%20_dy2dt%20%3D%20_vy2%0A%20%20%20%20%20%20%20%20_x1%20%3D%20_x1%20%2B%20_dt%20*%20_dx1dt%0A%20%20%20%20%20%20%20%20_x2%20%3D%20_x2%20%2B%20_dt%20*%20_dx2dt%0A%20%20%20%20%20%20%20%20_y1%20%3D%20_y1%20%2B%20_dt%20*%20_dy1dt%0A%20%20%20%20%20%20%20%20_y2%20%3D%20_y2%20%2B%20_dt%20*%20_dy2dt%0A%20%20%20%20%20%20%20%20_vx1%20%3D%20_vx1%20%2B%20_dt%20*%20_dvx1dt%0A%20%20%20%20%20%20%20%20_vx2%20%3D%20_vx2%20%2B%20_dt%20*%20_dvx2dt%0A%20%20%20%20%20%20%20%20_vy1%20%3D%20_vy1%20%2B%20_dt%20*%20_dvy1dt%0A%20%20%20%20%20%20%20%20_vy2%20%3D%20_vy2%20%2B%20_dt%20*%20_dvy2dt%0A%20%20%20%20%20%20%20%20_r1%20%3D%20np.vstack((_r1%2C%20np.array(%5B_x1%2C%20_y1%5D)))%0A%20%20%20%20%20%20%20%20_r2%20%3D%20np.vstack((_r2%2C%20np.array(%5B_x2%2C%20_y2%5D)))%0A%20%20%20%20springLength%20%3D%20np.sqrt((_r1%5B%3A%2C%200%5D%20-%20_r2%5B%3A%2C%200%5D)%20**%202%20%2B%20(_r1%5B%3A%2C%201%5D%20-%20_r2%5B%3A%2C%201%5D)%20**%202)%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_t%2C%20springLength%2C%20lw%3D4)%0A%20%20%20%20plt.xlabel('t(s)')%0A%20%20%20%20plt.ylabel('Spring%20length%20(m)')%0A%20%20%20%20plt.show()%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_r1%5B%3A%2C%200%5D%2C%20_r1%5B%3A%2C%201%5D%2C%20'r.'%2C%20lw%3D4)%0A%20%20%20%20plt.plot(_r2%5B%3A%2C%200%5D%2C%20_r2%5B%3A%2C%201%5D%2C%20'b.'%2C%20lw%3D4)%0A%20%20%20%20plt.plot((_m1%20*%20_r1%5B%3A%2C%200%5D%20%2B%20_m2%20*%20_r2%5B%3A%2C%200%5D)%20%2F%20(_m1%20%2B%20_m2)%2C%20(_m1%20*%20_r1%5B%3A%2C%201%5D%20%2B%20_m2%20*%20_r2%5B%3A%2C%201%5D)%20%2F%20(_m1%20%2B%20_m2)%2C%20'g.')%0A%20%20%20%20plt.xlim(-0.7%2C%200.7)%0A%20%20%20%20plt.ylim(-0.7%2C%200.7)%0A%20%20%20%20plt.xlabel('x(m)')%0A%20%20%20%20plt.ylabel('y(m)')%0A%20%20%20%20plt.title('Masses%20position')%0A%20%20%20%20plt.legend(('Mass1'%2C%20'Mass%202'%2C%20'Masses%20center%20of%20mass'))%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%203%20%E2%80%94%20Give%20a%20spring%20a%20direction.**%20A%20spring%20is%20anchored%20at%20the%20origin%2C%20has%20stiffness%2020%20N%2Fm%20and%20natural%20length%200.5%20m.%20Its%20particle%20is%20at%20%24(0.6%2C0.8)%24%20m.%20Find%20the%20spring%20force%20on%20the%20particle.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%203%0A%0A%20%20%20%20The%20length%20is%201%20m%2C%20the%20extension%20is%200.5%20m%20and%20the%20force%20magnitude%20is%2010%20N.%20The%20unit%20vector%20toward%20the%20anchor%20is%20%24(-0.6%2C-0.8)%24%2C%20giving%20%24%5Cmathbf%20F%3D(-6%2C-8)%24%20N.%20The%20spring%20pulls%20along%20its%20axis.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%206.%20Particle%20under%20action%20of%20gravity%20and%20linear%20air%20resistance%0A%0A%20%20%20%20Below%20is%20the%20free-body%20diagram%20of%20a%20particle%20with%20the%20gravity%20force%20and%20a%20linear%20drag%20force%20due%20to%20the%20air%20resistance.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-9%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballGravLinearRes.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22700%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-9%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Particle%20under%20action%20of%20gravity%20and%20linear%20air%20resistance.%3C%2Fspan%3E%0A%0A%20%20%20%20the%20forces%20being%20applied%20in%20the%20ball%20are%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%5Cvec%7B%5Cbf%7Bv%7D%7D%20%3D%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%5Cfrac%7Bd%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%7D%20%3D%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%5Chat%7B%5Cbf%7Bi%7D%7D%2B%5Cfrac%7Bdy%7D%7Bdt%7D%5Chat%7B%5Cbf%7Bj%7D%7D%5Cright)%20%3D%20-%20b%5Cfrac%7Bdx%7D%7Bdt%7D%5Chat%7B%5Cbf%7Bi%7D%7D%20-%20%5Cleft(mg%20%2B%20b%5Cfrac%7Bdy%7D%7Bdt%7D%5Cright)%5Chat%7B%5Cbf%7Bj%7D%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20Writing%20down%20Newton's%20second%20law%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20m%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%5Crightarrow%20-%20b%5Cfrac%7Bdx%7D%7Bdt%7D%5Chat%7B%5Cbf%7Bi%7D%7D%20-%20%5Cleft(mg%20%2B%20b%5Cfrac%7Bdy%7D%7Bdt%7D%5Cright)%5Chat%7B%5Cbf%7Bj%7D%7D%20%3D%20m%5Cleft(%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%5Chat%7B%5Cbf%7Bi%7D%7D%2B%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%5Chat%7B%5Cbf%7Bj%7D%7D%5Cright)%24%3C%2Fspan%3E%0A%0A%20%20%20%20Now%2C%20we%20can%20separate%20into%20one%20equation%20for%20each%20coordinate%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24-%20b%5Cfrac%7Bdx%7D%7Bdt%7D%20%3D%20m%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%20-%5Crightarrow%20%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm%7D%20%5Cfrac%7Bdx%7D%7Bdt%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24-mg%20-%20b%5Cfrac%7Bdy%7D%7Bdt%7D%20%3D%20m%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%20%5Crightarrow%20%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm%7D%5Cfrac%7Bdy%7D%7Bdt%7D%20-%20g%24%3C%2Fspan%3E%0A%0A%20%20%20%20These%20equations%20were%20solved%20in%20%5Bthis%20notebook%5D(https%3A%2F%2Fmolab.marimo.io%2Fgithub%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fnotebooks%2Fnewton_law_for_particles.py).%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%207.%20Particle%20under%20action%20of%20gravity%20and%20nonlinear%20air%20resistance%0A%0A%20%20%20%20Below%2C%20is%20the%20free-body%20diagram%20of%20a%20particle%20with%20the%20gravity%20force%20and%20a%20drag%20force%20due%20to%20the%20air%20resistance%20proportional%20to%20the%20square%20of%20the%20particle%20velocity.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-10%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FballGravSquareRes.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22700%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-10%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Particle%20under%20action%20of%20gravity%20and%20nonlinear%20air%20resistance.%3C%2Fspan%3E%0A%0A%20%20%20%20The%20forces%20being%20applied%20in%20the%20ball%20are%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20bv%5E2%5Chat%7B%5Cbf%7Be_t%7D%7D%20%3D%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%20(v_x%5E2%2Bv_y%5E2)%20%5Cfrac%7Bv_x%5Chat%7B%5Cbf%7Bi%7D%7D%2Bv_y%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7B%5Csqrt%7Bv_x%5E2%2Bv_y%5E2%7D%7D%20%3D%20%20%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%20%5Csqrt%7Bv_x%5E2%2Bv_y%5E2%7D%20%5C%2C(v_x%5Chat%7B%5Cbf%7Bi%7D%7D%2Bv_y%5Chat%7B%5Cbf%7Bj%7D%7D)%20%3D%20%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%20%5Csqrt%7B%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Cright)%5E2%2B%5Cleft(%5Cfrac%7Bdy%7D%7Bdt%7D%20%5Cright)%5E2%7D%20%5C%2C%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Chat%7B%5Cbf%7Bi%7D%7D%2B%5Cfrac%7Bdy%7D%7Bdt%7D%5Chat%7B%5Cbf%7Bj%7D%7D%5Cright)%24%3C%2Fspan%3E%0A%0A%20%20%20%20Writing%20down%20Newton's%20second%20law%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20m%20%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br%7D%7D%7D%7Bdt%5E2%7D%20%5Crightarrow%20-mg%20%5Chat%7B%5Cbf%7Bj%7D%7D%20-%20b%20%5Csqrt%7B%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Cright)%5E2%2B%5Cleft(%5Cfrac%7Bdy%7D%7Bdt%7D%20%5Cright)%5E2%7D%20%5C%2C%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Chat%7B%5Cbf%7Bi%7D%7D%2B%5Cfrac%7Bdy%7D%7Bdt%7D%5Chat%7B%5Cbf%7Bj%7D%7D%5Cright)%20%3D%20m%5Cleft(%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%5Chat%7B%5Cbf%7Bi%7D%7D%2B%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%5Chat%7B%5Cbf%7Bj%7D%7D%5Cright)%24%3C%2Fspan%3E%0A%0A%20%20%20%20Now%2C%20we%20can%20separate%20into%20one%20equation%20for%20each%20coordinate%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24-%20b%20%5Csqrt%7B%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Cright)%5E2%2B%5Cleft(%5Cfrac%7Bdy%7D%7Bdt%7D%20%5Cright)%5E2%7D%20%5C%2C%5Cfrac%7Bdx%7D%7Bdt%7D%20%3D%20m%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%20%5Crightarrow%20%5Cfrac%7Bd%5E2x%7D%7Bdt%5E2%7D%20%3D%20-%20%5Cfrac%7Bb%7D%7Bm%7D%20%5Csqrt%7B%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Cright)%5E2%2B%5Cleft(%5Cfrac%7Bdy%7D%7Bdt%7D%20%5Cright)%5E2%7D%20%5C%2C%5Cfrac%7Bdx%7D%7Bdt%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24-mg%20-%20b%20%5Csqrt%7B%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Cright)%5E2%2B%5Cleft(%5Cfrac%7Bdy%7D%7Bdt%7D%20%5Cright)%5E2%7D%20%5C%2C%5Cfrac%7Bdy%7D%7Bdt%7D%20%3D%20m%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%20%5Crightarrow%20%5Cfrac%7Bd%5E2y%7D%7Bdt%5E2%7D%20%3D%20-%20%5Cfrac%7Bb%7D%7Bm%7D%20%5Csqrt%7B%5Cleft(%5Cfrac%7Bdx%7D%7Bdt%7D%20%5Cright)%5E2%2B%5Cleft(%5Cfrac%7Bdy%7D%7Bdt%7D%20%5Cright)%5E2%7D%20%5C%2C%5Cfrac%7Bdy%7D%7Bdt%7D%20-g%24%3C%2Fspan%3E%0A%0A%20%20%20%20These%20equations%20were%20solved%20numerically%20in%20%5Bthis%20notebook%5D(https%3A%2F%2Fmolab.marimo.io%2Fgithub%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fnotebooks%2Fnewton_law_for_particles.py).%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%204%20%E2%80%94%20Check%20drag%20during%20ascent.**%20Upward%20velocity%20is%204%20m%2Fs%20and%20quadratic%20drag%20coefficient%20is%200.5%20kg%2Fm.%20Write%20the%20drag%20force%20now%20and%20when%20the%20velocity%20is%20%E2%88%924%20m%2Fs.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%204%0A%0A%20%20%20%20With%20upward%20positive%2C%20%24F_D%3D-c%7Cv%7Cv%24.%20It%20is%20%E2%88%928%20N%20during%20ascent%20and%20%2B8%20N%20during%20descent.%20Writing%20%24-cv%5E2%24%20for%20both%20would%20make%20drag%20point%20downward%20even%20when%20the%20particle%20falls.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%208.%20Linear%20spring%20and%20damping%20on%20bidimensional%20horizontal%20movement%0A%0A%20%20%20%20This%20situation%20is%20very%20similar%20to%20the%20example%20of%20horizontal%20movement%20with%20one%20spring%20and%20two%20masses%2C%20with%20a%20damper%20added%20in%20parallel%20to%20the%20spring.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-11%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FtwomassDamp.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-11%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Linear%20spring%20and%20damping%20on%20bidimensional%20horizontal%20movement.%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Now%2C%20the%20forces%20acting%20on%20each%20mass%20are%20the%20force%20due%20to%20the%20spring%20and%20the%20force%20due%20to%20the%20damper.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-12%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FtwomassDampFBD.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22200%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-12%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20FBD%20of%20linear%20spring%20and%20damping%20on%20bidimensional%20horizontal%20movement.%3C%2Fspan%3E%0A%0A%20%20%20%20So%2C%20the%20forces%20acting%20on%20mass%201%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF_1%7D%7D%20%3D%20b%5Cfrac%7Bd(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%7D%7Bdt%7D%20%2B%20%20k%5Cleft(%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C-l_0%5Cright)%5Cfrac%7B(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%20%3D%20%20b%5Cfrac%7Bd(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%7D%7Bdt%7D%20%2B%20%20k%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%24%3C%2Fspan%3E%0A%0A%20%20%20%20and%20the%20forces%20acting%20on%20mass%202%20is%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cvec%7B%5Cbf%7BF_2%7D%7D%20%3D%20b%5Cfrac%7Bd(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%7D%7Bdt%7D%20%2B%20%20k%5Cleft(%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C-l_0%5Cright)%5Cfrac%7B(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D%7C%7C%7D%3D%20b%5Cfrac%7Bd(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%7D%7Bdt%7D%20%2B%20%20k%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Applying%20the%20Newton's%20second%20law%20for%20the%20masses%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24m_1%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_1%7D%7D%7D%7Bdt%5E2%7D%20%3D%20b%5Cfrac%7Bd(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%7D%7Bdt%7D%2Bk%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_1%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cfrac%7Bd%5Cvec%7B%5Cbf%7Br_1%7D%7D%7D%7Bdt%7D%20-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_1%7D%7D%20%2B%20%5Cfrac%7Bb%7D%7Bm_1%7D%5Cfrac%7Bd%5Cvec%7B%5Cbf%7Br_2%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_2%7D%7D%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2x_1%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%5E2%7D%2B%5Cfrac%7Bd%5E2y_1%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(%5Cfrac%7Bdx_1%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bdy_1%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_1%5Chat%7B%5Cbf%7Bi%7D%7D%2By_1%5Chat%7B%5Cbf%7Bj%7D%7D)%2B%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(%5Cfrac%7Bdx_2%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bdy_2%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D%5Cright)%2B%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_2%5Chat%7B%5Cbf%7Bi%7D%7D%2By_2%5Chat%7B%5Cbf%7Bj%7D%7D)%20%3D%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(%5Cfrac%7Bdx_1%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bdy_1%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D-%5Cfrac%7Bdx_2%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D-%5Cfrac%7Bdy_2%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_1%5Chat%7B%5Cbf%7Bi%7D%7D%2By_1%5Chat%7B%5Cbf%7Bj%7D%7D-x_2%5Chat%7B%5Cbf%7Bi%7D%7D-y_2%5Chat%7B%5Cbf%7Bj%7D%7D)%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%24m_2%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_2%7D%7D%7D%7Bdt%5E2%7D%20%3D%20b%5Cfrac%7Bd(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%7D%7Bdt%7D%2Bk%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(%5Cvec%7B%5Cbf%7Br_1%7D%7D-%5Cvec%7B%5Cbf%7Br_2%7D%7D)%24%24%5Cfrac%7Bd%5E2%5Cvec%7B%5Cbf%7Br_2%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cfrac%7Bd%5Cvec%7B%5Cbf%7Br_2%7D%7D%7D%7Bdt%7D%20-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_2%7D%7D%20%2B%20%5Cfrac%7Bb%7D%7Bm_2%7D%5Cfrac%7Bd%5Cvec%7B%5Cbf%7Br_1%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)%5Cvec%7B%5Cbf%7Br_1%7D%7D%24%24%5Cfrac%7Bd%5E2x_2%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%5E2%7D%2B%5Cfrac%7Bd%5E2y_2%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(%5Cfrac%7Bdx_2%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bdy_2%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_2%5Chat%7B%5Cbf%7Bi%7D%7D%2By_2%5Chat%7B%5Cbf%7Bj%7D%7D)%2B%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(%5Cfrac%7Bdx_1%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bdy_1%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D%5Cright)%2B%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_2%7D%7D-%5Cvec%7B%5Cbf%7Br_1%7D%7D%7C%7C%7D%5Cright)(x_1%5Chat%7B%5Cbf%7Bi%7D%7D%2By_1%5Chat%7B%5Cbf%7Bj%7D%7D)%3D-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(%5Cfrac%7Bdx_2%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D%2B%5Cfrac%7Bdy_2%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D-%5Cfrac%7Bdx_1%5Chat%7B%5Cbf%7Bi%7D%7D%7D%7Bdt%7D-%5Cfrac%7Bdy_1%5Chat%7B%5Cbf%7Bj%7D%7D%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_2%5Chat%7B%5Cbf%7Bi%7D%7D%2By_2%5Chat%7B%5Cbf%7Bj%7D%7D-x_1%5Chat%7B%5Cbf%7Bi%7D%7D-y_1%5Chat%7B%5Cbf%7Bj%7D%7D)%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Now%2C%20we%20can%20separate%20the%20equations%20for%20each%20of%20the%20coordinates%3A%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2x_1%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(%5Cfrac%7Bdx_1%7D%7Bdt%7D-%5Cfrac%7Bdx_2%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_1-x_2)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2y_1%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(%5Cfrac%7Bdy_1%7D%7Bdt%7D-%5Cfrac%7Bdy_2%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_1-y_2)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2x_2%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(%5Cfrac%7Bdx_2%7D%7Bdt%7D-%5Cfrac%7Bdx_1%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_2-x_1)%24%3C%2Fspan%3E%0A%0A%20%20%20%20%3Cspan%20class%3D%22notranslate%22%3E%24%5Cfrac%7Bd%5E2y_2%7D%7Bdt%5E2%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(%5Cfrac%7Bdy_2%7D%7Bdt%7D-%5Cfrac%7Bdy_1%7D%7Bdt%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_2-y_1)%24%3C%2Fspan%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20If%20you%20want%20to%20solve%20these%20equations%20numerically%2C%20you%20must%20break%20these%20equations%20into%20first-order%20%20equations%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdv_%7Bx_1%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(v_%7Bx_1%7D-v_%7Bx_2%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_1-x_2)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdv_%7By_1%7D%7D%7Bdt%7D%20%3D%20%20-%5Cfrac%7Bb%7D%7Bm_1%7D%5Cleft(v_%7By_1%7D-v_%7By_2%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_1%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_1-y_2)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdv_%7Bx_2%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(v_%7Bx_2%7D-v_%7Bx_1%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(x_2-x_1)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdv_%7By_2%7D%7D%7Bdt%7D%20%3D%20-%5Cfrac%7Bb%7D%7Bm_2%7D%5Cleft(v_%7By_2%7D-v_%7By_1%7D%5Cright)-%5Cfrac%7Bk%7D%7Bm_2%7D%5Cleft(1-%5Cfrac%7Bl_0%7D%7B%5Csqrt%7B(x_2-x_1)%5E2%2B(y_2-y_1)%5E2%7D%7D%5Cright)(y_2-y_1)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdx_1%7D%7Bdt%7D%20%3D%20v_%7Bx_1%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdy_1%7D%7Bdt%7D%20%3D%20v_%7By_1%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdx_2%7D%7Bdt%7D%20%3D%20v_%7Bx_2%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdy_2%7D%7Bdt%7D%20%3D%20v_%7By_2%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20To%20solve%20the%20equations%20numerically%2C%20we%20will%20use%20the%20%24m_1%3D1%20kg%24%2C%20%24m_2%20%3D%202%20kg%24%2C%20%24l_0%20%3D%200.5%20m%24%2C%20%24k%20%3D%2010%20N%2Fm%24%2C%20%24b%20%3D%200.6%20Ns%2Fm%24%20and%20%24x_%7B1_0%7D%20%3D%200%20m%24%2C%20%24x_%7B2_0%7D%20%3D%200%20m%24%2C%20%24y_%7B1_0%7D%20%3D%201%20m%24%2C%20%24y_%7B2_0%7D%20%3D%20-1%20m%24%2C%20%24v_%7Bx1_0%7D%20%3D%20-2%20m%2Fs%24%2C%20%24v_%7Bx2_0%7D%20%3D%201%20m%2Fs%24%2C%20%24v_%7By1_0%7D%20%3D%200%20m%2Fs%24%2C%20%24v_%7By2_0%7D%20%3D%200%20m%2Fs%24.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(np%2C%20plt)%3A%0A%20%20%20%20_x01%20%3D%200%0A%20%20%20%20_y01%20%3D%201%0A%20%20%20%20_x02%20%3D%200%0A%20%20%20%20_y02%20%3D%20-1%0A%20%20%20%20_vx01%20%3D%20-2%0A%20%20%20%20_vy01%20%3D%200%0A%20%20%20%20_vx02%20%3D%201%0A%20%20%20%20_vy02%20%3D%200%0A%20%20%20%20_x1%20%3D%20_x01%0A%20%20%20%20_y1%20%3D%20_y01%0A%20%20%20%20_x2%20%3D%20_x02%0A%20%20%20%20_y2%20%3D%20_y02%0A%20%20%20%20_vx1%20%3D%20_vx01%0A%20%20%20%20_vy1%20%3D%20_vy01%0A%20%20%20%20_vx2%20%3D%20_vx02%0A%20%20%20%20_vy2%20%3D%20_vy02%0A%20%20%20%20_r1%20%3D%20np.array(%5B_x1%2C%20_y1%5D)%0A%20%20%20%20_r2%20%3D%20np.array(%5B_x2%2C%20_y2%5D)%0A%20%20%20%20_k%20%3D%2010%0A%20%20%20%20_m1%20%3D%201%0A%20%20%20%20_m2%20%3D%202%0A%20%20%20%20_b%20%3D%200.6%0A%20%20%20%20_l0%20%3D%200.5%0A%20%20%20%20_dt%20%3D%200.001%0A%20%20%20%20_t%20%3D%20np.arange(0%2C%205%2C%20_dt)%0A%20%20%20%20for%20_i%20in%20_t%5B1%3A%5D%3A%0A%20%20%20%20%20%20%20%20_dvx1dt%20%3D%20-_b%20%2F%20_m1%20*%20(_vx1%20-%20_vx2)%20-%20_k%20%2F%20_m1%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%20*%20(_x1%20-%20_x2)%0A%20%20%20%20%20%20%20%20_dvx2dt%20%3D%20-_b%20%2F%20_m2%20*%20(_vx2%20-%20_vx1)%20-%20_k%20%2F%20_m2%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%20*%20(_x2%20-%20_x1)%0A%20%20%20%20%20%20%20%20_dvy1dt%20%3D%20-_b%20%2F%20_m1%20*%20(_vy1%20-%20_vy2)%20-%20_k%20%2F%20_m1%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%20*%20(_y1%20-%20_y2)%0A%20%20%20%20%20%20%20%20_dvy2dt%20%3D%20-_b%20%2F%20_m2%20*%20(_vy2%20-%20_vy1)%20-%20_k%20%2F%20_m2%20*%20(1%20-%20_l0%20%2F%20np.sqrt((_x2%20-%20_x1)%20**%202%20%2B%20(_y2%20-%20_y1)%20**%202))%20*%20(_y2%20-%20_y1)%0A%20%20%20%20%20%20%20%20_dx1dt%20%3D%20_vx1%0A%20%20%20%20%20%20%20%20_dx2dt%20%3D%20_vx2%0A%20%20%20%20%20%20%20%20_dy1dt%20%3D%20_vy1%0A%20%20%20%20%20%20%20%20_dy2dt%20%3D%20_vy2%0A%20%20%20%20%20%20%20%20_x1%20%3D%20_x1%20%2B%20_dt%20*%20_dx1dt%0A%20%20%20%20%20%20%20%20_x2%20%3D%20_x2%20%2B%20_dt%20*%20_dx2dt%0A%20%20%20%20%20%20%20%20_y1%20%3D%20_y1%20%2B%20_dt%20*%20_dy1dt%0A%20%20%20%20%20%20%20%20_y2%20%3D%20_y2%20%2B%20_dt%20*%20_dy2dt%0A%20%20%20%20%20%20%20%20_vx1%20%3D%20_vx1%20%2B%20_dt%20*%20_dvx1dt%0A%20%20%20%20%20%20%20%20_vx2%20%3D%20_vx2%20%2B%20_dt%20*%20_dvx2dt%0A%20%20%20%20%20%20%20%20_vy1%20%3D%20_vy1%20%2B%20_dt%20*%20_dvy1dt%0A%20%20%20%20%20%20%20%20_vy2%20%3D%20_vy2%20%2B%20_dt%20*%20_dvy2dt%0A%20%20%20%20%20%20%20%20_r1%20%3D%20np.vstack((_r1%2C%20np.array(%5B_x1%2C%20_y1%5D)))%0A%20%20%20%20%20%20%20%20_r2%20%3D%20np.vstack((_r2%2C%20np.array(%5B_x2%2C%20_y2%5D)))%0A%20%20%20%20springDampLength%20%3D%20np.sqrt((_r1%5B%3A%2C%200%5D%20-%20_r2%5B%3A%2C%200%5D)%20**%202%20%2B%20(_r1%5B%3A%2C%201%5D%20-%20_r2%5B%3A%2C%201%5D)%20**%202)%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_t%2C%20springDampLength%2C%20lw%3D4)%0A%20%20%20%20plt.xlabel('t(s)')%0A%20%20%20%20plt.ylabel('Spring%20length%20(m)')%0A%20%20%20%20plt.show()%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_r1%5B%3A%2C%200%5D%2C%20_r1%5B%3A%2C%201%5D%2C%20'r.'%2C%20lw%3D4)%0A%20%20%20%20plt.plot(_r2%5B%3A%2C%200%5D%2C%20_r2%5B%3A%2C%201%5D%2C%20'b.'%2C%20lw%3D4)%0A%20%20%20%20plt.plot((_m1%20*%20_r1%5B%3A%2C%200%5D%20%2B%20_m2%20*%20_r2%5B%3A%2C%200%5D)%20%2F%20(_m1%20%2B%20_m2)%2C%20(_m1%20*%20_r1%5B%3A%2C%201%5D%20%2B%20_m2%20*%20_r2%5B%3A%2C%201%5D)%20%2F%20(_m1%20%2B%20_m2)%2C%20'g.')%0A%20%20%20%20plt.xlim(-2%2C%202)%0A%20%20%20%20plt.ylim(-2%2C%202)%0A%20%20%20%20plt.xlabel('x(m)')%0A%20%20%20%20plt.ylabel('y(m)')%0A%20%20%20%20plt.title('Masses%20position')%0A%20%20%20%20plt.legend(('Mass1'%2C%20'Mass%202'%2C%20'Masses%20center%20of%20mass'))%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Exercise%205%20%E2%80%94%20Test%20damping%20energy.**%20A%20linear%20dashpot%20has%20%24b%3D3%24%20N%20s%2Fm%20and%20relative%20velocity%202%20m%2Fs.%20How%20much%20power%20does%20it%20dissipate%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Solution%20to%20Exercise%205%0A%0A%20%20%20%20The%20force%20opposing%20relative%20motion%20is%20%24-b%20v%3D-6%24%20N.%20Its%20mechanical%20power%20is%20%24Fv%3D-12%24%20W%2C%20so%2012%20W%20is%20converted%20to%20heat.%20The%20sign%20stays%20dissipative%20if%20the%20velocity%20reverses%20because%20%24-bv%5E2%5Cle0%24.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%209.%20Simple%20muscle%20model%0A%0A%20%20%20%20The%20diagram%20below%20shows%20a%20simple%20muscle%20model.%20The%20spring%20in%20the%20left%20represents%20the%20tendinous%20tissues%20and%20the%20spring%20in%20the%20right%20represents%20the%20elastic%20properties%20of%20the%20muscle%20fibers.%20The%20damping%20is%20present%20to%20model%20the%20viscous%20properties%20of%20the%20muscle%20fibers%2C%20the%20element%20CE%20is%20the%20contractile%20element%20(force%20production)%20and%20the%20mass%20%24m%24%20is%20the%20muscle%20mass.%0A%0A%20%20%20%20The%20length%20%24L_%7BMT%7D%24%20is%20the%20length%20of%20the%20muscle%20plus%20the%20tendon.%20In%20our%20model%20%24L_%7BMT%7D%24%20is%20constant%2C%20but%20it%20could%20be%20a%20function%20of%20the%20joint%20angle.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-13%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FsimpleMuscle.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22500%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-13%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20Simple%20muscle%20model.%3C%2Fspan%3E%0A%0A%20%20%20%20The%20length%20of%20the%20tendon%20will%20be%20denoted%20by%20%24l_T(t)%24%20and%20the%20muscle%20length%2C%20by%20%24l_%7Bm%7D(t)%24.%20Both%20lengths%20are%20related%20by%20each%20other%20%20by%20the%20following%20expression%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20l_t(t)%20%2B%20l_m(t)%20%3D%20L_%7BMT%7D%0A%20%20%20%20%24%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20free-body%20diagram%20of%20the%20muscle%20mass%20is%20depicted%20below.%0A%0A%20%20%20%20%3Cfigure%20aria-describedby%3D%22figure-caption-14%22%3E%3Ccenter%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2FsimpleMuscleFBD.png%3Fraw%3D1%22%20alt%3D%22Linear%20spring%22%20width%3D%22200%22%2F%3E%3C%2Fcenter%3E%3C%2Ffigure%3E%0A%0A%20%20%20%20%3Cspan%20id%3D%22figure-caption-14%22%20class%3D%22figure-caption%22%20style%3D%22display%3Ablock%3Btext-align%3Acenter%3Bfont-style%3Aitalic%22%3EFigure.%20FBD%20of%20simple%20muscle%20model.%3C%2Fspan%3E%0A%0A%20%20%20%20The%20resultant%20force%20being%20applied%20in%20the%20muscle%20mass%20is%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cvec%7B%5Cbf%7BF%7D%7D%20%3D%20-k_T(%7C%7C%5Cvec%7B%5Cbf%7Br_m%7D%7D%7C%7C-l_%7Bt_0%7D)%5Cfrac%7B%5Cvec%7B%5Cbf%7Br_m%7D%7D%7D%7B%7C%7C%5Cvec%7B%5Cbf%7Br_m%7D%7D%7C%7C%7D%20%2B%20b%5Cfrac%7Bd(L_%7BMT%7D%5Chat%7B%5Cbf%7Bi%7D%7D%20-%20%5Cvec%7B%5Cbf%7Br_%7Bm%7D%7D%7D)%7D%7Bdt%7D%20%2B%20k_m%20(%7C%7CL_%7BMT%7D%5Chat%7B%5Cbf%7Bi%7D%7D%20-%20%5Cvec%7B%5Cbf%7Br_%7Bm%7D%7D%7D%7C%7C-l_%7Bm_0%7D)%5Cfrac%7BL_%7BMT%7D%5Chat%7B%5Cbf%7Bi%7D%7D%20-%20%5Cvec%7B%5Cbf%7Br_%7Bm%7D%7D%7D%7D%7B%7C%7CL_%7BMT%7D%5Chat%7B%5Cbf%7Bi%7D%7D%20-%20%5Cvec%7B%5Cbf%7Br_%7Bm%7D%7D%7D%7C%7C%7D%20%2B%5Cvec%7B%5Cbf%7BF%7D%7D%7B%5Cbf%7B_%7BCE%7D%7D%7D(t)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20where%20%24%5Cvec%7B%5Cbf%7Br_m%7D%7D%24%20is%20the%20muscle%20mass%20position.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Since%20the%20model%20is%20unidimensional%2C%20we%20can%20assume%20that%20the%20force%20%24%5Cvec%7B%5Cbf%7BF%7D%7D%5Cbf%7B_%7BCE%7D%7D(t)%24%20is%20in%20the%20x%20direction%2C%20so%20the%20analysis%20will%20be%20done%20only%20in%20this%20direction.%0A%0A%20%20%20%20%24%24%0A%20%20%20%20F%20%3D%20-k_T(l_t-l_%7Bt_0%7D)%20%2B%20b%5Cfrac%7Bd(L_%7BMT%7D%20-%20l_t)%7D%7Bdt%7D%20%2B%20k_m%20(l_m-l_%7Bm_0%7D)%20%2B%20F_%7BCE%7D(t)%20%5C%5C%0A%20%20%20%20F%20%3D%20-k_T(l_t-l_%7Bt_0%7D)%20-b%5Cfrac%7Bdl_t%7D%7Bdt%7D%20%2B%20k_m%20(L_%7BMT%7D-l_t-l_%7Bm_0%7D)%20%2B%20F_%7BCE%7D(t)%20%5C%5C%0A%20%20%20%20F%20%3D%20-b%5Cfrac%7Bdl_t%7D%7Bdt%7D-(k_T%2Bk_m)l_t%2BF_%7BCE%7D(t)%2Bk_Tl_%7Bt_0%7D%2Bk_m(L_%7BMT%7D-l_%7Bm_0%7D)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Applying%20the%20Newton's%20second%20law%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20m%5Cfrac%7Bd%5E2l_t%7D%7Bdt%5E2%7D%20%3D%20-b%5Cfrac%7Bdl_t%7D%7Bdt%7D-(k_T%2Bk_m)l_t%2BF_%7BCE%7D(t)%2Bk_Tl_%7Bt_0%7D%2Bk_m(L_%7BMT%7D-l_%7Bm_0%7D)%0A%20%20%20%20%24%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20To%20solve%20this%20equation%2C%20we%20must%20break%20the%20equation%20into%20two%20first-order%20differential%20equations%3A%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bdvt%7D%7Bdt%7D%20%3D%20-%20%5Cfrac%7Bb%7D%7Bm%7Dv_t%20-%20%5Cfrac%7Bk_T%2Bk_m%7D%7Bm%7Dl_t%20%2B%5Cfrac%7BF_%7BCE%7D(t)%7D%7Bm%7D%20%2B%20%5Cfrac%7Bk_T%7D%7Bm%7Dl_%7Bt_0%7D%2B%5Cfrac%7Bk_m%7D%7Bm%7D(L_%7BMT%7D-l_%7Bm_0%7D)%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cfrac%7Bd%20l_t%7D%7Bdt%7D%20%3D%20v_t%0A%20%20%20%20%24%24%0A%0A%20%20%20%20Now%2C%20we%20can%20solve%20these%20equations%20by%20using%20some%20numerical%20method.%20To%20obtain%20the%20solution%2C%20we%20will%20use%20the%20damping%20factor%20of%20the%20muscle%20as%20%24b%20%3D%2010%5C%2CNs%2Fm%24%2C%20the%20muscle%20mass%20is%20%24m%20%3D%202%20kg%24%2C%20the%20stiffness%20of%20the%20tendon%20as%20%24k_t%3D1000%5C%2CN%2Fm%24%20and%20the%20elastic%20element%20of%20the%20muscle%20as%20%24k_m%3D1500%5C%2CN%2Fm%24.%20The%20tendon-length%20is%20%24L_%7BMT%7D%20%3D%200.35%5C%2Cm%24%2C%20and%20the%20tendon%20equilibrium%20length%20is%20%24l_%7Bt0%7D%20%3D%200.28%5C%2Cm%24%20and%20the%20muscle%20fiber%20equilibrium%20length%20is%20%24l_%7Bm0%7D%20%3D%200.07%5C%2Cm%24.%20Both%20the%20tendon%20and%20the%20muscle%20fiber%20are%20at%20their%20equilibrium%20lengths%20and%20at%20rest.%0A%0A%20%20%20%20Also%2C%20we%20will%20model%20the%20force%20of%20the%20contractile%20element%20as%20a%20Heaviside%20step%20of%20%2490%5C%2CN%24%20(90%20N%20beginning%20at%20%24t%3D0%24)%2C%20but%20normally%20it%20is%20modeled%20as%20a%20function%20of%20%24l_m%24%20and%20%24v_m%24%20having%20a%20neural%20activation%20signal%20as%20input.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(np%2C%20plt)%3A%0A%20%20%20%20_m%20%3D%202%0A%20%20%20%20_b%20%3D%2010%0A%20%20%20%20km%20%3D%201500%0A%20%20%20%20kt%20%3D%201000%0A%20%20%20%20lt0%20%3D%200.28%0A%20%20%20%20lm0%20%3D%200.07%0A%20%20%20%20Lmt%20%3D%200.35%0A%20%20%20%20vt0%20%3D%200%0A%20%20%20%20_dt%20%3D%200.0001%0A%20%20%20%20_t%20%3D%20np.arange(0%2C%2010%2C%20_dt)%0A%20%20%20%20Fce%20%3D%2090%0A%20%20%20%20lt%20%3D%20lt0%0A%20%20%20%20vt%20%3D%20vt0%0A%20%20%20%20ltp%20%3D%20np.array(%5Blt0%5D)%0A%20%20%20%20lmp%20%3D%20np.array(%5Blm0%5D)%0A%20%20%20%20Ft%20%3D%20np.array(%5B0%5D)%0A%20%20%20%20for%20_i%20in%20range(1%2C%20len(_t))%3A%0A%20%20%20%20%20%20%20%20dvtdt%20%3D%20-_b%20%2F%20_m%20*%20vt%20-%20(kt%20%2B%20km)%20%2F%20_m%20*%20lt%20%2B%20Fce%20%2F%20_m%20%2B%20kt%20%2F%20_m%20*%20lt0%20%2B%20km%20%2F%20_m%20*%20(Lmt%20-%20lm0)%0A%20%20%20%20%20%20%20%20dltdt%20%3D%20vt%0A%20%20%20%20%20%20%20%20vt%20%3D%20vt%20%2B%20_dt%20*%20dvtdt%0A%20%20%20%20%20%20%20%20lt%20%3D%20lt%20%2B%20_dt%20*%20dltdt%0A%20%20%20%20%20%20%20%20Ft%20%3D%20np.vstack((Ft%2C%20np.array(kt%20*%20(lt%20-%20lt0))))%0A%20%20%20%20%20%20%20%20ltp%20%3D%20np.vstack((ltp%2C%20np.array(lt)))%0A%20%20%20%20%20%20%20%20lmp%20%3D%20np.vstack((lmp%2C%20np.array(Lmt%20-%20lt)))%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_t%2C%20Ft%2C%20lw%3D4)%0A%20%20%20%20plt.xlabel('t(s)')%0A%20%20%20%20plt.ylabel('Tendon%20force%20(N)')%0A%20%20%20%20plt.show()%0A%20%20%20%20plt.figure(figsize%3D(8%2C%204))%0A%20%20%20%20plt.plot(_t%2C%20ltp%2C%20lw%3D4)%0A%20%20%20%20plt.plot(_t%2C%20lmp%2C%20lw%3D4)%0A%20%20%20%20plt.xlabel('t(s)')%0A%20%20%20%20plt.ylabel('Length%20(m)')%0A%20%20%20%20plt.legend(('Tendon%20length'%2C%20'Muscle%20fiber%20length'))%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20return%20(mo%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Checkpoint%20questions%0A%0A%20%20%20%201.%20Does%20constant%20speed%20always%20mean%20zero%20resultant%20force%3F%0A%20%20%20%202.%20Why%20is%20an%20action%E2%80%93reaction%20pair%20not%20drawn%20on%20the%20same%20isolated%20particle%3F%0A%20%20%20%203.%20What%20sign%20test%20should%20every%20drag%20model%20pass%3F%0A%20%20%20%204.%20What%20force%20caused%20the%20sliding%20book%20in%20the%20challenge%20to%20slow%20down%3F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Checkpoint%20answers%0A%0A%20%20%20%201.%20Only%20if%20the%20velocity%20vector%20is%20constant%3B%20circular%20motion%20at%20constant%20speed%20still%20accelerates.%0A%20%20%20%202.%20The%20pair%20acts%20on%20two%20different%20bodies.%0A%20%20%20%203.%20Drag%20power%20relative%20to%20the%20fluid%20must%20be%20nonpositive.%0A%20%20%20%204.%20A%20resultant%20force%20opposite%20its%20velocity%2C%20such%20as%20kinetic%20friction.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Problems%0A%0A%20%20%20%201.%20Draw%20free-body%20diagram%20for%20(see%20answers%20at%20https%3A%2F%2Fyoutu.be%2F3rZR7FSSidc)%3A%0A%20%20%20%20%20%20%201.%20A%20book%20is%20at%20rest%20on%20a%20table.%0A%20%20%20%20%20%20%202.%20A%20book%20is%20attached%20to%20a%20string%20and%20hanging%20from%20the%20ceiling.%0A%20%20%20%20%20%20%203.%20A%20person%20pushes%20a%20crate%20to%20the%20right%20across%20a%20floor%20at%20a%20constant%20speed.%0A%20%20%20%20%20%20%204.%20A%20skydiver%20is%20falling%20downward%20a%20speeding%20up.%0A%20%20%20%20%20%20%205.%20A%20rightward-moving%20car%20has%20locked%20wheels%20and%20is%20skidding%20to%20a%20stop.%0A%20%20%20%20%20%20%206.%20A%20freight%20elevator%20is%20attached%20by%20a%20cable%2C%20being%20pulled%20upward%2C%20and%20slowing%20down.%20It%20is%20not%20touching%20the%20sides%20of%20the%20elevator%20shaft.%0A%0A%20%20%20%202.%20A%20block%20(2)%20is%20stacked%20on%20top%20of%20block%20(1)%20which%20is%20at%20rest%20on%20a%20surface%20(all%20contacts%20have%20friction).%20Which%20is%20the%20maximum%20horizontal%20force%20that%20can%20be%20applied%20to%20the%20block%20(1)%20such%20that%20block%20(2)%20does%20not%20slip%3F%20Answer%20at%20https%3A%2F%2Fyoutu.be%2F63U4_OxohOw%0A%0A%20%20%20%203.%20Consider%20two%20masses%20m1%20%3D%205%20kg%20and%20m2%20%3D%203%20kg%20attached%20to%20a%20pulley%20which%20is%20attached%20to%20a%20wall%20with%20a%20rope%20and%20m1%20is%20pulled%20in%20the%20opposite%20direction%20with%20force%20F%20%3D%20100%20N%20as%20shown%20in%20the%20figure%20below.%20Calculate%20(Answer%20at%20https%3A%2F%2Fyoutu.be%2FDgg76vNChEU)%3A%0A%20%20%20%20%20%20%201.%20Friction%20force%20on%20m1%0A%20%20%20%20%20%20%202.%20Friction%20force%20on%20m2%0A%20%20%20%20%20%20%203.%20Tension%20on%20the%20rope%20attached%20to%20masses%20m1%20and%20m2%0A%20%20%20%20%20%20%204.%20Acceleration%20of%20m1%0A%20%20%20%20%3Cfigure%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Ffriction_block.png%3Fraw%3D1%22%20width%3D%22300%22%2F%3E%3C%2Ffigure%3E%0A%0A%0A%20%20%20%204.%20(Example%2013.4%20of%20Hibbeler's%20book)%20A%20smooth%202-kg%20collar%20C%2C%20shown%20in%20the%20figure%20below%2C%20is%20attached%20to%20a%20spring%20having%20a%20stiffness%20k%20%3D%203%20N%2Fm%20and%20an%20unstretched%20length%20of%200.75%20m.%20If%20the%20collar%20is%20released%20from%20rest%20at%20A%2C%20determine%20its%20acceleration%20and%20the%20normal%20force%20of%20the%20rod%20on%20the%20collar%20at%20the%20instant%20y%20%3D%201%20m.%0A%20%20%20%20%3Cfigure%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Fspring_collar.png%3Fraw%3D1%22%20width%3D%22200%22%2F%3E%3C%2Ffigure%3E%0A%0A%20%20%20%205.%20(Example%2013.5%20of%20Hibbeler's%20book)%20The%20100-kg%20block%20A%20shown%20in%20the%20figure%20below%20is%20released%20from%20rest.%20If%20the%20masses%20of%20the%20pulleys%20and%20the%20cord%20are%20neglected%2C%20determine%20the%20speed%20of%20the%2020-kg%20block%20B%20in%202%20s.%0A%20%20%20%20%3Cfigure%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Fpulley_block.png%3Fraw%3D1%22%20width%3D%22200%22%2F%3E%3C%2Ffigure%3E%0A%0A%20%20%20%206.%20(Example%2013.9%20of%20Hibbeler's%20book)%20The%2060-kg%20skateboarder%20in%20the%20figure%20below%20coasts%20down%20the%20circular%20track.%20If%20he%20starts%20from%20rest%20when%20e%20%3D%200%24%5Eo%24%2C%20determine%20the%20magnitude%20of%20the%20normal%20reaction%20the%20track%20exerts%20on%20him%20when%20e%20%3D%2060%24%5Eo%24.%20Neglect%20his%20size%20for%20the%20calculation.%0A%20%20%20%20%3Cfigure%3E%3Cimg%20src%3D%22https%3A%2F%2Fgithub.com%2FBMClab%2FBMC%2Fblob%2Fmaster%2Fimages%2Fskateboarder.png%3Fraw%3D1%22%20width%3D%22300%22%2F%3E%3C%2Ffigure%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20details%20%7C%20Final%20answers%20to%20original%20Problems%0A%0A%20%20%20%201.%20(a)%20Weight%20down%2C%20equal%20normal%20up.%20(b)%20Weight%20down%2C%20equal%20tension%20up.%20(c)%20Weight%20down%2C%20normal%20up%2C%20push%20right%2C%20equal%20friction%20left.%20(d)%20Weight%20down%20larger%20than%20upward%20drag.%20(e)%20Weight%20down%2C%20normal%20up%2C%20kinetic%20friction%20left.%20(f)%20Weight%20down%20larger%20than%20upward%20cable%20tension.%0A%0A%20%20%20%202.%20Once%20the%20lower%20block%20slides%20on%20the%20floor%2C%20%24F_%7Bmax%7D%3D(m_1%2Bm_2)g(%5Cmu_%7Bs%2C12%7D%2B%5Cmu_%7Bk%2Cground%7D)%24%2C%20with%20%24a_%7Bmax%7D%3D%5Cmu_%7Bs%2C12%7Dg%24.%20The%20static-to-sliding%20threshold%20also%20depends%20on%20floor%20static%20friction%3B%20without%20specifying%20these%20coefficients%20and%20whether%20sliding%20has%20begun%2C%20there%20is%20no%20single%20numerical%20force.%0A%0A%20%20%20%203.%20For%20kinetic%20coefficients%20in%20the%20figure%20and%20%24g%3D9.81%24%20m%2Fs%C2%B2%3A%20friction%20on%20block%202%20is%208.829%20N%20right%3B%20block%201%20receives%208.829%20N%20left%20from%20block%202%20and%2015.696%20N%20left%20from%20the%20floor%20(24.525%20N%20left%20total).%20Rope%20tension%20is%2033.821%20N%3B%20block%201%20acceleration%20is%208.331%20m%2Fs%C2%B2%20right%20and%20block%202%20acceleration%20is%20equal%20in%20magnitude%20to%20the%20left.%0A%0A%20%20%20%204.%20Acceleration%20is%209.21%20m%2Fs%C2%B2%20downward%3B%20the%20rod%20normal%20force%20is%200.90%20N%20left.%0A%0A%20%20%20%205.%20Block%20B%20reaches%2013.08%20m%2Fs%20upward%20after%202%20s%20(%24g%3D9.81%24%20m%2Fs%C2%B2).%0A%0A%20%20%20%206.%20The%20normal%20force%20is%20%243mg%5Csin60%5E%5Ccirc%3D1529.2%24%20N%20toward%20the%20circle%20center%20(%24g%3D9.81%24%20m%2Fs%C2%B2).%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Go%20deeper%0A%0A%20%20%20%20-%20Read%20the%202nd%20chapter%20of%20the%20%5BRuina%20and%20Rudra's%20book%5D(https%3A%2F%2Fruina.tam.cornell.edu%2FBook%2Findex.html)%20about%20free-body%20diagrams%3B%0A%20%20%20%20-%20Read%20the%2013th%20of%20the%20%5BHibbeler's%20book%5D(https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1sDLluWCiBCog2C11_Iu1fjv-BtfVUxBU%2Fview)%20(available%20in%20the%20Classroom).%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Optional%20textbook%20investigations%0A%0A%20%20%20%20These%20original%20external%20assignments%20require%20the%20stated%20edition%20and%20its%20figures.%20They%20are%20retained%20as%20optional%20reading%3B%20the%20self-contained%20Problems%20above%20have%20answer%20panels.%0A%0A%20%20%20%207.%20Solve%20the%20problems%202.3.9%2C%202.3.20%2C%2011.1.6%2C%2013.1.6%20(a%2C%20b%2C%20c%2C%20d%2C%20f)%2C%2013.1.7%2C%2013.1.10%20(a%2C%20b)%20from%20Ruina%20and%20Pratap's%20book.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Video%20lectures%20on%20the%20Internet%0A%0A%20%20%20%20%5BMIT%20OpenCourseWare%5D(https%3A%2F%2Focw.mit.edu%2Fcourses%2F2-003sc-engineering-dynamics-fall-2011%2Fpages%2Ffree-body-diagrams-and-fictitious-forces%2F)%20%E2%80%94%20Free-body%20diagrams%3A%20practice%20selecting%20a%20body%20and%20frame%20before%20writing%20force%20and%20moment%20equations.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20References%0A%0A%20%20%20%20-%20Ruina%20A%2C%20Rudra%20P%20(2019)%20%5BIntroduction%20to%20Statics%20and%20Dynamics%5D(https%3A%2F%2Fruina.tam.cornell.edu%2FBook%2Findex.html).%20Oxford%20University%20Press.%0A%0A%20%20%20%20-%20R.%20C.%20Hibbeler%20(2010)%20%5BEngineering%20Mechanics%20Dynamics%5D(https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1sDLluWCiBCog2C11_Iu1fjv-BtfVUxBU%2Fview).%2012th%20Edition.%20Pearson%20Prentice%20Hall.%0A%0A%20%20%20%20-%20Nigg%20%26%20Herzog%20(2006)%20%5BBiomechanics%20of%20the%20Musculo-skeletal%20System%5D(https%3A%2F%2Fbooks.google.com.br%2Fbooks%3Fid%3DhOIeAQAAIAAJ%26dq%3Deditions%3AISBN0470017678).%203rd%20Edition.%20Wiley.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
b0b879ee34bd01b1af8b9f9bf38be798