महत्वाकांक्षी सटीकता स्केलेबल रस्सी सिमुलेशन


12

मैं एक रस्सी वस्तु का अनुकरण करने की कोशिश कर रहा हूं। मैं जो सूत्रीकरण समझता हूं वह कणों की एक सरणी है, जो स्प्रिंग्स द्वारा जुड़ा हुआ है। इन स्प्रिंग्स में बहुत बड़े k-मान होते हैं, जिससे कि रेखा ख़राब हो जाती है, लेकिन बहुत कम फैलती है। मैंने यह निष्कर्ष निकाला है कि इसे समय के कार्य के रूप में हल करना बंद-रूप में संभव नहीं है क्योंकि रस्सी एक पेंडुलम का सामान्यीकरण है (जो बंद-रूप नहीं है)।

लगभग समाधान के लिए बसने, फिर। मुझे एक एल्गोरिथ्म की आवश्यकता है जो अच्छी तरह से तराजू। उदाहरण मैंने देखा है कि कणों को स्थानांतरित करने के लिए या तो स्पष्ट या निहित यूलरियन एकीकरण का उपयोग किया जाता है। यह पैमाना नहीं है।

इसे देखने के लिए, एन नोड्स के साथ एक रस्सी पर विचार करें। एक छोर पर एक बड़ी ताकत लागू करें। क्योंकि रस्सी को बहुत अधिक नहीं खींचना चाहिए, दूसरे छोर पर त्वरण तत्काल होना चाहिए।

हालांकि, यूलरियन एकीकरण के साथ, दूसरे छोर पर किसी भी बल को प्राप्त करने के लिए एन चरणों की आवश्यकता होती है। मैं एक घातीय गिरावट को नोटिस करता हूं: यदि पहला नोड एक निश्चित राशि को तेज करता है, तो आसन्न नोड्स कम गति करते हैं (यदि वे एक ही दर से गति करते हैं, तो एल्गोरिथ्म स्थिर नहीं है)। नतीजतन, नोड्स से सटे कि नोड भी धीमी में तेजी लाने!

तो, एन नोड दूर के लिए, त्वरण लगभग नगण्य है। यह रस्सी की ओर जाता है जो महत्वपूर्ण रूप से फैलता है। यदि आप केवल सिमुलेशन के संकल्प को दोगुना करना चाहते हैं, तो आपको अचानक समान व्यवहार प्राप्त करने के लिए समय कदम उठाने की आवश्यकता होती है जो दसियों या सैकड़ों गुना छोटे होते हैं।

मैं एक सरल विधि की तलाश में हूं जो इस समस्या को हल करती है - यानी, उच्च रिज़ॉल्यूशन सिमुलेशन केवल बहुपद समय अतिरिक्त गणना के साथ समाधान में परिवर्तित होते हैं। मैट्रिक्स और रैखिक बीजगणित तकनीकों की एक पूरी लाइब्रेरी उपलब्ध है। शास्त्रीय यांत्रिकी का मेरा ज्ञान बहुत अच्छा है, और मैं कुछ संख्यात्मक विश्लेषण जानता हूं।


ऐसा लगता है कि आरके की तरह उप-स्टेपिंग एल्गोरिदम संचार को गति देगा (नोड्स / स्टेप में मापा जाता है), जो उप-चरणों की संख्या के बराबर एक कारक द्वारा होता है, लेकिन वास्तविक कम्प्यूटेशनल समय के संदर्भ में यह एक जीत से ज्यादा नहीं हो सकता है। । वास्तव में सामान्य होने के लिए, आपको संभवतः यह गणना करने की आवश्यकता है कि आप किसी टाइमस्टेप (यानी ) में प्रचार करने के प्रभाव की कितनी उम्मीद करते हैं , और उस लंबाई पर तनाव के एक हेयुरिस्टिक अनुप्रयोग से शुरू करें - आराम करें। vरोंटी
dmckee --- पूर्व-मध्यस्थ बिल्ली का बच्चा

@ मिक्की, हाँ, कृपया! आपकी दूसरी टिप्पणी के जवाब में, आदर्श रूप से किसी भी समय में दूर तक प्रभावी ढंग से प्रचार करने के लिए बल चाहिए।
3

ठीक है, ध्वनि की गति संभवतः बहुत अधिक है ... लेकिन अगर आपके समय के कदम 10 एमएस से कम हैं, तो प्रसार की लंबाई अभी भी केवल कुछ मीटर है।
dmckee --- पूर्व-मध्यस्थ ने बिल्ली का बच्चा

