पूरी तरह से बंद न्यूमैन सीमा स्थितियों (सीमा पर प्रतिबिंब) के साथ परिमित-अंतर द्वारा संवहन समीकरण को हल करते समय अजीब दोलन


33

मैं उत्तोलन समीकरण को हल करने की कोशिश कर रहा हूं, लेकिन समाधान में एक अजीब दोलन दिखाई देता है जब लहर सीमाओं से प्रतिबिंबित होती है। अगर किसी ने इस कारण को देखा है तो इससे पहले कि मैं इसका कारण जानूं और इससे कैसे बचा जा सकता हूं!

यह एक एनिमेटेड जिफ है, एनीमेशन को देखने के लिए अलग विंडो में खुला है (यह केवल एक बार ही चलेगा या एक बार बंद होने पर नहीं चलेगा!) एक गाऊसी नाड़ी का प्रसार

ध्यान दें कि जब तक लहर पहली सीमा से प्रतिबिंबित नहीं होती तब तक प्रसार अत्यधिक स्थिर लगता है। आपको क्या लगता है कि यहां क्या हो सकता है? मैंने अपना कोड जाँचने में कुछ दिन बिताए हैं और मुझे कोई त्रुटि नहीं मिल सकती है। यह अजीब है क्योंकि दो प्रचार समाधान प्रतीत होते हैं: एक सकारात्मक और एक नकारात्मक; पहली सीमा से प्रतिबिंब के बाद। समाधान आसन्न जाल बिंदुओं के साथ यात्रा करता प्रतीत होता है।

कार्यान्वयन विवरण का पालन करें।

संवहन समीकरण,

ut=vux

जहां प्रसार वेग है।v

क्रैंक-निकोलसन एक बिना शर्त (पीडीएफ लिंक) है , जो कि गए एडवेंशन समीकरण के लिए स्थिर विवेक है, धीरे-धीरे अंतरिक्ष में अलग-अलग हो रहा है (केवल फूरियर रूपांतरण होने पर कम आवृत्तियों वाले घटक होते हैं)।u(x)

मैंने जो विवेक किया है वह है,

ϕjn+1ϕjnΔt=v[1β2Δx(ϕj+1nϕj1n)+β2Δx(ϕj+1n+1ϕj1n+1)]

अज्ञात को दाईं ओर रखने पर यह रैखिक रूप में लिखा जा सकता है,

βrϕj1n+1+ϕjn+1βrϕj+1n+1=(1β)rϕj1n+ϕjn+(1β)rϕj+1n

जहाँ (वर्तमान और भविष्य के बिंदु के बीच समान रूप से भारित समय लेने के लिए) और ।β=0.5r=vΔt2Δx

समीकरण के इन सेट में मैट्रिक्स फॉर्म , कहाँ हैAun+1=Mun

A=(1βr0βr1βrβr1βr0βr1)

M=(1(1β)r0(1β)r1(1β)r(1β)r1(1β)r0(1β)r1)

वैक्टर और उस मात्रा के लिए ज्ञात और अज्ञात हैं जिसे हम हल करना चाहते हैं।unun+1

मैं तब बाईं और दाईं सीमाओं पर बंद न्यूमैन सीमा शर्तों को लागू करता हूं । बंद सीमाओं से मेरा मतलब है कि दोनों इंटरफेस पर । बंद सीमाओं के लिए यह पता चलता है कि (मैं अपना काम यहां नहीं दिखाऊंगा) हमें बस उपरोक्त मैट्रिक्स समीकरण को हल करने की आवश्यकता है। जैसा कि @DavidKetcheson द्वारा बताया गया है, उपरोक्त मैट्रिक्स समीकरण वास्तव में डिरिचलेट सीमा स्थितियों का वर्णन करते हैं । न्यूमैन सीमा शर्तों के लिए,ux=0

A=(100βr1βrβr1βr001)

अद्यतन करें

मेरे द्वारा उपयोग किए जाने वाले स्थिरांक की पसंद से व्यवहार काफी स्वतंत्र लगता है, लेकिन ये आपके द्वारा ऊपर दिए गए भूखंड के लिए मान हैं:

  • v = 2
  • dx = 0.2
  • dt = 0.005
  • σ = 2 (गाऊसी hwhm)
  • β = 0.5

अपडेट II

गैर-शून्य प्रसार गुणांक, (नीचे टिप्पणी देखें) के साथ एक सिमुलेशन , दोलन दूर हो जाता है, लेकिन लहर अब प्रतिबिंबित नहीं करती है !? मुझे समझ में नहीं आता क्यों?D=1

प्रसार और संवहन


आपने लिए क्या लिया ? v
क्रिस

v=2उन सिमुलेशन में । मैं सिमुलेशन सेटिंग के साथ अपडेट करूंगा। अच्छा विचार।
बॉयफ्रेल

