OpenModelica/C2/Developing-an-equation-based-model/Hindi
From Script | Spoken-Tutorial
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 | स्वतंत्र रूप से गिरने वाले बॉडी के लिए equations of motion निम्नानुसार है: 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 आइकन पर क्लिक करें, जो कि launcher में ऊपरी बाईं ओऱ प्रदर्शित है। |
01:53 | सर्च बार में OMEdit टाइप करें। |
01:56 | OMEdit आइकन पर क्लिक करें। |
01:59 | OMEdit आइकन पर क्लिक करके, आप इस तरह की विंडो देखते हैं। |
02:06 | इस विंडो को "Welcome perspective" नाम से जाना जाता है। |
02:09 | OMEdit डिफॉल्ट रूप से, "Welcome perspective" में खुलता है। |
02:14 | निचले दाहिने कोने पर, आप ‘Welcome’, ‘Modeling’ और ‘Plotting’ perspectives के लिए बटन्स देख सकते हैं। |
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 webpage पर Code Files लिंक में उपलब्ध ‘freeFall’ class का उपयोग करेंगे। |
03:02 | कृपया इस फाइल को डाउनलोड करें औऱ इसे अपने सिस्टम पर सेव करें। |
03:07 | इस class को खोलने के लिए, 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 | चिंता न करें, यदि class Diagram view में नहीं खुलता है। |
04:00 | मैं आपको दिखाऊंगी कि कैसे अलग-अलग व्यूज़ के बीच स्विच किया जाएगा। |
04:04 | Modeling area' के शीर्ष पर जाएँ। |
04:07 | ध्यान दें दूसरा बटन Diagram view के लिए है। |
04:10 | तीसरा बटन Text View है। |
04:13 | 'Text View पर जाने के लिए इस पर क्लिक करें। |
04:17 | class अब 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 | मैं भिन्न नाम freeFall1 का उपयोग कर रही हूँ, क्योंकि freeFall class पहले ही OMEdit में खुला है। |
04:58 | ध्यान दें कि दो classes का एक ही नाम नहीं हो सकता है। |
05:03 | Specialization ड्रॉप-डाउन मैन्यू पर क्लिक करें। Class चुनें। Ok पर क्लिक करें। |
05:10 | एक नया class बन गया है। |
05:13 | आप नए class को खोलने के लिए, New Modelica class नामक टूल का उपयोग भी कर सकते हैं। |
05:20 | मैं annotation section डिलीट करती हूँ। |
05:23 | अब, आप यहाँ आवश्यक जानकारी टाइप कर सकते हैं और इस क्लास को सेव करें। |
05:29 | इस क्लास को सेव करने के लिए, Menu bar में File मैन्यू पर जाएँ और Save पर क्लिक करें। |
05:36 | इस फाइल के लिए उपयुक्त स्थान चुनें और इसे सेव करें। |
05:41 | अब freeFall class का उपयोग करके Modelica के सिंटेक्स को समझते हैं। |
05:47 | freeFall class' पर जाएँ। |
05:49 | Modelling area के शीर्ष पर जाएँ। freeFall टैब पर क्लिक करें। |
05:54 | Modelica में प्रोग्राम्स classes के रूप में व्यवस्थित किए गए हैं। |
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 की यूनिट metre है। |
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 | मैं आपको दिखाती हूँ कि इस class को सिम्युलेट कैसे करना है। |
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 के प्लॉट को बनाता है |
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 की वैल्यू 0 से नीचे चली गयी है, जो अस्वीकार्य है। |
11:40 | हम आने वाले ट्यूटोरियल्स में, इस प्रोब्लम को सुधारने के बारे में सीखेंगे। |
11:45 | मैं freeFall पर राइट-क्लिक करके इस परिणाम को डिलीट करती हूँ और Delete result चुनती हूँ। |
11:53 | नीचे दाईं ओर Modeling perspective पर क्लिक करके, Modeling perspective पर वापस जाएँ। |
11:59 | यह सुनिश्चित करना आवश्यक है कि समीकरणों ( equation) की संख्या वैरिएबल की संख्या के बराबर है। |
12:07 | इस class में दो वैरिएबल्स औऱ दो इक्वेशन्स हैं। |
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 equations और 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 | स्पोकन ट्यूटोरियल प्रोजेक्ट एनएमईआईसीटी, एमएचआरडी, भारत सरकार द्वारा वित्त पोषित है। |
14:49 | यह स्क्रिप्ट विकास द्वारा अनुवादित है, आई आई टी बॉम्बे से मैं श्रुति आर्य आपसे विदा लेती हूँ। |
14:53 | धन्यवाद। |