मुझे यह जानने की उत्सुकता है कि क्या आपके यहां प्राप्त सुझाव मददगार रहे हैं। मैं मान रहा हूँ कि स्वीकृति की कमी का मतलब है कि आप अभी भी पीछा कर रहे हैं या कि कोई भी उत्तर ठीक वैसा ही नहीं है जिसकी आपने आशा की थी, लेकिन क्या उन्होंने आपको आगे बढ़ने का रास्ता दिखाया है?
dmckee --- पूर्व-संचालक बिल्ली का बच्चा

वे सहायक रहे हैं, लेकिन बहुत सारी चीजें बस एक साथ सामने आईं। मैंने कुछ उत्तरों पर अपने इरादे स्पष्ट कर दिए हैं, और जब मुझे एक राहत मिलती है तो मैं उनका अनुसरण करने में सक्षम हो जाऊंगा। धन्यवाद,
imallett

जवाबों:


4

सबसे पहले, के रूप में जेड ब्राउन ने उल्लेख किया है, तो आप एक अंतर्निहित समय-कदम योजना के रूप में आपकी समस्या काफी कठोर एक अधिक स्थिर लगता है, या कम से कम अभी तक समान रूप से सरल योजना इस तरह के रूप का उपयोग करना चाहिए, मेंढक कूद एकीकरण या Verlet एकीकरण

शारीरिक समस्या के लिए, स्ट्रेचिंग में आपकी कितनी दिलचस्पी है? कणों को कड़े झरनों से जोड़ने के बजाय, आप होलोनोमिक बाधाओं का उपयोग कर सकते हैं , उदाहरण के लिए सुनिश्चित करें कि कणों के जोड़े के बीच की दूरी स्थिर रहती है। बाधाओं को प्रत्येक समय कदम पर हल करने की आवश्यकता होती है, और आपके सेटअप के लिए कुशल एल्गोरिदम मौजूद होते हैं, यानी बाधाओं की एक लंबी लिंक श्रृंखला। उदाहरण के लिए, यह कागज देखें

जिज्ञासा से बाहर, क्या आप इसकी लचीलेपन को मॉडल करने के लिए रस्सी की लंबाई के साथ कोणीय क्षमता का भी उपयोग कर रहे हैं?


यहां तक ​​कि अंतर्निहित समय कदम (जो मदद करता है) का उपयोग करते हुए, खिंचाव होता है। वास्तव में, मैं केवल अनिद्रा को फैलाने में दिलचस्पी रखता हूं क्योंकि मैं इससे छुटकारा पाने की कोशिश कर रहा हूं। कागज में गणित मूल रूप से मेरे सिर पर है, लेकिन मैं फोरट्रान कोड का अध्ययन कर रहा हूं। किसी भी प्रकार की कोणीय बाधाओं का उपयोग नहीं करना।
3

@IanMallett: ठीक है, तो बाधाएं जाने का रास्ता हैं, यानी बाधाओं के साथ बिल्कुल भी खिंचाव नहीं है।
पेड्रो

5

आपके पास वर्तमान सूत्रीकरण के साथ एक कठोर प्रणाली है। स्ट्रिंग में डायनेमिक स्ट्रेचिंग और वाइब्रेशन (संभवतः) निर्बाध रूप से होते हैं, लेकिन वे स्पष्ट समय कदम को नियंत्रित करते हैं। यह एक निहित समय एकीकरण विधि का उपयोग करके इंगित करता है। आप दोलन को रोकने के लिए भिगोना का उपयोग कर सकते हैं जो अंतर्निहित विधि के लिए अनुकूली त्रुटि नियंत्रण को गड़बड़ाने के लिए होगा।

यदि उनके ऊपर कदम रखने के बावजूद (जैसे कि थकान मॉडलिंग के लिए) ठीक-ठीक दोलन करना महत्वपूर्ण है, तो आप नए बहुविकल्पी तरीकों की जाँच कर सकते हैं जैसे कि विषम बहुकोशिकीय विधि (Engquist, Tsai, आदि) या अर्ध- समय विधियों में वर्णक्रमीय। इस तरह के तरीकों का उपयोग एक शोध-स्तरीय विषय है और आपको अपनी समस्या और विधि की क्षमताओं को अच्छी तरह से समझना होगा कि क्या यह उचित हो सकता है। यदि आप ऊर्जा का संरक्षण करना चाहते हैं, उदाहरण के लिए कि कुछ कंपन मोड को फैलाना नहीं चाहिए, तो आपको वेरपेट जैसे सहानुभूतिपूर्ण इंटीग्रेटर्स को देखना चाहिए।

