আপনি কীভাবে সংখ্যাসূচক কোডটি ডিবাগ করবেন, এই দোলক ত্রুটির উত্সটি কী হতে পারে?


16

নিরিবিলিভাবে অনেক অন্তর্দৃষ্টি ফর্ম অভিজ্ঞতা অর্জন করা যেতে পারে, আমি কেবল ভাবছিলাম যে এর আগে কেউ এরকম কিছু দেখেছে কিনা। প্লটটি অ্যাডভেকশন-ডিফিউশন সমীকরণের প্রাথমিক অবস্থা (সবুজ) দেখায়, তারপরে পুনরাবৃত্তি 200 (নীল) এ সমাধান এবং তারপরে আবার পুনরাবৃত্তি 400 (লাল) হয়।

দোল ত্রুটি

অ্যাডভেকশন-ডিফিউশন সমীকরণের সমাধানটি কয়েক পুনরাবৃত্তির পরে ফুরিয়ে যায়। প্লেলেট নম্বর , এবং সিএফএল শর্তটি সন্তুষ্ট, সি 0.0015 , সুতরাং সমীকরণগুলি স্থিতিশীল হওয়া উচিত । আমি অনুমান করি যে সংখ্যার কোডে আমার একটি বাগ আছে।μ0.07সি0,0015

পটভূমি। বিযুক্তি অ্যাডভেকশন এবং প্রসারণ উভয় পদেই কেন্দ্রীয় পার্থক্য। আমি বিশ্বাস করি এটি হ'ল প্রথম অর্ডার এবং প্রচারের জন্য দ্বিতীয় আদেশ। আমি এটিকে একটি সীমাবদ্ধ-ভলিউম পদ্ধতির (প্রথমবারের মতো) ব্যবহার করে প্রয়োগ করেছি যাতে কোষের মুখের কণিফলগুলি (বেগ এবং প্রসারণ সহগ) মানগুলি ঘর গড় থেকে রৈখিক বিরতি দ্বারা পাওয়া যায়। আমি বাম এবং ডান পৃষ্ঠগুলিতে রবিনের সীমানা শর্তটি প্রয়োগ করি এবং সীমানায় ফ্লাক্সকে শূন্যে সেট করি।

আপনি কীভাবে আপনার সংখ্যাসূচক কোডটি ডিবাগ করবেন? এর আগে কেউ এরকম কিছু দৃশ্য করেছে, সন্ধান শুরু করার জন্য ভাল জায়গা কোথায় হবে?

হালনাগাদ

  • অ্যাডভেকশন-ডিসফিউশন সমীকরণের জন্য একটি সীমাবদ্ধ ভলিউম পদ্ধতি বাস্তবায়নের বিষয়ে আমার ব্যক্তিগত "ল্যাব বই" শৈলীর নোটগুলি এখানে রয়েছে: http://danieljfarrell.github.io/FVM/
  • পাইথনের উত্স কোডটি এখানে উপলব্ধ, http://github.com/danieljfarrell/FVM.git

হালনাগাদ

সমাধান আরও সহজ হতে পারে না! আমি মাত্র ছড়িয়ে পড়া শব্দে একটি সাইন ত্রুটি করেছি। এটি আশ্চর্যের বিষয়, আমি নিশ্চিত যে এটি পোস্ট না করে আমি ত্রুটিটি খুঁজে পেতাম না! কেউ যদি তাদের সংখ্যাসূচক কোডটি ডিবাগ করে সে সম্পর্কে টিপস ভাগ করতে চান তবে আমি এখনও আগ্রহী। আমার কোনও পদ্ধতি নেই, এটি কিছুটা হিট এবং মিস, আমি ক্লুগুলি পেতে স্টাফ চেষ্টা করে চলি তবে এই প্রক্রিয়াটি কয়েক সপ্তাহ (কখনও কখনও) নিতে পারে।

প্রুফ এটি কাজ করে ( এনবি যে সীমাবদ্ধতা-ভলিউম পদ্ধতির সাহায্যে অঞ্চলটি গণনা করতে আপনাকে যা করতে হবে তা হ'ল সমস্ত কোষের জন্য প্রস্থ উচ্চতার সংমিশ্রণ , যদি আপনি numpy.trapz এর মতো কোনও সংহত পদ্ধতি ব্যবহার করেন তবে আপনার ফলাফলগুলি সংখ্যাসূচক ত্রুটি অন্তর্ভুক্ত করে ট্র্যাপিজিয়াম পদ্ধতির)। এখানে কি হচ্ছে? একটি স্থির বেগ এবং প্রসারণ সহগ রয়েছে তবে বন্ধ সীমাবদ্ধ শর্তের সাথে with সুতরাং সীমানায় আমরা বেগের ক্ষেত্রটি ডানদিকে ঠেলে এবং বাম দিকে ছড়িয়ে দেওয়া ধাক্কার মধ্যবর্তী সাম্যাবস্থাটি দেখতে পাচ্ছি।×

সীমাবদ্ধ-ভলিউম পদ্ধতির মাধ্যমে বদ্ধ সীমানা অবস্থার সাথে অ্যাডভেকশন-বিস্তারের সমীকরণ।


2
আপনি কোন ধরণের বিচক্ষণতা ব্যবহার করছেন? কোন অর্ডার পদ্ধতি? আপনার সীমানা পরিস্থিতি কি?
জেফ অক্সবেরি

আপনাকে ধন্যবাদ জিফঅক্সবেরি, আমি আরও বিশদ সহ আপডেট করেছি। যদিও আমি সত্যিই বুঝতে পেরেছি আপনি উপরের গিথুব লিঙ্কে আমার ল্যাব বইয়ের নোটগুলি পড়তে পারেন।
বয়ফ্যারেল

2
θ=0,0.5,1

1
একটি=0<0

উত্তর:


9

আমি এখানে সংখ্যার কোডগুলি ডিবাগ করার বিষয়ে আমার কিছু অভিজ্ঞতা সংগ্রহ করেছি: ডিল.আইআই এফএকিউ: ডিবাগিং । আমি জানি না যে এটি আপনাকে এই বিশেষ ক্ষেত্রে সহায়তা করেছিল কিনা, তবে এটি অন্যদের মধ্যেও হতে পারে।


হাই, প্রকল্পটি সরানোর সময় সেই লিঙ্কটি ভেঙে গেল - এখনই কি ঠিক এটি? github.com/dealii/dealii/wiki/…
হাইপারপ্যালিয়াম

হ্যাঁ, এটি সঠিক। আপনার মন্তব্যে এটি আপডেট করার জন্য ধন্যবাদ!
ওল্ফগ্যাং ব্যাঙ্গার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.