Simulasi Tali Skalabilitas Akurasi Sewenang-wenang


12

Saya mencoba mensimulasikan objek tali. Formulasi yang saya pahami adalah susunan partikel, dihubungkan oleh pegas. Mata air ini memiliki nilai-k yang sangat besar, sehingga garis berubah bentuk, tetapi sedikit membentang. Saya telah menyimpulkan bahwa menyelesaikan ini sebagai fungsi waktu tidak dimungkinkan dalam bentuk tertutup karena tali adalah generalisasi dari pendulum (yang bukan bentuk tertutup).

Menentukan solusi perkiraan, lalu. Saya membutuhkan algoritma yang berskala baik. Contoh yang saya lihat menggunakan integrasi Eulerian eksplisit atau implisit untuk memindahkan partikel. Ini tidak skala.

Untuk melihat ini, pertimbangkan tali dengan n node. Terapkan kekuatan besar ke satu ujung. Karena talinya tidak terlalu meregang, akselerasi di ujung yang lain harus segera.

Namun, dengan integrasi Euler, untuk mendapatkan kekuatan apa pun ke ujung lainnya memerlukan n langkah. Saya melihat falloff eksponensial: jika node pertama mempercepat jumlah tertentu, maka node yang berdekatan mempercepat kurang (jika mereka mempercepat pada tingkat yang sama, maka algoritma tidak stabil). Akibatnya, node yang berdekatan dengan yang simpul mempercepat bahkan lebih lambat!

Jadi, untuk n node jauhnya, akselerasi hampir dapat diabaikan. Ini mengarah pada tali yang meregang secara signifikan. Jika Anda hanya ingin menggandakan resolusi simulasi, Anda tiba-tiba perlu mengambil langkah waktu yang puluhan atau ratusan kali lebih kecil untuk mendapatkan perilaku serupa.

Saya mencari metode sederhana yang memecahkan masalah ini - yaitu, simulasi resolusi yang lebih tinggi bertemu dengan solusi dengan hanya perhitungan ekstra waktu polinomial. Perpustakaan lengkap teknik matriks dan aljabar linier tersedia. Pengetahuan saya tentang mekanika klasik sangat bagus, dan saya tahu beberapa analisis numerik.


Tampaknya algoritma sub-stepping seperti RK akan mempercepat komunikasi (diukur dalam node / step) dengan faktor yang kira-kira sama dengan jumlah sub-langkah, tetapi itu mungkin tidak banyak menang dalam hal waktu komputasi aktual . Untuk menjadi sangat umum, Anda mungkin perlu menghitung seberapa jauh Anda mengharapkan efek untuk menyebar dalam timestep (yaitu ), dan mulai dari aplikasi heuristik dari strain pada panjang itu kemudian rileks. vsdt
dmckee --- ex-moderator kitten

@ dmckee, ya, silakan lakukan! Sebagai jawaban atas komentar kedua Anda, idealnya kekuatan harus menyebar secara efektif jauh di timestep apa pun.
Imallett

Yah, kecepatan suara mungkin cukup tinggi ... tetapi jika langkah waktu Anda kurang dari 10 ms, panjang propagasi itu masih hanya beberapa meter.
dmckee --- ex-moderator kitten

Saya ingin tahu apakah saran yang Anda terima di sini bermanfaat. Saya berasumsi bahwa kurangnya penerimaan berarti bahwa Anda masih menindaklanjuti atau tidak ada jawaban yang persis seperti yang Anda harapkan, tetapi apakah mereka telah menunjukkan Anda jalan ke depan?
dmckee --- ex-moderator kitten

Mereka sangat membantu, tetapi banyak hal muncul secara bersamaan. Saya telah mengklarifikasi niat saya pada beberapa jawaban, dan ketika saya bernafas saya akan dapat menindaklanjutinya. Terima kasih,
imallett

Jawaban:


4

Pertama-tama, seperti yang disebutkan Jed Brown , Anda harus menggunakan skema loncatan waktu implisit karena masalah Anda tampaknya cukup kaku, atau setidaknya skema yang lebih stabil, namun sama sederhana seperti integrasi Leapfrog atau integrasi Verlet .

Sedangkan untuk masalah fisik, seberapa tertarik Anda dalam melakukan peregangan? Alih-alih menghubungkan partikel dengan pegas kaku, Anda bisa menggunakan batasan holonomis , misalnya memastikan bahwa jarak antara pasangan partikel tetap konstan. Kendala perlu dipecahkan untuk setiap langkah waktu, dan ada algoritma yang efisien untuk pengaturan Anda, yaitu rantai kendala yang terhubung lama. Lihat, misalnya, makalah ini .

Karena penasaran, apakah Anda juga menggunakan potensi sudut sepanjang tali untuk memodelkan fleksibilitasnya?


