আমি ফলস্ট্যাড সিমুলেটারের কোডটি কিছু বিশদে পরীক্ষা করেছি। সার্কিটগুলির জন্য যা কেবলমাত্র রেজিস্টর, সুইচ এবং ভোল্টেজ উত্সের মতো লিনিয়ার উপাদানগুলি সমন্বিত করে (লজিক-গেট আউটপুটগুলির মতো জিনিসকে সিমুলেশনের উদ্দেশ্যে গ্রাউন্ড-কানেক্টেড ভোল্টেজ উত্স হিসাবে বিবেচনা করা হয়) সিমুলেটর প্রতিটি সার্কিট নোড, ভোল্টেজ উত্স (দুটি নোড সংযোগ করে) সম্পর্কিত করে , বা তারের (একইভাবে) একটি রৈখিক সমীকরণ এবং একটি ভেরিয়েবল সংজ্ঞা হিসাবে যেমন সমীকরণের সংখ্যা এবং ভেরিয়েবলের সংখ্যা সর্বদা সমান হয়। একটি সার্কিট নোডের জন্য, চলকটি নোডের ভোল্টেজ এবং সমীকরণটি এর মধ্য দিয়ে প্রবাহিত মোট বর্তমানকে কোনও বর্তমান উত্স দ্বারা ইনজেকড মোট বর্তমানের সমান করে। একটি ভোল্টেজ উত্স বা তারের জন্য (তারের একটি ভোল্টেজ উত্স হিসাবে পরিচালনা করা হচ্ছে যেখানে সম্ভাব্য পার্থক্য শূন্য),
বর্তমান উত্স এবং প্রতিরোধকের মতো বিষয়গুলি প্রতিরোধক বা ভেরিয়েবলের সাথে সম্পর্কিত নয়। পরিবর্তে, বর্তমান উত্সগুলি একটি সার্কিট নোডের জন্য প্রয়োজনীয় মোট বর্তমানকে বৃদ্ধি করে (মনে রাখবেন প্রতিটি সার্কিট নোডের একটি সমীকরণ রয়েছে যা প্রবাহিত এবং প্রবাহিত মোট বর্তমানের মূল্যায়ন করে) এবং অন্যটির জন্য এটি হ্রাস করে। প্রতিরোধকরা একটু কৌশলযুক্ত: প্রতিটি সমাপ্তির সমীকরণের জন্য, প্রতিরোধক প্রতিটি প্রান্তের নোড ভোল্টেজের জন্য পদ যুক্ত করে।
উদাহরণস্বরূপ, একটি 100-ওহম প্রতিরোধক নোড 1 এবং 2 সংযোগকারী বলবে যে নোড 1 এ প্রতিটি ভোল্ট বৃদ্ধি নোড 1 এ প্রবাহিত প্রবাহকে নোড 1 দ্বারা 0.01 এমপিএস হ্রাস করবে এবং নোড 2 এ প্রবাহিত পরিমাণকে সমান পরিমাণে বাড়িয়ে তুলবে। একইভাবে নোড ২-তে প্রতিটি ভোল্ট বৃদ্ধি নোড 1-তে প্রবাহিত প্রবাহকে 0.01 এমপিএস দ্বারা বৃদ্ধি করবে এবং নোড 2-তে প্রবাহিত পরিমাণকে একই পরিমাণে হ্রাস করবে।
নোড 1 এবং 5 সংযোগকারী 10 ভোল্ট সরবরাহ এবং 100 ওহম প্রতিরোধক নোড 1 এবং 2, 2 এবং 3, 2 এবং 4, এবং 3 এবং 4 সংযোগকারী একটি সার্কিট বিবেচনা করুন এবং আরও ধরে নিন যে নোড 1 এ একটি গ্রাউন্ড আইকন রয়েছে। সুতরাং:
neg ---+-1---R100---2---R100---3---100---4---pos
gnd | |
+---------100--------+
দুটি "ভোল্টেজ উত্স" থাকবে: স্থল সীসা এবং 10 ভোল্ট সরবরাহ (যা যথাক্রমে সমীকরণ / ভেরিয়েবল 5 এবং 6 হিসাবে বিবেচিত হয়)। সমীকরণগুলি এইভাবে হবে:
-X1*0.01 +X5 -X6 = 0 Node 1
+X1*0.01 -X2*0.01 +X4*0.01 = 0 Node 2
+X2*0.01 -X3*0.01 +X4*0.01 = 0 Node 3
+X2*0.01 -X4*0.01 +X6 = 0 Node 4
-X1*1 = 0 Volts 5 (voltage between 1 and gnd)
-X1*1 +X4*1 = 10 Volts 6 (voltage between 1 and 4)
এই সমীকরণের সিস্টেমটি একটি এনএক্সএন ম্যাট্রিক্স প্লাস একটি এন আইটেম অ্যারে হিসাবে উপস্থাপিত হতে পারে। প্রতিটি সমীকরণ ম্যাট্রিক্সের একটি সারি দ্বারা প্রতিনিধিত্ব করা হয় এবং প্রতিটি সারিটির মান প্রতিটি ভেরিয়েবলের সহগকে উপস্থাপন করে। প্রতিটি সমীকরণের ডান হাত পৃথক অ্যারেতে সঞ্চয় করা হয়। সমীকরণগুলি সমাধান করার আগে, আপনি প্রতিটি নোডে প্রবাহিত নেট প্রবাহ (এই ক্ষেত্রে শূন্য), এবং ভোল্টেজ উত্স দ্বারা সংযুক্ত নোডের জোড়ার মধ্যে ভোল্টেজের পার্থক্য জানতে পারবেন। সমীকরণগুলি সমাধান করা প্রতিটি নোডে ভোল্টেজ এবং প্রতিটি ভোল্টেজ উত্সের মধ্য দিয়ে প্রবাহিত বর্তমানের উত্পন্ন করবে।
যদি সার্কিটটিতে ক্যাপাসিটার থাকে, তবে তাদের প্রত্যেককেই নিম্ন-মানের প্রতিরোধকের সাথে সিরিজের ভোল্টেজ উত্স হিসাবে বিবেচনা করা হবে; প্রতিটি সিমুলেশন পদক্ষেপের পরে, ভোল্টেজ উত্সটি তার মধ্য দিয়ে প্রবাহিত প্রবাহের পরিমাণ অনুসারে সামঞ্জস্য করা হবে। সূচকগুলি উচ্চ-মানের প্রতিরোধক হিসাবে বিবেচিত হবে যা একটিকে কারেন্ট খাওয়ায় এবং অন্যটিকে বের করে দেয় (প্রতিরোধের পুরো ভোল্টেজ অনুযায়ী বর্তমানের পরিমাণ সামঞ্জস্য করা হয়)। ক্যাপাসিটার এবং সূচক উভয়ের জন্য, প্রতিরোধের মান একটি সিমুলেশন পদক্ষেপের দ্বারা প্রতিনিধিত্ব করা সময়ের পরিমাণ দ্বারা নিয়ন্ত্রিত হবে।
ট্রানজিস্টরের মতো আরও জটিল সার্কিট উপাদানগুলিকে ভোল্টেজ উত্স, বর্তমান উত্স এবং প্রতিরোধকের সংমিশ্রণ হিসাবে বিবেচনা করা হয়। সরল সার্কিট উপাদানগুলির বিপরীতে যা প্রতিটি সিমুলেশন সময় ধাপে একবারে প্রক্রিয়াজাত হতে দেয়, ট্রানজিস্টরগুলির মতো উপাদানগুলি তাদের কার্যকর প্রতিরোধের ইত্যাদি গণনা করে ভোল্টেজ এবং স্রোতগুলির উপর ভিত্তি করে যা তারা দেখছে, সমস্ত ফলাফল সমীকরণকে মূল্যায়ন করে এবং তার ভিত্তিতে তাদের প্রতিরোধের পুনরায় মূল্যায়ন করে নতুন ভোল্টেজ এবং স্রোত, সমীকরণ ইত্যাদির পুনর্নির্মাণ ইত্যাদি একটি ভারসাম্য পৌঁছানোর প্রয়াসে যেখানে তাদের কার্যকর প্রতিরোধের যেমন ভোল্টেজের জন্য হওয়া উচিত এবং বর্তমান ট্রানজিটারটি দেখছে।
ফালস্ট্যাড সিমুলেটর মাঝারি আকারের সার্কিটগুলির জন্য পুরোপুরি "রৈখিক" উপাদানগুলির সমন্বয়ে খুব দ্রুত গতিযুক্ত হতে পারে। সমীকরণের সিস্টেমটি বারবার সমাধান করার সময়টি বেশ যুক্তিসঙ্গত যদি পরিবর্তিত হয় কেবলমাত্র ডান পাশের সহগগুলি। সময়টি অনেক ধীর হয়ে যায় যদি বাম দিকটি পরিবর্তিত হয় (যেমন ট্রানজিস্টরের কার্যকর প্রতিরোধের উপরে বা নীচে যায়) কারণ সিস্টেমটি সমীকরণগুলিকে "রিফ্যাক্টর" করতে হয়। সিমুলেশন স্টেপ প্রতি একাধিকবার রিফ্যাক্টর সমীকরণগুলি করা (ট্রানজিস্টারের সাথে প্রয়োজনীয় হতে পারে) জিনিসগুলি এখনও ধীর করে তোলে।
প্রতিটি কিছুর জন্য একটি বড় ম্যাট্রিক্স ব্যবহার করা বড় সিমুলেশনগুলির জন্য ভাল পদ্ধতির নয়; যদিও ম্যাট্রিক্স মোটামুটি বিচ্ছিন্ন হবে, এটি নোড প্লাস ভোল্টেজ উত্সের সংখ্যার বর্গক্ষেত্রের সমানুপাতিক স্থান গ্রহণ করবে। প্রতিটি সিমুলেশন পদক্ষেপে ম্যাট্রিক্স সমাধানের জন্য প্রয়োজনীয় সময়টি মেট্রিক্স আকারের বর্গক্ষেত্রের সমানুপাতিক হবে যদি রিফ্যাক্টরিংয়ের প্রয়োজন হয় না, বা যদি রিফ্যাক্টরিং প্রয়োজন হয় তবে ম্যাট্রিক্স আকারের ঘনক্ষেত্রের হয়। যাইহোক, সার্কিট এবং রৈখিক সমীকরণের ব্যবস্থার মধ্যে সম্পর্ক দেখানোর ক্ষেত্রে পদ্ধতির একটি নির্দিষ্ট কমনীয়তা থাকে।