तब मैं उम्मीद करूंगा कि प्रारंभिक स्थिति को दाईं ओर दिया जाएगा और सही सीमा के माध्यम से गायब हो जाएगा। यह सब ध्यान में आता है कि केंद्रीय योजना जब तक सेल पेलेट संख्या 2 के साथ उत्तोलन-प्रसार समीकरण पर लागू नहीं होती है, तब तक अपवर्तक योजना का प्रयास कर सकती है?
क्रिस

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

मैं सोच रहा था , इसलिए संकेत ठीक है। दूसरी साजिश मुझे ठीक लगती है। आप कुछ भी प्रतिबिंबित करने की उम्मीद क्यों करेंगे? यह तभी हो सकता है जब परिवर्तन किसी भी तरह से हस्ताक्षर करें। केंद्रीय योजना के बजाय उत्तोलन के लिए अपवर्जित योजना के साथ प्रयास करें, फिर आपको लिए कुछ समान दिखना चाहिए । tu+vxu=0vD=0
क्रिस

जवाबों:


28

जिस समीकरण को आप हल कर रहे हैं वह सही-सही समाधानों की अनुमति नहीं देता है, इसलिए इस समीकरण के लिए एक प्रतिबिंबित सीमा स्थिति जैसी कोई चीज नहीं है। यदि आप विशेषताओं पर विचार करते हैं, तो आपको एहसास होगा कि आप केवल सही सीमा पर एक सीमा शर्त लगा सकते हैं। आप बाईं सीमा पर एक सजातीय डिरिचलेट सीमा स्थिति लगाने की कोशिश कर रहे हैं, जो गणितीय रूप से अमान्य है।

पुनरावृत्ति करने के लिए: विशेषताओं की विधि कहती है कि समाधान को किसी भी स्थिर लिए फॉर्म की किसी भी रेखा के साथ स्थिर होना चाहिए । इस प्रकार बाईं सीमा के साथ समाधान आपके समस्या डोमेन के पहले के समय में समाधान द्वारा निर्धारित किया जाता है; आप वहां समाधान नहीं थोप सकते।xνt=CC

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

जोर देने के लिए: आपने पूर्ण प्रारंभिक-सीमा मूल्य समस्या नहीं लिखी है जिसे आप हल करने का प्रयास कर रहे हैं। यदि आप करते हैं, तो यह स्पष्ट होगा कि यह गणितीय रूप से अच्छी तरह से सामने की समस्या नहीं है।

मुझे खुशी है कि आपने इसे यहाँ पोस्ट किया है, हालाँकि, जब आप एक समस्या का अच्छी तरह से चित्रण कर सकते हैं, जब आप एक समस्या को अच्छी तरह से उजागर नहीं कर सकते हैं, और परजीवी मोड की घटना। मेरे सवाल के लिए एक बड़ा +1।


चर्चा और सुधार के लिए धन्यवाद। मैंने सराहना नहीं की थी कि मैट्रिक्स में विभेदक समीकरण के समान गुण नहीं होंगे । अनुसरण करने के लिए और अधिक टिप्पणियाँ ...
boyfarrell

हां, अब मैं देखता हूं कि ये वास्तव में डिरिक्लेट की सीमाएं कैसी हैं जिन्हें मैंने सुधार के लिए ऊपर नोट किया है। यह पहली बार है जब मैंने (इन दिनों) इन समीकरणों को हल करने की प्रक्रिया को समझने की कोशिश की है, मैं सड़क पर धक्कों को मारता रहता हूं। मैं अपनी प्रगति के बाद खुश हूँ!
बॉयफ्रेल

@ डेविड केचेसन: मैं एक ही समस्या में चल रहा हूं और अपनी समस्या निम्न लिंक में पोस्ट की है scicomp.stackexchange.com/questions/30329/ ... क्या आप मुझे समझा सकते हैं कि आप यह क्यों कहते हैं कि समस्या गणितीय रूप से अच्छी तरह से सामने नहीं आई है " ? धन्यवाद।
हरमन जारमिलो

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

1
@HermanJaramillo: "गणितीय रूप से अच्छी तरह से प्रस्तुत नहीं" मूल रूप से इसका मतलब है कि सीमा पर एक फ़ंक्शन मान के लिए आपके पास दो समीकरण हैं, सीमा स्थिति और साथ ही पीडीई। सामान्य तौर पर, वे दो समीकरण एक-दूसरे के विपरीत होते हैं। आम तौर पर, कोई इसे अनुकूलन समस्या के रूप में मान सकता है जिसमें दोनों उद्देश्यों को यथासंभव अच्छे से संतुष्ट किया जाना है।
davidhigh

0

मैंने ऊपर के उत्तरों से बहुत कुछ सीखा। मैं इस जवाब को शामिल करना चाहता हूं क्योंकि मेरा मानना ​​है कि यह समस्या को अलग-अलग अंतर्दृष्टि प्रदान करता है।

