Keyfi Doğruluk Ölçeklenebilir Halat Simülasyonu


12

Bir halat nesnesini simüle etmeye çalışıyorum. Anladığım formülasyon, yaylarla bağlanmış bir dizi parçacıktır. Bu yaylar çok büyük k değerlerine sahiptir, böylece çizgi deforme olur, ancak çok az uzanır. Bunu bir zaman fonksiyonu olarak çözmenin kapalı biçimde mümkün olmadığı sonucuna vardım çünkü bir halat bir sarkaçın (kapalı formda olmayan) bir genellemesidir.

Yaklaşık çözümler için yerleşim. İyi ölçeklenen bir algoritmaya ihtiyacım var. Gördüğüm örnekler parçacıkları hareket ettirmek için açık ya da örtülü Eulerian entegrasyonunu kullanmaktadır. Bu ölçeklenmez.

Bunu görmek için düğümlü bir ip düşünün. Bir ucuna büyük bir kuvvet uygulayın. Halat çok gerilmemesi gerektiğinden, diğer uçtaki hızlanma hemen olmalıdır.

Bununla birlikte, Euler entegrasyonu ile, diğer tarafa herhangi bir güç katmak n adım gerektirir. Üstel bir hata fark ettim: ilk düğüm belirli bir miktarı hızlandırırsa, bitişik düğümler daha az hızlanır (aynı hızda hızlanırlarsa, algoritma kararlı değildir). Sonuç olarak, komşu düğümler bu düğüm daha yavaş hızlandırabilir!

Bu nedenle, uzaktaki düğümler için, hızlanma neredeyse göz ardı edilebilir. Bu, önemli ölçüde uzanan halata yol açar. Simülasyonun çözünürlüğünü sadece iki katına çıkarmak isterseniz, benzer davranışlar elde etmek için aniden onlarca veya yüzlerce kez daha küçük zaman adımları atmanız gerekir.

Bu sorunu çözen basit bir yöntem arıyorum - yani, daha yüksek çözünürlüklü simülasyonlar sadece polinom zaman ekstra hesaplama ile çözüm yakınsama. Matris ve doğrusal cebir tekniklerinin tam bir kütüphanesi mevcuttur. Klasik mekanik bilgim çok iyi ve bazı sayısal analizler biliyorum.


vsdt

@ dmckee, evet, lütfen yap! İkinci yorumunuza cevap olarak, ideal olarak kuvvet, herhangi bir zaman aralığında sonsuz bir şekilde etkili bir şekilde yayılmalıdır.
imallett

Ses hızı muhtemelen oldukça yüksektir ... ancak zaman adımlarınız 10 ms'den azsa, bu yayılma uzunluğu hala sadece birkaç metredir.
dmckee --- eski moderatör yavru kedi

Burada aldığınız önerilerin yardımcı olup olmadığını merak ediyorum. Kabul etmemenin ya hala takip ettiğiniz anlamına geldiğini ya da cevapların hiçbirinin tam olarak umduğunuz gibi olmadığını varsayıyorum, ancak size bir yol gösterdiler mi?
dmckee --- eski moderatör yavru kedi

Onlar yardımcı oldular, ama bir çok şey aynı anda ortaya çıktı. Bazı cevaplar hakkındaki niyetlerimi açıkladım ve bir nefes aldığımda bunları takip edebiliyorum. Teşekkürler,
imallett

Yanıtlar:


4

Olarak şeyden önce, Jed Brown sözü var senin sorunun en azından bir daha istikrarlı oldukça sert görünüyor, ya da, aşağıdakiler gibi, ama aynı ölçüde basit düzeni örtük bir zaman atlama düzeni kullanmalıdır Birdirbir entegrasyonu veya Verlet entegrasyonu .

Fiziksel soruna gelince, gerilmeye ne kadar ilgi duyuyorsunuz? Parçacıkları sert yaylarla bağlamak yerine holonomik kısıtlamalar kullanabilirsiniz , örneğin parçacık çiftleri arasındaki mesafenin sabit kalmasını sağlayın. Kısıtlamaların her zaman adımında çözülmesi gerekir ve tam olarak kurulumunuz için etkili algoritmalar vardır, yani uzun bağlantılı bir kısıtlama zinciri. Örneğin bu makaleye bakınız .

Sadece meraktan, esnekliğini modellemek için ipin uzunluğu boyunca açısal potansiyeller mi kullanıyorsunuz?


Örtülü zaman adımı kullanıldığında bile (ki bu yardımcı olur), gerdirme meydana gelir. Aslında, ondan kurtulmaya çalıştığım sürece sadece germekle ilgileniyorum. Kağıttaki matematik temelde başımın üstünde, ama fortran kodunu inceliyorum. Henüz herhangi bir açısal kısıtlama kullanmamak.
imallett