आप चाहे तो जीरो-स्ट्रेच लिमिट को भी हल कर सकते हैं। जड़त्वीय शब्दों के साथ, मॉडल को कोणों के संदर्भ में सुधारा जा सकता है, जिससे एक गैर-कठोर ODE प्रणाली हो सकती है। जैसा कि फेलिकिक ने बताया, यह ROPEहेयरर, नोरसेट और वानर की पुस्तक में विचारित परीक्षण समस्या है। यदि आप खुद रस्सी की जड़ता को त्याग देते हैं, लेकिन असतत लोडिंग के साथ सुस्त (हल्की, कम-खिंचाव वाली रस्सी, न कि एक सामान्य मॉडल) की अनुमति देते हैं, तो समस्या अंतर भिन्नता असमानता (DVI) बन जाती है और आप आम तौर पर पहले के आदेश की सटीकता से बेहतर नहीं हो सकते। समय।


2
एचएमएम एक प्रक्षेपण-आधारित मॉडल कमी विधि है, संक्षेप में। मैं ऐसे तरीकों की सिफारिश करने में संकोच करता हूं जब तक कि कोई एप्लिकेशन विशेष रूप से उनकी मांग न करे; गति के लिए सटीकता का त्याग करने के लिए तैयार रहना होगा। संपीड़न और पुनर्निर्माण ऑपरेटरों के "अच्छे" विकल्पों का निर्धारण करना (HMM के नामकरण का उपयोग करना) कुछ अनुप्रयोगों के लिए nontrivial रहता है (दहन एक ऐसा उदाहरण है)।
ज्योफ ऑक्सीबेरी

@GeoffOxberry सहमत, मैंने एक चेतावनी जोड़ी। एक क्लासिक समस्या यह है कि एक घड़ी में यांत्रिक कंपन कैसे बहाव का कारण बनता है। एक उदाहरण समस्या है कि मुझे लगता है कि उपयुक्त होगा लोडेड पक्ष से कंपन मोड द्वारा त्वरित कैपस्टर के चारों ओर एक रस्सी का रेंगना / पर्ची है। सब कुछ दहन नहीं है। ;-)
जेड ब्राउन

शून्य-खिंचाव-सीमा मूल रूप से केवल एक चीज है जो मैं वास्तव में इस बिंदु पर कोशिश कर रहा हूं। ठीक पैमाने पर दोलनों अच्छा होगा, लेकिन एक अकुशल कपड़ा जो बहुत चिकना है वह अभी बेहतर है। मैंने टाइम स्टेपिंग (ओपनक्लोथ के सूत्रीकरण के माध्यम से) की कोशिश की है, और दुर्भाग्य से समस्या अभी भी है। क्या आप अपने अंतिम पैराग्राफ को निष्पादित करने के बारे में विस्तृत / लिंक दे सकते हैं? धन्यवाद,
imallett

2

यदि आप एक तेज, अनुमानित समाधान में रुचि रखते हैं, तो डिजिटल प्रभावों जैसे असतत विभेदक ज्यामिति में उपयोग की जाने वाली विधियां आपके लिए रुचि की हो सकती हैं। मुझे डिस्क्रेट इलास्टिक रॉड्स में एक क्वासिस्टैटिक फॉर्मुलेशन के बारे में पता है , जो कोलंबिया विश्वविद्यालय में ग्रिंसपुन के समूह का एक 2008 का पेपर है, लेकिन इस क्षेत्र में संभवतः हालिया साहित्य है।


2

हैंगिंग रोप का मूवमेंट हेयरर और वनर की एक प्यारी परीक्षण समस्या है जो "सॉल्विंग ऑर्डिनरी डिफरेंशियल इक्वेशन" के दूसरे (स्टैंग) वॉल्यूम और पहले वॉल्यूम (1993) के दूसरे संस्करण में दिखाई दी। मैं अंतिम विकल्प, पृष्ठ 247 की सिफारिश करता हूं। समीकरण व्युत्पन्न करने के लिए मुश्किल हैं और संख्यात्मक समाधान का एल्गोरिथ्म बहुत सीधा नहीं है। हालांकि अंत में DOPRI, RK45 या ODEX जैसे पारंपरिक स्पष्ट समय के स्टेपर्स लागू होते हैं और बहुत अच्छा व्यवहार करते हैं, इसलिए समस्या वास्तव में कठोर नहीं है।


1
ROPEपुस्तक मॉडल की समस्या एक रस्सी है जो खिंचाव नहीं करती है, जिसमें गतिशीलता जड़त्वीय प्रभावों से प्रभावित होती है। सवाल यह है कि रस्सियों कि खिंचाव के बारे में पूछ रहा है।
जेड ब्राउन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.