流變模型通常生成使用三個(或四個)基本元件,分別是:Modelica的 - 在OpenModelica
的彈簧(存在於
Modelica.Mechanics.Translational.Components
例如)。它的公式是f = c * (s_rel - s_rel0);
的阻尼(緩衝器)(也存在於
Modelica.Mechanics.Translational.Components
)。它的公式是f = d * v_rel;
的線性減震器,一個可以很容易地修改模型的非線性阻尼器:f = d * v_rel^(1/n);
的滑塊,不存在(據我所知)在這個庫...這是方程式是abs(f)< = flim。不幸的是,我真的不明白我怎麼能寫出相應的Modelica模型...
我覺得這樣的模式應該擴展Modelica.Mechanics.Translational.Interfaces.PartialCompliant
,但問題是,(flange_b
和flange_a
之間測得的力)f
應當它比flim
... 如果滑塊延伸PartialCompliant
更大隻能修改,這意味着它已經按照公式flange_b.f = f;
和flange_a.f = -f;
添加公式f = if abs(f)>flim then sign(f)*flim else f;
給我一個錯誤「的新型的獨立子集已不平衡的數方程和變量「,我真的無法解釋,即使我明白,如果abs(f)<=flim
,公式f = f
也沒用......
事實上,滑動部件不產生新的力量(就像春天呢,這取決於在其應變上,或者就像阻尼器那樣,取決於其應變率)。該力是滑塊元素的輸入,該元素有時會被修改(當此力大於元素允許的限制時)。這就是爲什麼我不明白我是否應該將此力定義爲輸入或輸出....
如果您有任何建議,我將不勝感激!謝謝
在前兩個評論之後,我決定添加一張照片,我希望能夠幫助你理解我試圖建模的行爲。 在左側,可以看到用於開發流變模型的四個要素:
- 一個:所述彈簧
- B:線性減振器(緩衝器)
- C:非線性阻尼器
- d:滑塊
在右邊,你可以看到我試圖重現行爲:a和b是兩個協會與彈簧和c和d分別是預期的應力/應變曲線。我試圖對同樣的行爲建模,除了我正在用力而不是壓力來思考。正如我在對Marco的回答的評論中所說的,曲線a提醒我二極管的行爲:
- 如果施加在部件上的力小於滑動極限,則兩個凸緣之間沒有相對位移
- 如果力變得大於滑動限值時,由系統發送的力等於限制且有凸緣
在圖a的串聯連接中。在右側,滑塊,彈簧和力源的切割力相等。如果力源的力值超過「flim」值,則無法解決問題。良好的數字在這一點上必須失敗並指出問題。如果你想使它工作,你需要一些東西吞噬滑塊上的多餘力量。這可能是一個慣性力與滑塊(或彈簧)右端相連的質量塊。這樣就形成了一個朝向大慣性系統的力量旁路,其中滑塊也是固定的。 – Tobias