OpenModelica/C2/Developing-an-equation-based-model/Bengali

From Script | Spoken-Tutorial
Revision as of 11:53, 23 January 2018 by Kaushik Datta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 Developing an equation based model এর টিউটোরিয়ালে আপনাদের স্বাগত।
00:06 এখানে আমরা শিখব: OMEdit এ textual মডেল বানানো এবং এটি সিমুলেট করা।
00:14 ভ্যারিয়েবল এবং সমীকরণ ঘোষণা করা।
00:17 Simulation Setup টুলবাক্স ব্যবহার করা।
00:21 টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি: OpenModelica 1.9.2 এবং উবুন্টু লিনাক্স অপারেটিং সিস্টেম 14.04.
00:32 কিন্তু, এই প্রক্রিয়া Windows, Mac OS X বা ARM এ FOSSEE তে অনুরূপ।
00:40 টিউটোরিয়ালটি বুঝতে আপনার ফিজিক্যাল সিস্টেমের সমীকরণ-ভিত্তিক মডেলিং জানা প্রয়োজন।
00:48 ভর m এর একটি বলের গতিকে সিমুলেট করি, যা free fall due to gravity তে রয়েছে।
00:54 পৃথিবীর পৃষ্ঠ থেকে বলের উচ্চতা ভ্যারিয়েবল h দ্বারা দেখানো হয়েছে।
00:59 বলের বেগ ভ্যারিয়েবল v দ্বারা দেখানো হয়েছে।
01:04 Acceleration due to gravity কে g দ্বারা দেখানো হয়েছে এবং এটি ধ্রুবক ধরা হয়।
01:10 পৃথিবীর পৃষ্ঠ থেকে দূরে সরানো ভ্যারিয়েবল পজিটিভ বলে মনে করা হয়।
01:16 স্বাধীনভাবে পতিত বডির গতির সমীকরণ নিম্নরূপ: dh/dt = v , dv/dt = g
01:27 t = 0 সময়ে h এর ভ্যালু হল 30 m এবং t = 0 সময়ে v এর ভ্যালু হল 0.
01:37 এখন OMEdit এ যাই। আমি এটি ইতিমধ্যে আমার সিস্টেমে খুলেছি।
01:43 উবুন্টু লিনাক্স অপারেটিং সিস্টেমে OMEdit খুলতে Dash Home আইকনে ক্লিক করুন, যা লঞ্চারের উপরে বামদিকে দেখায়।
01:53 সার্চ বারে OMEdit লিখুন।
01:56 OMEdit আইকনে ক্লিক করুন।
01:59 OMEdit আইকনে ক্লিক করে আপনি এই ধরণের উইন্ডো দেখেন।
02:06 এই উইন্ডো Welcome perspective নামে পরিচিত।
02:09 OMEdit ডিফল্টরূপে Welcome perspective এ খোলে।
02:14 নীচে ডান কোণায়, আপনি Welcome, Modeling এবং Plotting perspective এর বোতাম দেখতে পারেন।
02:23 Modeling perspective এ ক্লিক করুন।
02:26 Modeling perspective এখন খুলেছে।
02:29 আমি modeling area হিসাবে বামদিকে Libraries Browser, নীচে Messages Browser এবং উপরে Toolbar এর মাঝের ক্ষেত্র উল্লেখ করব।
02:41 টুলবারে file operations, graphical view এবং simulation সম্পর্কিত বোতাম রয়েছে।
02:51 আমরা এগোনোর সাথে এই বোতাম সম্পর্কে আরো শিখব।
02:55 এখন Spoken Tutorial ওয়েবপেজে Code Files লিঙ্কে উপলব্ধ freeFall ক্লাস ফাইল ব্যবহার করব।
03:02 এই ফাইলটি ডাউনলোড করে এটি আপনার সিস্টেমে সংরক্ষণ করুন।
03:07 এই ক্লাসটি খুলতে Menu bar এ File মেনুতে যান।
03:13 Open Model/Library File এ ক্লিক করুন।
03:17 freeFall ফাইলটি খুঁজুন যা ডাউনলোড করে আপনার সিস্টেমে সংরক্ষণ করেছেন এবং এটি খুলুন।
03:24 আপনি ফাইল খুলতে Open Model / Library File ও ব্যবহার করতে পারেন, যা আমার কার্সার নির্দেশ করছে।
03:34 লক্ষ্য করুন freeFall আইকন Libraries Browser এ দেখায়।
03:39 Libraries Browser সকল ক্লাস দেখায়, যা OMEdit সেশনে লোড করা হয়েছে।
03:45 freeFall আইকনে ডান ক্লিক করুন এবং View Class চয়ন করুন।
03:52 ক্লাস এখন Diagram ভিউতে খুলেছে।
03:56 ক্লাস Diagram view তে না খুললে চিন্তা করবেন না।
04:00 আমি আপনাকে বিভিন্ন ভিউতে সুইচ করা দেখাবো।
04:04 Modeling area এর উপরে যান।
04:07 লক্ষ্য করুন, দ্বিতীয় বোতাম Diagram view এর জন্য।
04:10 তৃতীয় বোতাম হল Text View.
04:13 Text View তে স্যুইচ করতে এতে ক্লিক করুন।
04:17 ক্লাস এখন Text view তে খোলে।
04:20 লক্ষ্য করুন প্রথম বোতাম Icon View এর জন্য।
04:24 আমরা পরে Icon view এবং Diagram view সম্পর্কে আরো শিখব।
04:29 আপনি freeFall নামে নতুন ক্লাসও বানাতে পারি এবং প্রয়োজনীয় তথ্য লিখতে পারি।
04:36 নতুন ক্লাস বানাতে, File মেনুতে যান।
04:40 New Modelica Class চয়ন করুন।
04:43 যেমনকি দেখাচ্ছে একটি ডায়লগ বাক্স পপ আপ হয়।
04:46 এই ডায়ালগ বাক্সে Name ফীল্ডে, freeFall লিখুন।
04:51 আমি অন্য নাম freeFall ব্যবহার করছি কারণ freeFall ক্লাস ইতিমধ্যে OMEdit খোলা রয়েছে।
04:58 লক্ষ্য করুন দুটি ক্লাসের একই নাম হতে পারে না।
05:03 Specialization ড্রপ ডাউন মেনুতে ক্লিক করুন। Class চয়ন করুন। Ok তে ক্লিক করুন।
05:10 একটি নতুন ক্লাস তৈরী হয়েছে।
05:13 আপনি একটি নতুন ক্লাস খুলতে New Modelica class নামে টুলও ব্যবহার করতে পারেন।
05:20 আমি annotation section মুছে ফেলি।
05:23 এখন, আপনি এখানে প্রয়োজনীয় তথ্য লিখতে পারেন এবং এই ক্লাসটি সংরক্ষণ করুন।
05:29 ক্লাসটি সংরক্ষণ করতে, Menu bar এ File মেনুতে যান এবং Save এ ক্লিক করুন।
05:36 এই ফাইলের জন্য উপযুক্ত স্থান চয়ন করুন এবং এটি সংরক্ষণ করুন।
05:41 এখন, freeFall ক্লাস দ্বারা Modelica এর সিনট্যাক্স বুঝি।
05:47 freeFall ক্লাসে যান।
05:49 Modelling area এর শীর্ষে যান। freeFall ট্যাবে ক্লিক করুন।
05:54 Modelica তে প্রোগ্রাম ক্লাসের আকারে সাজানো হয়।
05:58 Class এর প্রথম লাইন তার নাম সংজ্ঞায়িত করে।
06:02 এই ক্লাসের নাম হল freeFall.
06:05 ক্লাস কোথায় শেষ হয় তা দেখতে সকল ক্লাসের একটি end statement থাকতে হবে।
06:11 এই ক্লাসে variable declarations এবং equations রয়েছে।
06:15 আমি আপনাকে variables ঘোষিত করা দেখাই।
06:18 Real, data-type প্রদর্শন করে।
06:21 h পৃথিবীর পৃষ্ঠ থেকে বলের উচ্চতা প্রদর্শন করে।
06:25 start হল Real variable এর একটি বৈশিষ্ট্য।
06:29 প্রতিটি data-type এর নির্দিষ্ট বৈশিষ্ট্যাবলী রয়েছে, যা variables এর সম্পর্কিত দরকারী তথ্য উল্লেখ করে।
06:36 start অ্যাট্রিবিউটটি variable এর প্রাথমিক ভ্যালু নির্দিষ্ট করে।
06:41 h এর প্রাথমিক ভ্যালু হল 30 ইউনিট।
06:45 unit attribute, variable এর ইউনিট নির্দিষ্ট করে।
06:49 h এর ইউনিট হল মিটার।
06:52 প্রতিটি variable declaration সেমিকোলন দ্বারা শেষ হওয়া উচিত।
06:57 v বলের বেগ বোঝায়। এটি Real data-type এর।
07:02 v এর প্রাথমিক ভ্যালু শূন্য। এর ইউনিট হল meter per second.
07:09 g, acceleration due to gravity বোঝায়। এটি Real data-type এবং এর ইউনিট meter per second square.
07:18 parameter এমন একটি মাত্রা যা সিমুলেশন রানে ধ্রুবক থাকে।
07:24 g এর ভ্যালু 9.81 এর সাথে সিমুলেশনের সময় ধ্রুবক থাকে।
07:32 নেগেটিভ চিহ্ন ব্যবহৃত সাইন কনভার্শনের জন্য হয়।
07:36 ডাবল উদ্ধৃতিতে টেক্সট, g এর ঘোষণার সাথে লিখিত একটি comment.
07:42 Comments প্রোগ্রাম সম্পর্কে দরকারী তথ্য প্রদান করে। তা ডকুমেন্টেশনের জন্যও দরকারী।
07:49 এখন, স্লাইডে ফিরে যাই।
07:52 parameter একটি মাত্রা যা সিমুলেশনের সময় ধ্রুবক থাকে।
07:57 Real, Integer, Boolean এবং String data-types, Modelica তে সমর্থিত।
08:03 start এবং unit attributes ইতিমধ্যেই সংজ্ঞায়িত করা হয়েছে।
08:07 min attribute, variable এর সর্বনিম্ন ভ্যালু নির্দিষ্ট করে।
08:10 একইভাবে, max attribute variable এর সর্বোচ্চ ভ্যালু নির্দিষ্ট করে।
08:16 OMEdit এ ফিরে যাই।
08:19 equation, class এর equation section এর শুরু নির্দেশ করে।
08:25 এটি comments প্রবিষ্ট করার একটি বৈকল্পিক উপায়।
08:30 freely falling বডির জন্য আমাদের ইতিমধ্যে আলোচিত দুটি equations of motion অন্তর্ভুক্ত করা হয়েছে।
08:38 der(), time derivative এর জন্য Modelica function.
08:43 তাই der(h), dh/dt বোঝায়
08:48 এবং der(v), dv/dt বোঝায়।
08:52 প্রতিটি equation সেমিকোলন দ্বারা শেষ হওয়া উচিত।
08:57 আমি আপনাকে এই ক্লাস সিমুলেট করা দেখাই।
09:00 টুলবার থেকে simulate বোতামে ক্লিক করুন।
09:04 পপ আপ উইন্ডো বন্ধ করুন।
09:07 এই উইন্ডো Plotting perspective হিসাবে পরিচিত।
09:11 ক্লাসের সফল সিমুলেশনে, Plotting perspective স্বয়ংক্রিয়ভাবে খোলে।
09:17 Variables browser ক্লাসের variables এবং parameters সম্পর্কিত তথ্য প্রদর্শন করে।
09:24 লক্ষ্য করুন যে Unit এবং Description নামে কলাম রয়েছে।
09:29 Unit কলাম, variables এর units নির্দিষ্ট করে যেমনকি Unit বৈশিষ্ট্য দ্বারা পরিভাষিত করা হয়েছে।
09:37 Description কলাম, variable declarations এর সাথে ডাবল উদ্ধৃতিতে লেখা কমেন্ট প্রদর্শন করে।
09:45 আমি আপনাকে plot বানানো দেখাই। h চয়ন করুন।
09:51 এটি y-axis এ h এবং x-axis এ time সহ h ভিত্তিক time এর প্লট বানায়।
10:01 ডিফল্টরূপে, সিমুলেশন 0 থেকে 1 ইউনিট পর্যন্ত সঞ্চালিত হয়।
10:07 Time এর ইউনিট অন্য ভ্যারিয়েবলের জন্য ব্যবহৃত units সিস্টেম ভিত্তিক।
10:13 আমি h অচয়নিত করি।
10:17 প্রয়োজনীয় প্লট তৈরীর পর ফলাফলগুলি মুছে ফেলা সর্বদা একটি ভাল অভ্যাস।
10:25 ফলাফল মুছে ফেলতে, freeFall এ ডান ক্লিক করুন এবং Delete result চয়ন করুন।
10:33 ফলাফল মুছে গেছে।
10:36 Modeling perspective এ ফিরে যাই।
10:39 নীচের ডানদিকে Modeling বোতামে ক্লিক করুন।
10:43 Modelica তে, class এর ব্যবহার model এর সাথে সমর্থিত করা হয়।
10:48 একই প্রভাব নির্মাণ করতে, এখানে class এর বদলে model ব্যবহার করতে পারেন।
10:54 এখন, আমি দেখাই যে সিমুলেশনের জন্য time interval কিভাবে বদলায়।
11:01 টুলবারে অবস্থিত Simulation Setup বোতামে ক্লিক করুন।
11:06 General ট্যাবে, Stop time ফীল্ডে যান। এটি 5 ইউনিটে বদলান।
11:14 Simulate এ ক্লিক করুন। প্রদর্শিত পপ আপ উইন্ডো বন্ধ করুন।
11:21 Variables browser এ আবার h চয়ন করি।
11:26 এটি h v/s time প্লট বানায়।
11:29 লক্ষ্য করুন সময়ের ব্যবধান 5 ইউনিটে বেড়ে গেছে।
11:33 কিন্তু, h এর ভ্যালু শূন্যের নীচে চলে গেছে, যা অগ্রহণযোগ্য।
11:40 আমরা আসন্ন টিউটোরিয়ালে এই সমস্যাটি সমাধান করা শিখব।
11:45 আমি freeFall এ ডান ক্লিক করে এই ফলাফল মুছে ফেলি এবং Delete result চয়ন করি।
11:53 নীচে ডানদিকে Modeling perspective এ ক্লিক করে Modeling perspective এ ফিরে যান।
11:59 এটি নিশ্চিত করা প্রয়োজন যে সমীকরণ সংখ্যা ভ্যারিয়েবল সংখ্যার সমান কিনা।
12:07 এই ক্লাসে দুটি ভ্যারিয়েবল এবং দুটি সমীকরণ রয়েছে।
12:11 এখন, প্রথমে equation মুছে ফেলুন এবং কি ঘটে তা দেখতে ক্লাসটি সিমুলেট করি।
12:18 আমি প্রথমে equation মুছে ফেলেছি।
12:21 লক্ষ্য করুন freeFall ট্যাবে ক্লাসের নামের পাশে স্টার দেখায়।
12:28 এটি ক্লাসে অসংরক্ষিত পরিবর্তন দেখায়।
12:31 তাই পরিবর্তন করার পর ক্লাস সংরক্ষণ করা একটি ভাল অভ্যাস।
12:38 ক্লাসটি সংরক্ষণ করতে, File menu তে যান এবং Save এ ক্লিক করুন।
12:44 আপনি টুলবার থেকেও Save বোতাম ব্যবহার করতে পারেন, যা ফাইল সংরক্ষণ করতে কার্সারটি ইঙ্গিত করে।
12:53 এখন, Simulate বোতামে ক্লিক করে এই ক্লাসটি সিমুলেট করি।
12:59 লক্ষ্য করুন একটি এরর ম্যাসেজ Messages browser এ পপ আপ হয়।
13:04 এটি বলছে, এখানে খুব কম equations রয়েছে এবং মডেলে 1 equation এবং 2 variables রয়েছে। তাই এটি সিমুলেট হয়নি।
13:14 আমি equation তার জায়গায় সন্নিবেশ করি এবং টুলবারে Save বোতামে ক্লিক করি।
13:24 এই ক্লাসটি সিমুলেট করতে Simulate বোতামে ক্লিক করুন।
13:29 লক্ষ্য করুন ক্লাস সফলভাবে সিমুলেট হয়েছে কারণ equations এর সংখ্যা variables এর সংখ্যার সমান।
13:37 পপ-আপ উইন্ডো বন্ধ করুন।
13:40 স্লাইডে ফিরে যাই।
13:43 der(), time derivative এর জন্য Modelica ফাংশন।
13:48 এখানে equations জন্য কোনো ডেটা ফ্লো দিক নেই।
13:52 উদাহরণস্বরূপ, der(h) = v কে v = der(h) হিসাবে লেখা যেতে পারে।
14:00 Initial equations section এর ব্যবহার প্রাথমিক কন্ডিশন প্রবিষ্ট করতে করা হয়।
14:05 আমরা Initial equation সম্পর্কে পরে আরো বিস্তারে শিখব।
14:10 অনুশীলনী হিসাবে, differential equation dx/dt = -a into x সিমুলেট করতে একটি মডেল লিখুন যেখানে a = 1, x R এর সম্পর্কিত এবং টাইম t=0 তে x এর ভ্যালু হল 5.
14:28 এর সাথেই আমরা টিউটোরিয়ালের শেষে চলে এসেছি।
14:31 নিম্ন লিঙ্কে উপলব্ধ ভিডিও দেখুন। এটি প্রকল্পকে সারসংক্ষেপে দেখায়।
14:37 আমরা কর্মশালার আয়োজন করি এবং প্রশংসাপত্র দেই। অধিক জানতে আমাদের লিখুন।
14:43 Spoken Tutorial প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত।
14:49 আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি।
14:53 অংশগ্রহনের জন্যে ধন্যবাদ। অংশগ্রহনের জন্যে ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta, Satarupadutta