OpenModelica/C3/Modelica-Packages/Bengali
From Script | Spoken-Tutorial
Revision as of 15:44, 11 September 2018 by Kaushik Datta (Talk | contribs)
Time | Narration |
00:01 | Packages এর স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত। |
00:05 | এখানে আমরা শিখতে যাচ্ছি: Modelica তে classes এর একটি package বানানো। |
00:12 | একটি package এ classes রেফারেন্স করা। |
00:16 | একটি package ইম্পোর্ট করা বং Modelica Library ব্যবহার করা। |
00:22 | টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি: OpenModelica 1.9.2 এবং Ubuntu অপারেটিং সিস্টেম সংস্করণ 14.04 এবং gedit. |
00:35 | Windows ইউসার gedit এর বদলে Notepad বা অন্য কোন টেক্সট এডিটর ব্যবহার করতে পারেন। |
00:42 | টিউটোরিয়ালটি বুঝতে এবং অনুশীলন করতে, Modelica তে class এবং type definition সম্পর্কে জানা প্রয়োজন। |
00:51 | পূর্বের টিউটোরিয়াল আমাদের ওয়েবসাইটে উল্লিখিত। সেগুলি দেখুন। |
00:56 | একটি Package, Modelica তে একটি বিশেষ class. |
01:01 | এটি classes এর একটি সংগ্রহ। |
01:04 | এটি single file বা directory হিসাবে সংরক্ষণ করা যায়। |
01:08 | প্রথমে আমরা single file storage সম্পর্কে শিখব। |
01:12 | single file storage এ package সম্পর্কিত সকল classes একটি single file এ লেখা হয়। |
01:20 | এটির সুপারিশ করা হয় না কারণ কিছু ক্ষেত্রে এটি অনেক লম্বা হতে পারে। |
01:24 | এখন একটি package এর জন্য single file storage প্রদর্শন করতে OMEdit এ যান। |
01:31 | আমাদের ওয়েবসাইটে উপলব্ধ সকল ফাইল ডাউনলোড এবং সংরক্ষণ করুন। |
01:36 | আপনি দেখেন যে সেখানে spokenTutorialExamples নামের একটি ফাইল এবং একটি ফোল্ডার রয়েছে। |
01:43 | তাদের উভয় ডাউনলোড করুন। |
01:46 | এখন OMEdit এ প্রয়োজনীয় ফাইল খুলুন। |
01:51 | Ctrl + O টিপুন। |
01:54 | আপনার সিস্টেমে সঠিক স্থানে যান এবং spokenTutorialExamples.mo, |
02:02 | bouncingBallWithUserTypes.mo এবং bouncingBallWithImport চয়ন করুন। |
02:08 | আপনি তাদের প্রতিটি আলাদাভাবে খুলতে পারেন। |
02:12 | মনে রাখবেন আমি spokenTutorialExamples ফোল্ডার চয়ন করিনি। |
02:17 | আমরা ডাইরেক্টরি স্টোরেজে গেলে এটির সম্পর্কে আরো আলোচনা করব। |
02:23 | Open এ ক্লিক করুন। |
02:25 | আপনি দেখেন যে spokenTutorialExamples প্যাকেজ এখন Libraries Browser এ দেখাচ্ছে। |
02:32 | spokenTutorialExamples আইকনে ডবল ক্লিক করুন। |
02:37 | ফাইল Icon/Diagram View তে খুললে Text View তে যান। |
02:42 | এখন spokenTutorialExamples সম্পর্কে আলোচনা করি। |
02:47 | প্রথম লাইন package এর নাম সংজ্ঞায়িত করে। |
02:51 | স্পষ্টতই, এই প্যাকেজের নাম spokenTutorialExamples. |
02:56 | এই প্যাকেজে freefall class bouncingBall মডেল এবং bouncingBallWithUserTypes মডেল রয়েছে। |
03:08 | end statement প্যাকেজের সমাপ্তি সংজ্ঞায়িত করে। |
03:13 | আমরা এই প্যাকেজের সকল classes এবং models এক জায়গায় দেখেছি। |
03:19 | এখন, শিখব যে একটি প্যাকেজে আলাদা আলাদা classes দেখা। |
03:24 | Libraries Browser এ spokenTutorialExamples এর পাশে (+) বোতামে ক্লিক করুন। |
03:31 | এটি এই প্যাকেজে স্থিত classes এর নাম প্রদর্শন করে। |
03:36 | Libraries Browser এ freeFall এ ডাবল ক্লিক করুন। |
03:40 | এখন freeFall class খুলেছে। |
03:43 | একটি প্যাকেজের সকল classes সিমুলেট হতে পারে। |
03:47 | কিন্তু প্যাকেজ নিজে সিমুলেট হতে পারে না। |
03:52 | এখন spokenTutorialExamples ট্যাবে ফিরে যাই। |
03:57 | লক্ষ্য করুন Simulate বোতাম টুলবারে দেখায় না যা দেখায় যে প্যাকেজ সিমুলেট হবে না। |
04:06 | এখন OMEdit থেকে spokenTutorialExamples আনলোড করি। |
04:12 | ডান ক্লিক করুন এবং unload চয়ন করুন। Yes চয়ন করুন। |
04:18 | ডাইরেক্টরি স্টোরেজ দেখানোর সময় সংঘটনা এড়াতে এটি করা হয়। |
04:24 | এখন স্লাইডে ফিরে যাই। |
04:27 | Directory storage classes আলাদা আলাদা ফাইলে সংরক্ষিত। |
04:32 | ডাইরেক্টরীর নাম প্যাকেজের মত একই। |
04:37 | package.mo নামক ফাইল ডাইরেক্টরিতে অন্তর্ভুক্ত করতে হবে এবং প্রতিটি class, within statement দ্বারা শুরু হয়। |
04:47 | এখন, spokenTutorialExamples ফোল্ডার প্রদর্শন করি যা আপনি ডাউনলোড করেছেন। |
04:54 | লক্ষ্য করুন এই ফোল্ডার সেই প্যাকেজ দেখায় যা আমরা ইতিমধ্যে আলোচনা করেছি। |
05:02 | এই ফোল্ডারের ফাইল স্ট্রাকচার দেখি। |
05:06 | সেই স্থানে যান যেখানে আপনি সিস্টেমে ফাইল সংরক্ষণ এবং ডাউনলোড করেছেন। |
05:12 | spokenTutorialExamples ফোল্ডারে ডাবল ক্লিক করুন। |
05:17 | লক্ষ্য করুন ফোল্ডারে এই ফাইল রয়েছে: package.mo, freeFall.mo, bouncingBallWithUserTypes এবং bouncingBall |
05:30 | আমরা ডাইরেক্টরী স্টোরেজ সম্পর্কে অধিক OMEdit এবং gedit এদের ব্যবহার দ্বারা জানবো। |
05:38 | উল্লেখ্য, package.mo বলে যে এই ফোল্ডার একটি প্যাকেজ বর্ণন করে। |
05:45 | এই ফাইল ছাড়া, ফোল্ডারটি Modelica package উপস্থাপন করে না। |
05:51 | ডাইরেক্টরী স্টোরেজ প্রদর্শন করতে এখন আমরা OMEdit এ যাই। |
05:57 | Ctrl + O টিপুন। |
05:59 | spokenTutorialExamples ফোল্ডারে নেভিগেট করুন যা ডাউনলোড করেছেন। |
06:05 | এই ফোল্ডার থেকে package.mo চয়ন করুন এবং Open এ ক্লিক করুন। |
06:11 | spokenTutorialExamples প্যাকেজ এখন Libraries Browser এ দেখাবে। |
06:17 | spokenTutorialExamples আইকনে ডাবল ক্লিক করুন। |
06:22 | এটি Icon/Diagram View খুললে প্যাকেজ Text View তে খুলুন। |
06:27 | নীচে স্ক্রোল করলে আপনি দেখেন যে এই প্যাকেজটি ঠিক একই যা single file storage এ দেখেছি। |
06:36 | সিঙ্গল ফাইল এবং ডাইরেক্টরী স্টোরেজের মাঝের পার্থক্য তখনই বোঝা যেতে পারে যখন এই package কে gedit এর মত টেক্সট এডিটর ব্যবহার করে খুলি। |
06:47 | আপনি Windows ব্যবহার করলে Notepad বা অন্য কোন টেক্সট এডিটর ব্যবহার করতে পারেন। |
06:53 | এখন OMEdit থেকে spokenTutorialExamples প্যাকেজ আনলোড করি। |
06:59 | spokenTutorialExamples ফোল্ডারে স্যুইচ করুন এবং সকল ফাইল gedit ব্যবহার করে খুলুন। |
07:08 | এখন সকল ফাইল gedit এ খোলা রয়েছে। |
07:13 | প্রথমে package.mo প্যাকেজ দেখি। |
07:17 | within statement দেখায় যে এই ফাইল package উপস্থাপন করে। |
07:21 | এই প্যাকেজের নাম হল spokenTutorialExamples. |
07:25 | লক্ষ্য করুন যে ফোল্ডারের নামও spokenTutorialExamples ছিল। |
07:31 | package.mo ফাইলে শুধুমাত্র within statement এবং package ঘোষণাকরণ থাকতে পারে। |
07:38 | এখন freeFall ট্যাবে সুইচ করি। |
07:41 | এই within statement দেখায় যে freefall ক্লাস spokenTutorialExamples প্যাকেজের অন্তর্গত। |
07:49 | এই ফাইলের বাকি অংশে freeFall ক্লাসের সম্পর্কিত তথ্য রয়েছে। |
07:54 | আপনি দেখেন যে এই প্যাকেজের অন্য মডেল যেমন bouncingBallWithUserTypes এবং bouncingBall, এই ধরণের একই সিনট্যাক্স অনুসরণ করে। |
08:04 | কিন্তু, আমরা OMEdit এ প্যাকেজ খুললে আমরা within statement লক্ষ্য করি না। |
08:11 | এটি ইঙ্গিত করে within statement, ফাইলের গঠন সনাক্ত করতে OMEdit কে সাহায্য করে। |
08:17 | তাই package প্রদর্শন করার সময় এটি OMEdit দ্বারা বাদ দেওয়া হয়েছে। |
08:22 | স্লাইডে ফিরে আসি। |
08:25 | এখন Modelica Library সম্পর্কে আরো বুঝবো। |
08:29 | Modelica Library একটি ওপেন সোর্স প্যাকেজ। |
08:33 | OMEdit নিজেই এটি প্রতিটি সেশনের জন্য লোড করে। |
08:38 | এটি Libraries Browser এ দেখা যাবে। |
08:41 | mechanical, electrical এবং thermal ডোমেন থেকে এতে classes রয়েছে। |
08:46 | এই লাইব্রেরীর classes উল্লিখিত এবং ব্যবহৃত হতে পারে। |
08:51 | Modelica Library প্রদর্শন করতে এখন OMEdit এ যাই। |
08:57 | Libraries Browser এ Modelica আইকন খুঁজুন এবং বিস্তৃত করুন। |
09:03 | লক্ষ্য করুন যে Modelica Library তে Blocks, Complex Blocks ইত্যাদি প্যাকেজ রয়েছে। |
09:10 | আপনি দেখেন যে একটি প্যাকেজে আরো প্যাকেজ থাকতে পারে যা এখানে স্পষ্ট রয়েছে। বিশেষ রূপে এটি SI units প্যাকেজ। |
09:22 | এটি বিস্তৃত করুন। |
09:25 | এই প্যাকেজে Angle, Length, Position ইত্যাদির মত ভৌতিক পরিমাণের ধরণ নির্ধারণ রয়েছে। |
09:32 | এখন দেখবো যে এইভাবে bouncingBallWithImport ক্লাস দ্বারা এই ধরনের টাইপ নির্ধারণ ব্যবহার করা। |
09:39 | SIunits সংকুচিত করুন। |
09:42 | এবং bouncingBallWithImport এবং bouncingBallWithUserTypes এ ডবল ক্লিক করুন। |
09:49 | ভালো দৃশ্যতার জন্য OMEdit উইন্ডোটি বামদিকে সরাই। |
09:55 | আমরা প্রথমে bouncingBallWithUserTypes দেখবো। |
09:59 | আমরা ইতিমধ্যে পূর্বের টিউটোরিয়ালে এই মডেল সম্পর্কে শিখেছি। |
10:03 | এই মডেলে Length এবং Velocity নামক ধরণ নির্ধারণ রয়েছে। |
10:09 | প্রতিটি মডেলে তাদের আলাদাভাবে নির্ধারণ করার বদলে SIunits এ ধরন নির্ধারণ ব্যবহার করতে পারি। |
10:18 | আমরা দেখি যে bouncingBallWithImport মডেল দ্বারা এটি কিভাবে করে। |
10:23 | এখন bouncingBallWithImport এ যাই। |
10:27 | একটি প্যাকেজে ক্লাস, dot ব্যবহার করে রেফারেন্স করা হয়। |
10:32 | Modelica.SIunits, SIunits প্যাকেজ নির্দেশ করে যা Modelica লাইব্রেরীর অন্তর্গত। |
10:39 | ভ্যারিয়েবল h কে Length এর ধরন ঘোষণা করতে হবে যা SIunits প্যাকেজে নির্ধারিত। |
10:47 | একইভাবে, ভ্যারিয়েবল v কে Velocity এর ধরন ঘোষণা করতে হবে যা SIunits প্যাকেজে নির্ধারিত। |
10:56 | লক্ষ্য করুন প্যারামিটার radius এবং g একইভাবে ঘোষণা করা যেতে পারে। |
11:03 | এখন এই মডেল Simulate করি। |
11:07 | টুলবারে Simulate বোতামে ক্লিক করুন। |
11:10 | পপ আপ উইন্ডো বন্ধ করুন। |
11:13 | Variables Browser এ h চয়ন করুন। |
11:17 | লক্ষ্য করুন প্রাপ্ত প্লট একই রয়েছে যেমনকি bouncingBallWithUserTypes এর ক্ষেত্রে দেখানো হয়েছে। |
11:25 | এখন h অচয়নিত করুন। ফলাফল মুছুন। Modeling Perspective এ যান। |
11:33 | প্রতিবার কোনো ক্লাসের সম্পূর্ণ নাম লেখা খুব বিরক্তিকর। |
11:38 | এটি import statement দ্বারা সহজে করা যেতে পারে। |
11:42 | এখন, কিছু statements লিখব যা import এর ব্যবহার দেখায়। |
11:48 | লেখা স্টেটমেন্ট import-statements.txt নামে একটি টেক্সট ফাইলে দেওয়া হয়েছে। |
11:56 | সেই স্থানে যান যেখানে এটি আপনার সিস্টেমে সংরক্ষণ করেছেন। |
12:01 | import-statements.txt তে ডাবল ক্লিক করুন। ফাইলটি খুলতে Windows ইউসার Notepad ব্যবহার করতে পারে। |
12:11 | ফাইলটি এখন gedit এ খুলেছে। |
12:14 | Ctrl + C দ্বারা বা ডান-ক্লিক করে সকল স্টেটমেন্ট কপি করুন। |
12:21 | OMEdit এ যান। |
12:23 | মডেলের শুরুতে সকল statements পেস্ট করুন। |
12:28 | Length এবং Velocity এর জন্য declaration statement মুছে দিন, যা আগে সংজ্ঞায়িত করা হয়েছে। |
12:36 | অতিরিক্ত স্পেস মুছে ফেলুন। |
12:39 | Ctrl + S টিপে মডেলটি সংরক্ষণ করুন। |
12:43 | এখন মডেলটি সম্পূর্ণ এবং সিমুলেশনের জন্য প্রস্তুত। |
12:48 | এটি সিমুলেট করতে Simulate বোতামে ক্লিক করুন। |
12:52 | পপ আপ উইন্ডো বন্ধ করুন। |
12:54 | Variables Browser এ h চয়ন করুন। |
12:58 | লক্ষ্য করুন যে প্লটটি পূর্বের ক্ষেত্রের অনুরূপ। |
13:03 | h অচয়নিত করুন এবং ফলাফল মুছুন। |
13:07 | Modeling perspective এ যান। |
13:10 | এখন import statements বোঝার চেষ্টা করি। |
13:15 | Modelica, import statements দ্বারা এখানে উল্লিখিত পাথ ব্যবহার করে Length এবং Velocity ধরণের নির্ধারণ অবলোকন করে। |
13:25 | এটি প্রতিবার প্যাকেজকে উল্লেখ করার সমস্যা থেকে রক্ষা করে। |
13:30 | lookup rules এর বিস্তারিত আলোচনা এই টিউটোরিয়ালের সুযোগের বাইরে। |
13:36 | এখন দেখি যে কিভাবে আমরা import statement দ্বারা এই দুটি import statements প্রতিস্থাপন করতে পারি। দুটি statements মুছে দিন। |
13:47 | লিখুন import (space) Modelica (dot) SIunits (dot) asterisk (semicolon) |
13:58 | Ctrl + S টিপে মডেলটি সংরক্ষণ করুন। |
14:02 | এই স্টেটমেন্ট wild-card import হিসাবে পরিচিত। |
14:06 | এইভাবে, স্পষ্টভাবে এটি উল্লেখ না করেই SIunits থেকে যে কোনো class অ্যাক্সেস করা যায়। |
14:14 | এখন এই মডেল সিমুলেট করি। |
14:17 | Simulate বোতামে ক্লিক করুন। |
14:20 | পপ আপ উইন্ডো বন্ধ করুন। |
14:22 | Variables Browser এ h চয়ন করুন। |
14:25 | আপনি আবার প্লটে মিল দেখতে পারেন। |
14:29 | h অচয়নিত করুন এবং ফলাফল মুছুন। |
14:32 | Modeling perspective এ ফিরে যান। |
14:35 | স্লাইডে ফিরে যান। |
14:38 | অনুশীলনী হিসাবে, Length এবং Velocity হিসাবে যথাক্রমে freeFall ক্লাসের ঘোষিত ভ্যারিয়েবল h এবং v লিখুন। |
14:47 | এই ধরণের নির্ধারণ Modelica লাইব্রেরীর SIunits প্যাকেজে পাওয়া যায়। |
14:54 | এটি আমাদের টিউটোরিয়ালের শেষে নিয়ে আসে। |
14:58 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি দেখুন : ]org /What\_is\_a\_Spoken\_Tutorial |
15:02 | এটি প্রকল্পকে সারসংক্ষেপে দেখায়। |
15:05 | আপনার এই স্পোকেন টিউটোরিয়ালে কোন প্রশ্ন থাকলে নিম্ন সাইটে যান। |
15:11 | আমরা জনপ্রিয় বইগুলির সমাধানকৃত উদাহরণের কোডিং নির্দেশ করি। |
15:15 | আমরা মানদণ্ড এবং সার্টিফিকেট দেই। আরো জানতে এই সাইটে যান। |
15:21 | আমরা কমার্শিয়াল সিমুলেটর ল্যাবগুলি OpenModelica তে মাইগ্রেট করতে সহায়তা করি। |
15:26 | আরো জানতে এই সাইটে যান। |
15:29 | Spoken Tutorial প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। |
15:36 | আমরা OpenModelica উন্নয়ন দলকে তাদের সমর্থনের জন্য ধন্যবাদ জানাই। |
15:41 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। অংশগ্রহনের জন্যে ধন্যবাদ। |