第31章 拉格朗日的編譯器
第十一年的春季,廢土沒怎麼下雨。
往年這個時候,乾涸的河床多多少少會滲出一點渾濁的地下水,沿著岩縫慢慢流進江臨提前挖好的蓄水坑裡。
但今年,整整一個月過去,蓄水坑底部只剩下一層乾巴巴的泥皮。
皮被風吹得發硬,裂出細碎紋路,像無數張嘲笑他的嘴。
江臨蹲在坑邊,用手指摳了一塊泥皮下來。
泥皮很薄,一捏就碎,完全沒有濕意。
旱季提前來了,而且不是普通意義上的少雨。
地下水位明顯下降。
這比糧食減產更危險。
在廢土,缺水比缺食物更要命。
食物不足,還能靠儲備,靠壓縮體力硬撐一段時間。
水一旦斷掉,人體很快就會出問題。
脫水,電解質紊亂,幻覺,器官衰竭,這些詞不是醫學教材里的遠方名詞,而是會在廢土裡一步一步走到面前的東西。
江臨倒不至於立刻渴死。
營地北側幾百米外,有一處地下岩隙。
那是他第六年時探出來的備用水源。
問題是,那地方取水太費勁。
他得把水桶系在尼龍繩上,順著岩縫放下去,等桶口沒入水裡,再一點一點往上拔。
幾百米外,來回一趟。
一桶水,往上拔一次。
要滿足自己一天最低飲水、做飯、最基本清洗,再給兩百平方米農田吊住一口保苗水,他每天得重複幾十次。
這不是勞動。
而是把卡路里往井裡扔。
在廢土,每一焦耳能量都要算著花。
可現在,他每天花在提水上的體力,像一條看不見的裂縫,把這些年辛辛苦苦摳出來的餘量一點點吞回去。
春末的一個上午,江臨提完第十七桶水,手臂已經開始發酸。
而田邊的黃豆苗有些發蔫。
土豆葉片邊緣捲起,像被火燎過一樣。
「得利用風。」
廢土什麼都缺,唯獨風不缺。
江臨以前試過做小風輪,失敗得很慘。
葉片飛出去那一次,差點讓他把記性長在臉上。
從那之後,他對風力發電四個字敬而遠之。
但提水不一樣。
他不需要穩定電壓,不需要高速轉子,不需要漂亮的動平衡。
只需要一套粗糙低效,能反覆把水桶從岩隙里拉上來的裝置。
江臨回到石屋,把手洗乾淨,打開【廢土工程_暫存方案】文件夾,新建文檔。
【風力提水裝置_第一版】
然後盤點手頭裡的家當。
營地廢墟里砸出來的幾根粗鋼筋,一卷用來做單擺實驗的尼龍繩,一塊擋窗戶用的舊防雨布,一些薄金屬片,幾根木桿子,以及滿地的紅土和石塊。
要在地球上,這點破爛連收廢品的都嫌棄。
但在廢土,這是他拼湊重型設備的全部底牌。
江臨很快畫出第一張草圖。
用石頭壘一個支點,把最長的一根鋼筋架在上面當槓桿。
槓桿的一頭掛水桶,另一頭連著尼龍繩。
傘繩的另一端,綁在另一根垂直豎立掛著防雨布的迎風杆上。
風吹動防雨布,迎風杆後傾,拉動繩子。
繩子扯動槓桿,槓桿把水桶提起來。
風小的時候,靠配重和水桶自重回落,完成一個往復循環。
原理很簡單,簡單到透著一種石器時代的美。
但江臨沒有立刻去搬鋼筋。
這些年廢土已經教會他,越是看起來簡單的東西,動起來越可能要命。
防雨布受風不是一個穩定的力。
廢土的風也不是教科書里那個溫順的箭頭。
它是忽強忽弱的亂流。
尼龍軟繩只能拉不能推,鬆弛後再繃緊會產生暴烈的衝擊。
鋼筋不是理想剛體,石頭支點表面不平,水桶在岩縫裡會上下晃蕩。
桶里的水也會晃。
如果只憑感覺硬做,第一版很可能不是提水裝置,而是自動砸臉裝置。
江臨盯著草圖看了一會兒,在旁邊寫。
【幹活之前,先算帳。】
這句話曾經出現在太陽能系統里。
現在又出現了。
他有微積分,有普通物理,有線性代數,有概率統計和誤差分析。
第十年,他剛用最小二乘法把農田那堆亂七八糟的數據做過一次粗糙擬合。
雖然結果很醜,但至少讓他知道,在噪聲里找趨勢,不是完全不可能。
既然能在一堆髒數據里摸規律,算一個看得見摸得著的粗糙槓桿,應該不至於太難。
江臨穩如老狗,拿起墨水手寫板,畫出提水系統的三維簡圖之後,開始走最熟悉的流程
牛頓受力分析。
他把系統拆開。
部件A是迎風杆。
受到風力,底座摩擦力,自重和尼龍繩拉力。
部件B是尼龍繩。
兩端拉力,可能鬆弛,可能繃緊。
部件C是槓桿。
受到繩子拉力,水桶重力,支點支持力,摩擦力。
部件D水桶。
重力,繩子拉力,岩壁可能碰撞,水的晃動。
江臨咬著筆頭,在每個部件上畫出長長短短的受力箭頭。
沒畫幾下,他的眉頭就皺成了一個川字。
「太亂了。」
他盯著那根尼龍繩。
繩子是軟約束,這意味著它只能提供拉力,不能提供壓力。
當風力變小,迎風杆回彈的時候,繩子會瞬間失去張力,槓桿就會砸下來。
等下一陣風再把防雨布吹滿,繩子又會突然繃緊,產生衝擊。
這種時緊時松的東西,最麻煩。
然後是支點。
槓桿不是用軸承裝在金屬架上的。
它只是架在兩塊巨石之間,靠凹槽和限位塊勉強定位。
支點會摩擦,會磨損,會因為震動發生微小偏移。
支點一偏,力臂就變。
力臂一變,剛才所有方程都要跟著變。
再看風力。
風不是常數,大小隨時間變,方向也在變。
防雨布的受力面積還會隨布面形狀改變。
這不是一個靜態問題。
而是一個帶有非穩定外力,連接,衝擊和摩擦的動態系統。
江臨硬著頭皮繼續寫。
迎風杆繞底部支點轉動,需要力矩方程。
槓桿繞石支點轉動,也需要力矩方程。
水桶上下運動,需要平動方程。
繩子約束長度要寫。
如果繩子鬆弛,約束又暫時失效。
風力項要寫成F_w(t)。
繩張力要寫成T(t)。
支點反力有兩個方向,摩擦力還要判斷方向。
沒過二十分鐘,墨水屏上已經堆滿了三角函數,下標,未知約束力和耦合方程。
江臨盯著這一團東西,整個人愣在那裡。
他列出的方程太多。
繩子的瞬時張力,石塊支點的支持力,支點摩擦,迎風杆底座擠壓力。
槓桿和限位塊之間的衝擊力,水桶碰岩壁時的瞬時反作用力。
這些東西,在物理學裡有一個共同的名字。
約束力。
它們當然真實存在。
但江臨並不關心它們每一秒的精確數值。
他關心的是這套裝置能不能把水提上來,升程夠不夠,會不會散架,哪個參數最該改?
可牛頓方程逼著他去追查每一個細節。
要求他把系統切得七零八落,然後追問每一個零件之間到底怎麼互相推搡。
這就像想管理幾萬人的大工廠,卻非要去查每個流水線工人喘了幾口氣。
「老牛啊老牛!」
江臨往後靠到石壁上,閉了閉眼。
他沒有罵牛頓,因為牛頓定律並沒有錯。
經典範圍內,那三條定律仍然牢固得像廢土上的岩層。
真正的問題是這種語言太底層。
拿它去解複雜的約束系統,就像拿機器碼寫作業系統,能寫,但人會死。
江臨睜開眼,重新坐直。
打開電腦,點開理論力學文件夾。
他先前翻過這個文件夾,但只粗略看過目錄。
在很多物理系培養體系里,理論力學是專業課的第一道門檻,開始用另一種語言重新表述整個經典世界。
不像普通物理那樣親切,也不像高數那樣只是工具。
理論力學前面是運動學、動力學、剛體運動。
他往下拖,停在下半冊。
【分析力學】
第一章開頭,沒有小方塊,沒有斜面,沒有滿屏受力箭頭。
只有一段安靜的陳述。
在牛頓力學中,我們通常以力為核心描述運動。
但對含有複雜約束的多體系統,顯式求出所有約束力往往既困難,也不必要。
分析力學提供了一種更高層的描述方式:選擇合適的廣義坐標,從系統的動能、勢能和虛功出發,得到運動方程。
江臨的目光停在不必要三個字上。
我剛才追著那些繩張力,支點反力,摩擦力折騰了半天,你告訴我不必要?
他繼續往下看。
很多約束力,在理想約束下,對允許的虛位移不做功。
既然它們不做虛功,就可以不顯式出現在方程里。
也就是說,你不必把每一個支持力,張力,約束反力都算出來。
只要選對描述系統自由度的廣義坐標,把動能T和勢能V寫出來,再把非保守外力寫成廣義力,方程會自動生成。
這不是力消失了。
力還在那裡,風還會推防雨布,繩子還會拉鋼筋,支點還會磨損,水桶還會晃。
但分析力學告訴他,你不必用最笨的方式追著每一個約束力跑。
你可以先問一個更高層的問題。
這個系統真正的自由度是什麼?
江臨把這句話抄下來,像握住了一把刀。
他盯著自己的風力提水裝置草圖,重新開始看。
這個系統確實很髒,有摩擦,有亂流,有衝擊。
不能幻想一個方程五分鐘給出最終答案。
但如果先建立一個理想模型呢?
假設尼龍繩始終繃緊,假設鋼筋剛性足夠,假設支點暫時不滑,假設水桶不撞岩壁……
整個系統的主運動,至少可以先由迎風杆的傾角θ來描述。
θ確定了,繩長、槓桿、水桶高度就全確定了。
然後,他寫動能和勢能。
風和摩擦不是保守力,所以他用上了帶廣義非保守力的拉格朗日方程形式。
d/dt(∂L/∂q̇) - ∂L/∂q = Q
江臨盯著右邊那個Q。
它提醒著拉格朗日不是魔法,髒東西沒有憑空消失,只是被更好地收納了。
推導並不漂亮,但順暢得多。
那些讓他頭疼的支點反力,繩端約束力全都不見了。
推到最後,他得到了一條粗糙的一自由度運動方程。
這方程沒有給他最終答案,卻清晰地告訴他該改哪裡。
升程不夠可能是槓桿力臂比不對,啟動困難可能是轉動慣量過大,運動狂躁是阻尼不足。
江臨看著那條方程,頭皮還是有些發麻。
不過拉格朗日方程雖然沒有替他造出提水機,卻也替他找到了提水機的骨架。
這一刻,江臨第一次在理論力學裡感到一種近乎冒犯的震撼。
不是因為它神奇到無所不能。
而是因為它明明承認現實複雜,卻依然能從複雜里抽出自由度。
牛頓力學像在寫機器碼。
你必須親自管理每一個寄存器,每一次跳轉,每一條指令。
你要算每一根繩子的張力,每一塊石頭的摩擦,每一個支點的反作用。
拉格朗日力學則更像高級語言。
你寫系統的自由度,寫動能,寫勢能,寫非保守廣義力,然後讓方程替你生成底層運動。
這個編譯器,就是拉格朗日方程。
但江臨沒有忘記加一句。
【編譯器不是神。】
【垃圾模型輸入,只會得到垃圾結果。】
接下來的半個月,江臨一邊學分析力學,一邊做風力提水裝置。
白天,他在廢墟里砸鋼筋,搬石塊,削限位槽,用紅泥和碎石壓實底座。
晚上,他在露營燈下啃《理論力學》里那些更冷更高的詞。
廣義坐標,廣義速度,廣義力,虛位移……
理論力學不再高高在上,和一台醜陋的提水機牢牢綁在了一起。
第一版裝置,失敗得毫不意外。
風灌滿防雨布,迎風杆猛地後傾,尼龍繩瞬間繃直,槓桿抬起水桶。
水桶確實上升了。
可上升不到一半,風力一弱,繩子突然鬆弛。
下一陣風再來時,繩子猛地繃緊,整個系統發出一聲讓人牙酸的撞擊。
水桶砸在岩壁邊緣,半桶水全灑了不說,桶還被砸出了一個凹坑。
江臨站在旁邊,臉色很難看。
但還是不忘記錄。
【第一版失敗。】
【問題:繩索鬆弛導致衝擊,回落速度過大,阻尼不足。】
第二版,他加了配重。
配重讓水桶回落不再那麼凶,系統有了更穩定的往復趨勢。
但新問題來了。
啟動困難。
風小的時候,配重和水桶形成的等效慣量太大,防雨布被吹得嘩嘩響,裝置卻只是像一頭倔驢一樣抖。
又記錄。
【第二版失敗一半。】
【問題:啟動風速提高,低風狀態下無效。】
第三版,他調整槓桿支點位置。
把力臂比改小一點,犧牲一部分升程,換取更容易啟動。
這一次,水桶能被拉起來了。
但升程不夠。
水桶剛剛離水面沒多久就停住,上不來。
還是記錄。
【第三版:啟動改善,升程不足。】
第四版,他改變水桶容積。
不用大桶一次提滿,改用小桶多次提。
這讓單次提升所需能量下降。
效率不高。
但系統終於能工作一段時間。
問題是往復太快,水桶出水時晃得厲害,灑水嚴重。
他用舊布條和一段磨損繩索做了簡陋阻尼,讓槓桿回落時有一點摩擦耗能。
第五版。
江臨給水桶加了一個偏心吊點。
桶滿水時重心靠下,能保持豎直。
升到頂端撞上限位塊後,桶口被迫翻轉,水倒進接水槽。
水一倒空,配重又把空桶拉回岩隙底部。
限位塊負責讓它倒水,舊布條負責讓它別砸得太狠,配重負責讓它重新下去。
這三樣東西加起來,才勉強讓它從會動變成能循環。
一個風很大的下午。
江臨站在營地北側的岩隙旁,繫緊最後一段尼龍傘繩。
三米高的迎風杆由兩根鋼筋綁成,上面繃著舊防雨布。
另一端,一根粗鋼筋架在兩塊巨石之間,像一個野獸派風格的蹺蹺板。
水桶掛在另一頭,桶身被石頭磕得凹凸不平。
江臨鬆開固定防雨布的繩套。
「呼——」
風灌滿了防雨布,迎風杆後傾,尼龍繩繃緊,槓桿抬起。
水桶從岩隙深處一點點升上來。
支點發出低沉摩擦聲。
舊布阻尼輕輕抖動,壓住了那種危險的狂躁。
水桶升到頂端,撞上限位塊,傾斜。
「嘩啦——」
渾濁冰涼的地下水倒進旁邊的蓄水坑裡,水花濺到江臨腳踝上。
他站在風裡,低頭看著那些渾濁的水,許久不願意走。
它很破,也不省心,完全稱不上真正自動化。
但它替他省下了最折磨身體的勞動。
更重要的是,它讓理論力學拉格朗日方程第一次在廢土裡落了地。
江臨拿起隨身的電子記錄板。
【第十一年,旱季。】
【簡易風力提水系統第五版,間歇運轉。】
【可在中等以上穩定風下完成提水。】
【低風不啟動,亂風易衝擊,夜間必須鎖死。】
【拉格朗日方程沒有替我造機器。】
【它替我找到自由度。】
【不用追每一根繩子的張力,先抓住系統真正會動的那個方向。】
這句話,他晚上抄進了紙質時間膠囊。
紙很珍貴,但這一句值得。
接下來幾天,江臨繼續學下去。
他翻到哈密頓原理。
教材上寫:真實路徑使作用量取駐值。
作用量S=∫Ldt
δS=0
江臨第一次看到最小作用量這個俗稱時,差點被它迷住。
最小,省,不浪費。
這幾個詞,天然就能打動廢土求生者的神經。
可教材很快提醒他,更準確地說,不是總是最小,而是駐值。
一階變分為零,可能是最小,可能是最大,也可能是鞍點。
自然不是簡單地在省錢。
它選擇的是讓作用量在可允許路徑附近不發生一階變化的那條路徑。
哪怕最省這個說法不嚴謹,他還是在裡面看見了某種和自己相似的東西。
這些年,他在廢土裡學會了不亂跑,不亂燒燃料,不亂開電腦,不做無意義的情緒發泄,把每一升水,每一克黃豆,每一瓦時電,每一張紙都用在刀刃上。
他能理解那種整條路徑都要算帳的視角。
那天晚上,石屋裡很安靜。
南牆小窗封著擋板。
風力提水裝置的繩子被他收好,防雨布也捲起來壓在石塊下面。
江臨坐在石桌前,打開【理論力學_分析力學】文檔,寫下階段總結。
【牛頓:追每一個力。】
【拉格朗日:找真正的自由度,用能量寫結構。】
【非保守系統:加入廣義力Q,不要把現實髒東西偽裝成理想模型。】
【哈密頓原理:作用量取駐值,不是簡單最小。】
【核心改變:從微觀管理每個約束力,到抓住系統的自由度和路徑結構。】
寫完之後,他想了想,又補了一句。
【牛頓是底層指令。】
【拉格朗日是編譯器。】
【但編譯器只對正確建模負責。】
他看著最後一句,輕輕吐出一口氣。
理論力學沒有讓他變成天才,也沒有讓廢土變得溫柔。
它甚至沒有讓那颱風力提水機變得多可靠。
可是,它讓江臨第一次真正感到,物理學高級的地方,不是把公式寫得更複雜。
而是換一種語言以後,世界突然安靜了一點。
不過明天,他還是要檢查提水裝置的繩結,還是要測水質,還是要給農田補水。
還要繼續學理論力學下一章。
廢土不會因為他看見了分析力學的門,就少出一道題。
但至少從今天開始,他不再只是趴在地上追每一粒沙子的人。
偶爾,他能站高一點,看見風沙背後的地形。
往年這個時候,乾涸的河床多多少少會滲出一點渾濁的地下水,沿著岩縫慢慢流進江臨提前挖好的蓄水坑裡。
但今年,整整一個月過去,蓄水坑底部只剩下一層乾巴巴的泥皮。
皮被風吹得發硬,裂出細碎紋路,像無數張嘲笑他的嘴。
江臨蹲在坑邊,用手指摳了一塊泥皮下來。
泥皮很薄,一捏就碎,完全沒有濕意。
旱季提前來了,而且不是普通意義上的少雨。
地下水位明顯下降。
這比糧食減產更危險。
在廢土,缺水比缺食物更要命。
食物不足,還能靠儲備,靠壓縮體力硬撐一段時間。
水一旦斷掉,人體很快就會出問題。
脫水,電解質紊亂,幻覺,器官衰竭,這些詞不是醫學教材里的遠方名詞,而是會在廢土裡一步一步走到面前的東西。
江臨倒不至於立刻渴死。
營地北側幾百米外,有一處地下岩隙。
那是他第六年時探出來的備用水源。
問題是,那地方取水太費勁。
他得把水桶系在尼龍繩上,順著岩縫放下去,等桶口沒入水裡,再一點一點往上拔。
幾百米外,來回一趟。
一桶水,往上拔一次。
要滿足自己一天最低飲水、做飯、最基本清洗,再給兩百平方米農田吊住一口保苗水,他每天得重複幾十次。
這不是勞動。
而是把卡路里往井裡扔。
在廢土,每一焦耳能量都要算著花。
可現在,他每天花在提水上的體力,像一條看不見的裂縫,把這些年辛辛苦苦摳出來的餘量一點點吞回去。
春末的一個上午,江臨提完第十七桶水,手臂已經開始發酸。
而田邊的黃豆苗有些發蔫。
土豆葉片邊緣捲起,像被火燎過一樣。
「得利用風。」
廢土什麼都缺,唯獨風不缺。
江臨以前試過做小風輪,失敗得很慘。
葉片飛出去那一次,差點讓他把記性長在臉上。
從那之後,他對風力發電四個字敬而遠之。
但提水不一樣。
他不需要穩定電壓,不需要高速轉子,不需要漂亮的動平衡。
只需要一套粗糙低效,能反覆把水桶從岩隙里拉上來的裝置。
江臨回到石屋,把手洗乾淨,打開【廢土工程_暫存方案】文件夾,新建文檔。
【風力提水裝置_第一版】
然後盤點手頭裡的家當。
營地廢墟里砸出來的幾根粗鋼筋,一卷用來做單擺實驗的尼龍繩,一塊擋窗戶用的舊防雨布,一些薄金屬片,幾根木桿子,以及滿地的紅土和石塊。
要在地球上,這點破爛連收廢品的都嫌棄。
但在廢土,這是他拼湊重型設備的全部底牌。
江臨很快畫出第一張草圖。
用石頭壘一個支點,把最長的一根鋼筋架在上面當槓桿。
槓桿的一頭掛水桶,另一頭連著尼龍繩。
傘繩的另一端,綁在另一根垂直豎立掛著防雨布的迎風杆上。
風吹動防雨布,迎風杆後傾,拉動繩子。
繩子扯動槓桿,槓桿把水桶提起來。
風小的時候,靠配重和水桶自重回落,完成一個往復循環。
原理很簡單,簡單到透著一種石器時代的美。
但江臨沒有立刻去搬鋼筋。
這些年廢土已經教會他,越是看起來簡單的東西,動起來越可能要命。
防雨布受風不是一個穩定的力。
廢土的風也不是教科書里那個溫順的箭頭。
它是忽強忽弱的亂流。
尼龍軟繩只能拉不能推,鬆弛後再繃緊會產生暴烈的衝擊。
鋼筋不是理想剛體,石頭支點表面不平,水桶在岩縫裡會上下晃蕩。
桶里的水也會晃。
如果只憑感覺硬做,第一版很可能不是提水裝置,而是自動砸臉裝置。
江臨盯著草圖看了一會兒,在旁邊寫。
【幹活之前,先算帳。】
這句話曾經出現在太陽能系統里。
現在又出現了。
他有微積分,有普通物理,有線性代數,有概率統計和誤差分析。
第十年,他剛用最小二乘法把農田那堆亂七八糟的數據做過一次粗糙擬合。
雖然結果很醜,但至少讓他知道,在噪聲里找趨勢,不是完全不可能。
既然能在一堆髒數據里摸規律,算一個看得見摸得著的粗糙槓桿,應該不至於太難。
江臨穩如老狗,拿起墨水手寫板,畫出提水系統的三維簡圖之後,開始走最熟悉的流程
牛頓受力分析。
他把系統拆開。
部件A是迎風杆。
受到風力,底座摩擦力,自重和尼龍繩拉力。
部件B是尼龍繩。
兩端拉力,可能鬆弛,可能繃緊。
部件C是槓桿。
受到繩子拉力,水桶重力,支點支持力,摩擦力。
部件D水桶。
重力,繩子拉力,岩壁可能碰撞,水的晃動。
江臨咬著筆頭,在每個部件上畫出長長短短的受力箭頭。
沒畫幾下,他的眉頭就皺成了一個川字。
「太亂了。」
他盯著那根尼龍繩。
繩子是軟約束,這意味著它只能提供拉力,不能提供壓力。
當風力變小,迎風杆回彈的時候,繩子會瞬間失去張力,槓桿就會砸下來。
等下一陣風再把防雨布吹滿,繩子又會突然繃緊,產生衝擊。
這種時緊時松的東西,最麻煩。
然後是支點。
槓桿不是用軸承裝在金屬架上的。
它只是架在兩塊巨石之間,靠凹槽和限位塊勉強定位。
支點會摩擦,會磨損,會因為震動發生微小偏移。
支點一偏,力臂就變。
力臂一變,剛才所有方程都要跟著變。
再看風力。
風不是常數,大小隨時間變,方向也在變。
防雨布的受力面積還會隨布面形狀改變。
這不是一個靜態問題。
而是一個帶有非穩定外力,連接,衝擊和摩擦的動態系統。
江臨硬著頭皮繼續寫。
迎風杆繞底部支點轉動,需要力矩方程。
槓桿繞石支點轉動,也需要力矩方程。
水桶上下運動,需要平動方程。
繩子約束長度要寫。
如果繩子鬆弛,約束又暫時失效。
風力項要寫成F_w(t)。
繩張力要寫成T(t)。
支點反力有兩個方向,摩擦力還要判斷方向。
沒過二十分鐘,墨水屏上已經堆滿了三角函數,下標,未知約束力和耦合方程。
江臨盯著這一團東西,整個人愣在那裡。
他列出的方程太多。
繩子的瞬時張力,石塊支點的支持力,支點摩擦,迎風杆底座擠壓力。
槓桿和限位塊之間的衝擊力,水桶碰岩壁時的瞬時反作用力。
這些東西,在物理學裡有一個共同的名字。
約束力。
它們當然真實存在。
但江臨並不關心它們每一秒的精確數值。
他關心的是這套裝置能不能把水提上來,升程夠不夠,會不會散架,哪個參數最該改?
可牛頓方程逼著他去追查每一個細節。
要求他把系統切得七零八落,然後追問每一個零件之間到底怎麼互相推搡。
這就像想管理幾萬人的大工廠,卻非要去查每個流水線工人喘了幾口氣。
「老牛啊老牛!」
江臨往後靠到石壁上,閉了閉眼。
他沒有罵牛頓,因為牛頓定律並沒有錯。
經典範圍內,那三條定律仍然牢固得像廢土上的岩層。
真正的問題是這種語言太底層。
拿它去解複雜的約束系統,就像拿機器碼寫作業系統,能寫,但人會死。
江臨睜開眼,重新坐直。
打開電腦,點開理論力學文件夾。
他先前翻過這個文件夾,但只粗略看過目錄。
在很多物理系培養體系里,理論力學是專業課的第一道門檻,開始用另一種語言重新表述整個經典世界。
不像普通物理那樣親切,也不像高數那樣只是工具。
理論力學前面是運動學、動力學、剛體運動。
他往下拖,停在下半冊。
【分析力學】
第一章開頭,沒有小方塊,沒有斜面,沒有滿屏受力箭頭。
只有一段安靜的陳述。
在牛頓力學中,我們通常以力為核心描述運動。
但對含有複雜約束的多體系統,顯式求出所有約束力往往既困難,也不必要。
分析力學提供了一種更高層的描述方式:選擇合適的廣義坐標,從系統的動能、勢能和虛功出發,得到運動方程。
江臨的目光停在不必要三個字上。
我剛才追著那些繩張力,支點反力,摩擦力折騰了半天,你告訴我不必要?
他繼續往下看。
很多約束力,在理想約束下,對允許的虛位移不做功。
既然它們不做虛功,就可以不顯式出現在方程里。
也就是說,你不必把每一個支持力,張力,約束反力都算出來。
只要選對描述系統自由度的廣義坐標,把動能T和勢能V寫出來,再把非保守外力寫成廣義力,方程會自動生成。
這不是力消失了。
力還在那裡,風還會推防雨布,繩子還會拉鋼筋,支點還會磨損,水桶還會晃。
但分析力學告訴他,你不必用最笨的方式追著每一個約束力跑。
你可以先問一個更高層的問題。
這個系統真正的自由度是什麼?
江臨把這句話抄下來,像握住了一把刀。
他盯著自己的風力提水裝置草圖,重新開始看。
這個系統確實很髒,有摩擦,有亂流,有衝擊。
不能幻想一個方程五分鐘給出最終答案。
但如果先建立一個理想模型呢?
假設尼龍繩始終繃緊,假設鋼筋剛性足夠,假設支點暫時不滑,假設水桶不撞岩壁……
整個系統的主運動,至少可以先由迎風杆的傾角θ來描述。
θ確定了,繩長、槓桿、水桶高度就全確定了。
然後,他寫動能和勢能。
風和摩擦不是保守力,所以他用上了帶廣義非保守力的拉格朗日方程形式。
d/dt(∂L/∂q̇) - ∂L/∂q = Q
江臨盯著右邊那個Q。
它提醒著拉格朗日不是魔法,髒東西沒有憑空消失,只是被更好地收納了。
推導並不漂亮,但順暢得多。
那些讓他頭疼的支點反力,繩端約束力全都不見了。
推到最後,他得到了一條粗糙的一自由度運動方程。
這方程沒有給他最終答案,卻清晰地告訴他該改哪裡。
升程不夠可能是槓桿力臂比不對,啟動困難可能是轉動慣量過大,運動狂躁是阻尼不足。
江臨看著那條方程,頭皮還是有些發麻。
不過拉格朗日方程雖然沒有替他造出提水機,卻也替他找到了提水機的骨架。
這一刻,江臨第一次在理論力學裡感到一種近乎冒犯的震撼。
不是因為它神奇到無所不能。
而是因為它明明承認現實複雜,卻依然能從複雜里抽出自由度。
牛頓力學像在寫機器碼。
你必須親自管理每一個寄存器,每一次跳轉,每一條指令。
你要算每一根繩子的張力,每一塊石頭的摩擦,每一個支點的反作用。
拉格朗日力學則更像高級語言。
你寫系統的自由度,寫動能,寫勢能,寫非保守廣義力,然後讓方程替你生成底層運動。
這個編譯器,就是拉格朗日方程。
但江臨沒有忘記加一句。
【編譯器不是神。】
【垃圾模型輸入,只會得到垃圾結果。】
接下來的半個月,江臨一邊學分析力學,一邊做風力提水裝置。
白天,他在廢墟里砸鋼筋,搬石塊,削限位槽,用紅泥和碎石壓實底座。
晚上,他在露營燈下啃《理論力學》里那些更冷更高的詞。
廣義坐標,廣義速度,廣義力,虛位移……
理論力學不再高高在上,和一台醜陋的提水機牢牢綁在了一起。
第一版裝置,失敗得毫不意外。
風灌滿防雨布,迎風杆猛地後傾,尼龍繩瞬間繃直,槓桿抬起水桶。
水桶確實上升了。
可上升不到一半,風力一弱,繩子突然鬆弛。
下一陣風再來時,繩子猛地繃緊,整個系統發出一聲讓人牙酸的撞擊。
水桶砸在岩壁邊緣,半桶水全灑了不說,桶還被砸出了一個凹坑。
江臨站在旁邊,臉色很難看。
但還是不忘記錄。
【第一版失敗。】
【問題:繩索鬆弛導致衝擊,回落速度過大,阻尼不足。】
第二版,他加了配重。
配重讓水桶回落不再那麼凶,系統有了更穩定的往復趨勢。
但新問題來了。
啟動困難。
風小的時候,配重和水桶形成的等效慣量太大,防雨布被吹得嘩嘩響,裝置卻只是像一頭倔驢一樣抖。
又記錄。
【第二版失敗一半。】
【問題:啟動風速提高,低風狀態下無效。】
第三版,他調整槓桿支點位置。
把力臂比改小一點,犧牲一部分升程,換取更容易啟動。
這一次,水桶能被拉起來了。
但升程不夠。
水桶剛剛離水面沒多久就停住,上不來。
還是記錄。
【第三版:啟動改善,升程不足。】
第四版,他改變水桶容積。
不用大桶一次提滿,改用小桶多次提。
這讓單次提升所需能量下降。
效率不高。
但系統終於能工作一段時間。
問題是往復太快,水桶出水時晃得厲害,灑水嚴重。
他用舊布條和一段磨損繩索做了簡陋阻尼,讓槓桿回落時有一點摩擦耗能。
第五版。
江臨給水桶加了一個偏心吊點。
桶滿水時重心靠下,能保持豎直。
升到頂端撞上限位塊後,桶口被迫翻轉,水倒進接水槽。
水一倒空,配重又把空桶拉回岩隙底部。
限位塊負責讓它倒水,舊布條負責讓它別砸得太狠,配重負責讓它重新下去。
這三樣東西加起來,才勉強讓它從會動變成能循環。
一個風很大的下午。
江臨站在營地北側的岩隙旁,繫緊最後一段尼龍傘繩。
三米高的迎風杆由兩根鋼筋綁成,上面繃著舊防雨布。
另一端,一根粗鋼筋架在兩塊巨石之間,像一個野獸派風格的蹺蹺板。
水桶掛在另一頭,桶身被石頭磕得凹凸不平。
江臨鬆開固定防雨布的繩套。
「呼——」
風灌滿了防雨布,迎風杆後傾,尼龍繩繃緊,槓桿抬起。
水桶從岩隙深處一點點升上來。
支點發出低沉摩擦聲。
舊布阻尼輕輕抖動,壓住了那種危險的狂躁。
水桶升到頂端,撞上限位塊,傾斜。
「嘩啦——」
渾濁冰涼的地下水倒進旁邊的蓄水坑裡,水花濺到江臨腳踝上。
他站在風裡,低頭看著那些渾濁的水,許久不願意走。
它很破,也不省心,完全稱不上真正自動化。
但它替他省下了最折磨身體的勞動。
更重要的是,它讓理論力學拉格朗日方程第一次在廢土裡落了地。
江臨拿起隨身的電子記錄板。
【第十一年,旱季。】
【簡易風力提水系統第五版,間歇運轉。】
【可在中等以上穩定風下完成提水。】
【低風不啟動,亂風易衝擊,夜間必須鎖死。】
【拉格朗日方程沒有替我造機器。】
【它替我找到自由度。】
【不用追每一根繩子的張力,先抓住系統真正會動的那個方向。】
這句話,他晚上抄進了紙質時間膠囊。
紙很珍貴,但這一句值得。
接下來幾天,江臨繼續學下去。
他翻到哈密頓原理。
教材上寫:真實路徑使作用量取駐值。
作用量S=∫Ldt
δS=0
江臨第一次看到最小作用量這個俗稱時,差點被它迷住。
最小,省,不浪費。
這幾個詞,天然就能打動廢土求生者的神經。
可教材很快提醒他,更準確地說,不是總是最小,而是駐值。
一階變分為零,可能是最小,可能是最大,也可能是鞍點。
自然不是簡單地在省錢。
它選擇的是讓作用量在可允許路徑附近不發生一階變化的那條路徑。
哪怕最省這個說法不嚴謹,他還是在裡面看見了某種和自己相似的東西。
這些年,他在廢土裡學會了不亂跑,不亂燒燃料,不亂開電腦,不做無意義的情緒發泄,把每一升水,每一克黃豆,每一瓦時電,每一張紙都用在刀刃上。
他能理解那種整條路徑都要算帳的視角。
那天晚上,石屋裡很安靜。
南牆小窗封著擋板。
風力提水裝置的繩子被他收好,防雨布也捲起來壓在石塊下面。
江臨坐在石桌前,打開【理論力學_分析力學】文檔,寫下階段總結。
【牛頓:追每一個力。】
【拉格朗日:找真正的自由度,用能量寫結構。】
【非保守系統:加入廣義力Q,不要把現實髒東西偽裝成理想模型。】
【哈密頓原理:作用量取駐值,不是簡單最小。】
【核心改變:從微觀管理每個約束力,到抓住系統的自由度和路徑結構。】
寫完之後,他想了想,又補了一句。
【牛頓是底層指令。】
【拉格朗日是編譯器。】
【但編譯器只對正確建模負責。】
他看著最後一句,輕輕吐出一口氣。
理論力學沒有讓他變成天才,也沒有讓廢土變得溫柔。
它甚至沒有讓那颱風力提水機變得多可靠。
可是,它讓江臨第一次真正感到,物理學高級的地方,不是把公式寫得更複雜。
而是換一種語言以後,世界突然安靜了一點。
不過明天,他還是要檢查提水裝置的繩結,還是要測水質,還是要給農田補水。
還要繼續學理論力學下一章。
廢土不會因為他看見了分析力學的門,就少出一道題。
但至少從今天開始,他不再只是趴在地上追每一粒沙子的人。
偶爾,他能站高一點,看見風沙背後的地形。