आइए हम निरंतर wavespeed साथ समीकरण पर विचार करें ।

uxx+1cutt=0.
c

प्रारंभिक और सीमा स्थितियों के बिना इस समीकरण में फॉर्म का एक समाधान है । (दाईं ओर एक नाड़ी चलती है)u(x,t)=f(xct)

यदि हम एक प्रारंभिक स्थिति , तो अंतराल का समीकरण में हल होता है जो । कोई सीमा नहीं है और वह समाधान है।u(x,t0)=p(x)x(,)p[xc(tt0)]

अब, मान लेते हैं कि हम सभी कंप्यूटरों की सीमित मेमोरी के बाद एक बंधे हुए डोमेन को परिभाषित करते हैं । फिर हमें और पर मूल्यों को निर्दिष्ट करने की आवश्यकता है , अन्यथा कम्प्यूटेशनल रूप से हम फंस गए हैं।x[a,b]ab

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

u(a,t0)=0,u(b,t0)=p[bc(tt0)].

यह दाईं ओर चलने वाली एक नाड़ी का उत्पादन करता है जब तक कि यह दाहिने किनारे पर गायब नहीं हो जाता।

बाईं ओर डारिचलेट पर एनीमेशन के लिए यहाँ धक्का

मुझे अभी भी कुछ शोर है जो मुझे समझ नहीं आ रहा है (कृपया यहाँ कोई मदद कर सकता है?)

अन्य विकल्प आवधिक सीमा की शर्तों को लागू करना है। इसके बजाय बायीं तरफ डिरिक्लेट बाउंड्री कंडीशन लगाने के बजाय हम वेव पैकेट को लगा सकते हैं जो बायीं तरफ की बाउंड्री के अनुरूप है। अर्थात्:

u(a,t0)=p[ac(tt0)],u(b,t0)=p[bc(tt0)].

हालांकि के लिए और , और तब से हम अंतराल के अंदर डेटा लगाने की जरूरत है हम एक जोड़ने की लंबाई का "अवधि" और उसके बाद हम पाते हैं , ताकि बाईं तरफ की स्थिति ) (वही!) हो और हमें पल्स से बाहर निकलने की पल्स हो! दाईं ओर और बाईं ओर प्रवेश करते हुए।ac(tt0)<at>t0c>0[a,b]baac(tt0)+ba=a+b(tt0)u(a,t0)=p[bc(tt0]

यह लिंक दिखाता है कि मैं आवधिक सीमा की स्थिति को क्या कहूंगा।

मैंने अजगर में एनिमेशन बनाया और योजना एक क्रैंक-निकोल्सन योजना है जैसा कि यहां प्रश्न में दिखाया गया है।

मैं अभी भी शोर पैटर्न के साथ संघर्ष कर रहा हूं क्योंकि लहर पहली (दाएं) सीमा से टकराती है।


1
मैं अपने मोबाइल फोन में एनीमेशन नहीं देख सकता था, लेकिन मेरा मानना ​​है कि आपका शोर पैटर्न संख्यात्मक सटीकता गायब होने के कारण होता है। अवशोषण केवल इसलिए काम करता है क्योंकि आप सीमा पर सटीक समाधान लागू करते हैं। इस सटीक समाधान को लिखें, सही सीमा पर आने वाला संख्यात्मक समाधान आवृत्ति और चरण में थोड़ा भिन्न होता है। यह फिर से प्रतिबिंब और इस प्रकार हस्तक्षेप की ओर जाता है।
दाविदघ

@davidhigh: आपकी जानकारी के लिए धन्यवाद। मैं इसकी जांच करूंगा। मुझे खेद है कि एनीमेशन आपके फोन में काम नहीं किया। यह मेरे फोन (सैमसंग) में भी काम नहीं करता था। यह फोन में कुछ गायब सॉफ्टवेयर हो सकता है। इसे कंप्यूटर में काम करना चाहिए। एक बार फिर धन्यवाद।
हरमन जरामिलो

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

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

@davidhigh: पल्स की सीमा के हिट होने के बाद मैं शोर के बारे में आपकी अंतर्दृष्टि पर थोड़ा सोच रहा हूं। मेरा मानना ​​है कि आप सही हैं और सटीक विश्लेषणात्मक समाधान और संख्यात्मक प्रसार नाड़ी के बीच अंतर है। सीमा में जो थोड़ा अंतर होता है वह वहां दिखाई देने वाले छोटे शोर पैटर्न को उत्पन्न करता है। इस चर्चा में दिखाया गया CN advection system dispersive है और मेरा मानना ​​है कि पल्स को बाउंड्री मारने से पहले फैलाव पर ध्यान नहीं दिया जाता है, यह ट्रिगर हो सकता है लेकिन बाउंड्री पर छोटे perturbation (विश्लेषणात्मक और संख्यात्मक समाधान के बीच अंतर)। एक बार फिर धन्यवाद।
हरमन जरामिलो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.