Bahkan menggunakan loncatan waktu implisit (yang memang membantu), peregangan akan terjadi. Bahkan, saya tertarik untuk melakukan peregangan sejauh saya mencoba untuk menyingkirkannya. Matematika di koran pada dasarnya di atas kepala saya, tetapi saya sedang mempelajari kode fortran. Belum menggunakan batasan sudut apa pun.
Imallett

@IanMallett: Ok, maka kendala adalah cara untuk pergi, yaitu tidak ada peregangan sama sekali dengan kendala.
Pedro

5

Anda memiliki sistem yang kaku dengan formulasi saat ini. Peregangan dan getaran dinamis dalam string (mungkin) tidak menarik, tetapi mereka mengontrol langkah waktu eksplisit. Ini menunjukkan menggunakan metode integrasi waktu implisit. Anda dapat menggunakan redaman untuk mencegah osilasi yang cenderung mengacaukan kontrol kesalahan adaptif untuk metode implisit.

Jika osilasi skala halus penting untuk dimodelkan meskipun ingin melangkahi mereka (misalnya, untuk pemodelan kelelahan), maka Anda mungkin ingin memeriksa metode multiskala baru seperti Metode Multiskala Heterogen (Engquist, Tsai, dll.) Atau semi semi. spektral dalam metode waktu. Penggunaan metode semacam itu adalah topik tingkat penelitian dan Anda harus memahami masalah Anda dan kemampuan metode tersebut dengan baik untuk memutuskan apakah mungkin cocok. Jika Anda ingin menghemat energi, misalnya mode getaran tertentu tidak boleh menghilang, maka Anda harus melihat integrator symplectic seperti Verlet.

Anda juga dapat mengatasi batas regangan nol jika suka. Dengan istilah inersia, model dapat diformulasi ulang dalam hal sudut, yang mengarah ke sistem ODE yang tidak kaku. Seperti yang ditunjukkan faleichik, ini adalah ROPEmasalah pengujian yang dipertimbangkan dalam buku Hairer, Nørsett, dan Wanner. Jika Anda membuang inersia tali itu sendiri, tetapi membiarkannya kendur (ringan, tali rentang rendah dengan muatan diskrit; bukan model umum), masalahnya menjadi ketimpangan variasional diferensial (DVI) dan Anda biasanya tidak bisa mendapatkan yang lebih baik daripada akurasi urutan pertama dalam waktu.


2
HMM adalah metode pengurangan model berbasis proyeksi, pada dasarnya. Saya ragu merekomendasikan metode semacam itu kecuali ada permintaan khusus dari mereka; kita harus rela mengorbankan akurasi demi kecepatan. Menentukan pilihan "baik" dari operator kompresi dan rekonstruksi (menggunakan nomenklatur HMM) tetap tidak penting untuk beberapa aplikasi (pembakaran adalah salah satu contohnya).
Geoff Oxberry

@ GeoffOxberry Setuju, saya menambahkan peringatan. Masalah klasiknya adalah bagaimana getaran mekanis dalam suatu jam menyebabkan pergeseran. Contoh masalah yang saya pikir akan sesuai adalah pemodelan creep / slip tali di sekitar penggulung yang dipercepat oleh mode getaran dari sisi yang dimuat. Tidak semuanya pembakaran. ;-)
Jed Brown

Batas nol-regangan pada dasarnya adalah satu-satunya hal yang saya coba pada saat ini. Osilasi skala halus akan bagus, tetapi kain inelastik yang terlalu halus lebih disukai saat ini. Saya telah mencoba melangkah waktu secara implisit (melalui formulasi OpenCloth), dan sayangnya masalahnya masih terjadi. Bisakah Anda menguraikan / memberikan tautan tentang cara menjalankan paragraf terakhir Anda? Terima kasih,
imallett

2

Jika Anda tertarik pada solusi cepat dan perkiraan, maka metode yang digunakan dalam efek digital seperti geometri diferensial diskrit mungkin menarik bagi Anda. Saya mengetahui formulasi kuasiistik dalam Discrete Elastic Rods , sebuah makalah 2008 dari kelompok Grinspun di Universitas Columbia, tetapi mungkin ada literatur yang lebih baru di bidang ini.


2

Pergerakan tali gantung adalah masalah uji yang dicintai Hairer dan Wanner yang muncul dalam volume kedua (kaku) dari "Memecahkan Persamaan Diferensial Biasa" dan dalam edisi kedua dari volume pertama (1993). Saya merekomendasikan opsi terakhir, halaman 247. Persamaannya sulit untuk diturunkan dan algoritma solusi numeriknya tidak mudah. Meskipun pada akhirnya steppers waktu konvensional konvensional seperti DOPRI, RK45 atau ODEX diterapkan dan berperilaku cukup baik, sehingga masalahnya tidak terlalu kaku.


1
The ROPEmasalah dari model buku tali yang tidak meregang, dengan dinamika didominasi oleh efek inersia. Pertanyaannya tampaknya bertanya tentang tali yang membentang.
Jed Brown
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.