@IanMallett: Tamam, o zaman kısıtlamalar gidilecek yoldur, yani kısıtlamalarla hiç esneme yoktur.
Pedro

5

Bir var sert akım formülasyonu ile sistem. Dizedeki dinamik esneme ve titreşim (muhtemelen) ilgisizdir, ancak açık zaman adımını kontrol ederler. Bu, örtük bir zaman entegrasyonu yönteminin kullanıldığını gösterir. Kapalı yöntem için uyarlanabilir hata kontrolünü bozacak salınımları önlemek için sönümlemeyi kullanabilirsiniz.

İnce ölçekli salınımlar, üzerlerine adım atmaya (örneğin, yorulma modellemesi için) rağmen modellemek için önemliyse, Heterojen Çok Ölçekli Yöntem (Engquist, Tsai, vb.) Veya yarı- spektral zaman yöntemleri. Bu tür yöntemlerin kullanımı araştırma düzeyinde bir konudur ve sorunun uygun olup olmadığına karar vermek için probleminizi ve yöntemin yeteneklerini iyi anlamanız gerekir. Enerjiden tasarruf etmek istiyorsanız, örneğin belirli titreşim modlarının dağılmaması gerektiğinde, Verlet gibi sezgisel entegratörlere bakmalısınız.

İsterseniz sıfır esneme sınırını da çözebilirsiniz. Ataletsel terimlerle, model, sert olmayan bir ODE sistemine yol açan açılar açısından yeniden formüle edilebilir. Faleichik'in belirttiği gibi, bu ROPEHairer, Nørsett ve Wanner'ın kitabında dikkate alınan test problemidir. Halatın kendisinin ataletini atarsanız, ancak gevşekliğe (hafif, düşük gerilimli halat, ayrı yüklemeli; ortak bir model değil) izin verirseniz, sorun bir diferansiyel varyasyon eşitsizliği (DVI) haline gelir ve genellikle ilk sipariş doğruluğundan daha iyi olamazsınız. saati.


2
HMM özünde projeksiyon tabanlı bir model azaltma yöntemidir. Bir uygulama özellikle talep etmediği sürece bu yöntemleri tavsiye etmekten çekinmeyin; hız için doğruluktan fedakarlık etmeye istekli olmalıdır. Sıkıştırma ve rekonstrüksiyon operatörlerinin "iyi" seçimlerinin belirlenmesi (HMM terminolojisini kullanarak) bazı uygulamalar için önemsiz olmaya devam etmektedir (yanma böyle bir örnektir).
Geoff Oxberry

@GeoffOxberry Kabul ediyorum, bir uyarı ekledim. Klasik bir problem, bir saatteki mekanik titreşimlerin nasıl sürüklenmeye neden olduğudur. Uygun olacağını düşündüğüm örnek bir sorun, yüklenen taraftan titreşim modları tarafından hızlandırılan bir halatın etrafında bir ipin sünmesini / kaymasını modellemektir. Her şey yanma değildir. ;-)
Jed Brown

Sıfır streç limiti bu noktada gerçekten denediğim tek şey. İnce ölçekli salınımlar iyi olurdu, ancak şu anda çok pürüzsüz olan elastik olmayan bir bez tercih edilir. Örtük zaman adım (OpenCloth'ın formülasyonu aracılığıyla) denedim ve ne yazık ki sorun hala oluşuyor. Son paragrafınızı nasıl uygulayacağınız hakkında ayrıntılı bilgi verebilir misiniz? Teşekkürler,
imallett

2

Hızlı, yaklaşık bir çözümle ilgileniyorsanız, ayrık diferansiyel geometri gibi dijital efektlerde kullanılan yöntemler ilginizi çekebilir. Grinspun'un Columbia Üniversitesi'ndeki grubunun 2008 tarihli bir makalesi olan Ayrık Elastik Çubuklardaki katamatatik bir formülasyonun farkındayım , ancak muhtemelen bu alanda daha yeni literatür var.


2

Asılı ipin hareketi, "Sıradan Diferansiyel Denklemlerin Çözümü" nin ikinci (sert) hacminde ve ilk cildin ikinci baskısında (1993) görülen Hairer ve Wanner'ın sevilen bir test problemidir. Son seçeneği tavsiye ediyorum, sayfa 247. Denklemlerin türetilmesi zor ve sayısal çözüm algoritması çok basit değil. Sonunda DOPRI, RK45 veya ODEX gibi konvansiyonel açık zaman kademeleri uygulanır ve oldukça iyi davranırlar, bu yüzden problem gerçekten sert değildir.


1
ROPEKitap modellerinden sorun atalet etkileri hakim dinamikleriyle, esneme yapmaz bir ip. Soru, gerilen halatları soruyor gibi görünüyor.
Jed Brown
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.