आप प्रतिरोधों के परिमित ग्रिड के प्रभावी प्रतिरोध का निर्धारण कैसे करते हैं?


14

अस्वीकरण: मैं सीमित इलेक्ट्रिकल इंजीनियरिंग पृष्ठभूमि के साथ एक भूभौतिकीविद् हूं। मुझे यकीन नहीं है कि यह समस्या अविश्वसनीय रूप से आसान, अविश्वसनीय रूप से जटिल या पूरी तरह से बकवास है।

मेरा लक्ष्य: रोकनेवाला नेटवर्क का उपयोग करके एक रॉक नमूने की थोक प्रतिरोधकता निर्धारित करें।

चट्टान के नमूने को एक प्रतिरोधक नेटवर्क का उपयोग करके तैयार किया जाता है जिसमें कुछ प्रतिरोधों (उच्च चट्टान का प्रतिनिधित्व करते हुए) और अन्य प्रतिरोधों का प्रतिरोध कम होता है (चट्टान में द्रव पथ का प्रतिनिधित्व)।

मान लीजिए कि मेरे पास एक समान ग्रिड पर प्रतिरोधों का एक नेटवर्क है जैसा कि नीचे दिखाया गया है। दिखाए गए उदाहरण में, प्रत्येक पंक्ति खंड में 3-बाय -3 ग्रिड पर 24 के माध्यम से 1 संबंधित लेबल होता है। प्रत्येक पंक्ति खंड के प्रतिरोध ज्ञात हैं।

ग्रिड की कुल लंबाई L और "क्षेत्र" A (इस मामले में यह 2-डी उदाहरण है, इसलिए क्षेत्र भी सिर्फ एक लंबाई है)। नमूना की थोक प्रतिरोधकता तब निम्न द्वारा दी जाती है:

ρbulk=ReffAL

यहाँ छवि विवरण दर्ज करें

मेरा प्रश्न: मैं नेटवर्क के प्रभावी प्रतिरोध, Reff का निर्धारण कैसे करूं ?

मैंने ऑनलाइन देखा है, लेकिन सभी मुझे मिल सकते हैं अनंत नेटवर्क, स्रोत और सिंक धाराओं आदि के बारे में चर्चा कर रहे हैं । मुझे वर्तमान या वोल्टेज में कोई दिलचस्पी नहीं है।

क्या यह समस्या हल हो सकती है क्योंकि यह खड़ा है?


2
मैं इसे एक सिम्युलेटर में प्लग करूंगा और सिम्युलेटर को इसे हल करने दूंगा। आप अपने मॉडल का निर्माण मसाला सर्किट के रूप में कर सकते हैं। फिर प्रतिरोध का पता लगाने के लिए, बस ओम के नियम (V = I * R) का उपयोग करें। स्पाइस आपको वर्तमान बताएगा ताकि आप आर। की गणना कर सकें
एमकेथ

1
पूरी तरह से कमांड लाइन मसाले का उपयोग करके स्वचालित रूप से स्वचालित किया जा सकता है, लेकिन अवधारणा के प्रमाण के लिए, आप अपने सर्किट में एक मुफ्त मसाला जैसे कि एलटीस्पाइस में प्रवेश कर सकते हैं। वोल्टेज लागू करें, और वर्तमान प्रदर्शित करें। एलटीस्पाइस सरल कार्यों को भी प्रदर्शित कर सकता है जैसे कि एक करंट (प्रतिरोध) द्वारा विभाजित वोल्टेज।
mkeith

डार्सी, कई दृष्टिकोण हैं। इससे पहले कि मैं कोई विचार प्रस्तुत करूं, मैं कुछ प्रश्न पूछना चाहता हूं। (1) बहुत आसान सा सॉफ्टवेयर है जिसे आप लिख सकते हैं। क्या आप इस तरह के दृष्टिकोण की तलाश कर रहे हैं? (2) आप पारंपरिक नोडल विश्लेषण का उपयोग करके इसे हल कर सकते हैं। क्या आप इस तरह के दृष्टिकोण की तलाश कर रहे हैं? (३) आपकी समस्या खटमल और किनारों में टूट जाती है । (आपकी भूभौतिकीविद् पृष्ठभूमि को देखते हुए, मैं आपसे उन दो शब्दों का अर्थ जानने की अपेक्षा करूँगा।) आप कैसे, एक प्राथमिकता, उन मूल्यों को काम करते हैं जिन्हें आप किनारों के लिए प्लग करेंगे?
जोंक

@ जोंक I मुख्य रूप से विकल्प (1) में रुचि रखेगा, ऐसा करने के लिए कोड का एक छोटा टुकड़ा स्वयं लिखें। मैं एक प्राथमिक ताकना ज्यामिति और एक रॉक खनिज या तरल पदार्थ की ज्ञात प्रतिरोधकता के आधार पर किनारे के प्रतिरोधों को निर्धारित करता हूं।
डार्सी

डार्सी, ऐसी तकनीकें भी हैं जो त्रिकोणीय अनियमित नेटवर्क से आकर्षित होती हैं जो लिखते समय मेरे दिमाग में तुरंत बसंत हो जाती हैं, "तरल पथ।" क्या आपने उस विषय पर कुछ पढ़ा है? मुझे नहीं पता कि आपके लक्ष्य आखिरकार क्या हैं, लेकिन आप इन्हें भी देखना चाहते हैं। ये ग्रेडिएंट्स का उपयोग करने के लिए बहुत अच्छा होगा जो आपको यह समझने में मदद करेंगे कि "धाराएं" कहां ध्यान केंद्रित करेगी। अगर यह एक चिंता का विषय है।
जोंक

जवाबों:


11

मूल विचार काफी सरल है। आप एक मैट्रिक्स ( ) की व्यवस्था करते हैं जो आपके सिस्टम में "नोड्स" या कोने का प्रतिनिधित्व करता है। इन नोड्स में से प्रत्येक में एक स्केलर-वैल्यूड "वोल्टेज" जुड़ा हुआ है जिसे एल्गोरिथ्म आय के रूप में बदला या अपडेट किया जा सकता है। दो नोड भी होंगे जिनके वोल्टेज को बदला नहीं जा सकता है। हम यहां एक "बैटरी" प्रकार लागू करने जा रहे हैं, इसलिए वे दो नोड्स इस बैटरी के दो छोरों का प्रतिनिधित्व करते हैं।V

RvRh

आपके द्वारा उपयोग की जाने वाली कंप्यूटर भाषा के आधार पर, आप नकारात्मक सूचकांकों का उपयोग कर सकते हैं या नहीं कर सकते हैं। कोई बात नहीं। यह सिर्फ आपको ध्यान में रखने की बात है कि आपका सामना किससे है।

LNLANA(NL+1)(NA+1)NA(NL+1)NL(NA+1)

अभी। साथ सभी शीर्षकों को प्रारंभ करें0V0V1V

(दक्षता कारणों के लिए अन्य तकनीकें हैं। लेकिन यह शायद उनके साथ परेशान करने लायक नहीं है।)

i+j

Vi,j=Rhi,j1Rhi,j(Vi1,jRvi,j+Vi+1,jRvi1,j)Rhi,j1Rhi,j(Rvi,j+Rvi1,j)+Rvi1,jRvi,j(Rhi,j+Rhi,j1)+Rvi1,jRvi,j(Vi,j1Rhi,j+Vi,j+1Rhi,j1)Rhi,j1Rhi,j(Rvi,j+Rvi1,j)+Rvi1,jRvi,j(Rhi,j+Rhi,j1)

उपरोक्त समीकरण केंद्रीय नोड के वोल्टेज को गणना करने से ज्यादा कुछ नहीं है जिसमें चार प्रतिरोधों को इससे जोड़ा जा रहा है, जहां चार प्रतिरोधों के दूसरे छोर पर वोल्टेज ज्ञात हैं। केंद्रीय नोड वोल्टेज तब उपरोक्त समीकरण से गणना की जाती है। चूँकि भाजक प्रत्येक पद के लिए समान होता है, आप केवल संख्यावालों के योग की गणना कर सकते हैं और फिर भाजक द्वारा एक बार विभाजित कर सकते हैं।

i+ji+j

0V1V

आप अगले चक्र के लिए तैयार हैं। इन चक्रों को जितनी बार आप महसूस करते हैं, समग्र राज्य को बसाने के लिए आवश्यक है (और यह होगा) करें।

1V

मैं कुछ कोड को घूर रहा हूं मैंने लिखा है कि योग, बहुत सारी टिप्पणियों के साथ, सिर्फ 67 लाइनें। इसलिए लिखना मुश्किल नहीं है।

इस विचार का "संक्षिप्त सारांश" यह है कि आप लागू करते हैं1V


ऐसा क्यों है कि आपको सिस्टम को i + j = सम और i + j = विषम में अलग करना होगा?

V5,5=f(V4,5,V6,5,V5,4,V5,6)V5,5V5,6=f(V4,6,V6,6,V5,5,V5,7)V5,5V5,7=f(V4,7,V6,7,V5,6,V5,8)क्योंकि फ़ंक्शन में कोई भी इनपुट नोड नहीं है जो इस चरण के दौरान बदल दिए गए थे । फिर आप चारों ओर झूलते हैं और विकल्पों की गणना करते हैं, सुलगने से बचते हैं लेकिन अब विकल्पों को अपडेट करते हैं। आपको वास्तव में इसे इस तरह करना होगा।

भी, सूत्र दोनों और विषम चरणों के लिए समान है?

हाँ, यह वही है।

क्या यह सभी एक प्रकार के रैखिक प्रणाली का उपयोग करके हल किया जा सकता है Ax = b जहां A एक रैखिक ऑपरेटर है और b सीमा की स्थिति प्रदान करता है? इसे देखते हुए, यह आंशिक अंतर समीकरणों को हल करने के लिए अंतर विधियों के लिए कुछ हद तक अनुरूप लगता है ..

एक कनेक्शन है। मुझे लगता है कि इसे 'मैट्रिक्स-मुक्त' कार्यान्वयन कहा जाता है।


यहाँ एक उदाहरण है। प्रतिरोधक मूल्यों के निम्नलिखित सेट को सिमुलेशन के लिए LTSpice में रखा गया था:

यहाँ छवि विवरण दर्ज करें

मैंने इसे छोटा और सरल रखा। जैसा कि आप देख सकते हैं, अनुमानित गणना से वर्तमान1V30.225mA30.224552mA

मैंने निम्नलिखित VB.NET कार्यक्रम चलाया:

Module GEOGRID

    Const NL As Integer = 2
    Const NA As Integer = 2
    Const INF As Double = 1.0E+32

    Sub Main()

        Static Rh As Double(,) = New Double(NL + 2, NA + 1) {
                    {INF, INF, INF, INF},
                    {INF, 5, 21, INF},
                    {INF, 76, 10, INF},
                    {INF, 32, 22, INF},
                    {INF, INF, INF, INF}}
        Static Rv As Double(,) = New Double(NA + 1, NL + 2) {
                    {INF, INF, INF, INF, INF},
                    {INF, 61, 50, 16, INF},
                    {INF, 56, 45, 18, INF},
                    {INF, INF, INF, INF, INF}}
        Dim V As Double(,) = New Double(NL + 2, NA + 2) {
                    {0, 0, 0, 0, 0},
                    {0, 0, 0, 0, 0},
                    {0, 0, 0, 1, 0},
                    {0, 0, 0, 0, 0},
                    {0, 0, 0, 0, 0}}
        Dim PDE As Func(Of Integer, Integer, Double) = Function(ByVal i As Integer, ByVal j As Integer) (
                    Rh(i, j - 1) * Rh(i, j) * (V(i - 1, j) * Rv(i, j) + V(i + 1, j) * Rv(i - 1, j)) +
                    Rv(i - 1, j) * Rv(i, j) * (V(i, j - 1) * Rh(i, j) + V(i, j + 1) * Rh(i, j - 1))
                  ) / (
                    Rh(i, j - 1) * Rh(i, j) * (Rv(i, j) + Rv(i - 1, j)) +
                    Rv(i - 1, j) * Rv(i, j) * (Rh(i, j) + Rh(i, j - 1))
                  )
        Dim IV As Func(Of Integer, Integer, Double) = Function(ByVal i As Integer, ByVal j As Integer) 0 +
                    (V(i, j) - V(i - 1, j)) / Rv(i - 1, j) + (V(i, j) - V(i + 1, j)) / Rv(i, j) +
                    (V(i, j) - V(i, j - 1)) / Rh(i, j - 1) + (V(i, j) - V(i, j + 1)) / Rh(i, j)
        Dim idx As Integer = NA \ 2 + 1
        Dim jdx1 As Integer = NL + 1
        Dim jdx2 As Integer = 1
        For x As Integer = 1 To 1000
            For k As Integer = 0 To (NA + 1) * (NL + 1) - 1 Step 2
                Dim i As Integer = k \ (NL + 1)
                Dim j As Integer = k - i * (NL + 1) + 1
                i += 1
                If Not (i = idx AndAlso (j = jdx1 OrElse j = jdx2)) Then V(i, j) = PDE(i, j)
            Next
            For k As Integer = 1 To (NA + 1) * (NL + 1) - 1 Step 2
                Dim i As Integer = k \ (NL + 1)
                Dim j As Integer = k - i * (NL + 1) + 1
                i += 1
                If Not (i = idx AndAlso (j = jdx1 OrElse j = jdx2)) Then V(i, j) = PDE(i, j)
            Next
        Next
        Console.WriteLine("R = " & (1.0 / IV(idx, jdx1)).ToString)
        Console.WriteLine("R = " & (-1.0 / IV(idx, jdx2)).ToString)
    End Sub

End Module

R=33.0856844038614Ω

उपरोक्त कार्यक्रम प्रतिरोधों, ऊर्ध्वाधर और क्षैतिज, साथ ही वोल्टेज मैट्रिक्स को स्थापित करने का एक तरीका दिखाता है, ताकि यह गैर-मौजूद नोड्स और / या प्रतिरोधक मानों के लिए कुछ परीक्षणों को सरल कर दे। कोड थोड़ा क्लीनर है, इस तरह से, हालांकि इसके लिए कुछ और सरणी तत्वों की आवश्यकता होती है। (मैंने बस अतिरिक्त प्रतिरोधक मानों को मूल्य में अनंत बना दिया है।) बस तुलना करें कि मैंने जिस तरह से योजनाबद्ध तरीके से रखी गई थी, उसके साथ सरणियों को कैसे सेट किया है, और मुझे लगता है कि आप सभी सटीक तरीके से काम कर पाएंगे। यहाँ विवरण।

मैंने प्रतिरोधों और नोड मानों को भी हैक कर लिया है, बेशक, इसे किसी भी तरह से मूल्यों की तालिका को पढ़ने के लिए एक सामान्य उद्देश्य कार्यक्रम के बिना। लेकिन उस व्यापकता को जोड़ना बहुत आसान है। और इस कोड को वह सबकुछ बनाना चाहिए जो मैंने लिखा था बिल्कुल अस्पष्ट।

xx

और एक अंतिम नोट। बस यह साबित करने के लिए कि आप प्रतिरोधक की गणना करने के लिए निश्चित वोल्टेज नोड के वर्तमान का उपयोग कर सकते हैं, मैंने दोनों मानों को प्रिंट करने के लिए दो पंक्तियों का उपयोग किया है: से गणना की गई0V1V

(ठीक है। एक और अंतिम नोट। यह एफ # या किसी भी सभ्य संकलक प्रणाली को लक्षित करने वाले किसी भी सभ्य संकलक पर बेहतर लक्षित होगा। प्रत्येक गणना या तो "लाल" या "ब्लैक" समानांतर में की जा सकती है, पूरी तरह से एक दूसरे से स्वतंत्र रूप से। एफ # यह तुच्छ बनाता है। इसलिए एफ # में कोडित, आप इसे अपने सभी उपलब्ध कोर पर बिना किसी विशेष के चला सकते हैं। यह सिर्फ काम करता है। यदि आप किसी फैशन में बहुत सारे डेटा एकत्र कर रहे हैं तो सिर्फ एक नोट। मल्टी-कोर सिस्टम का पूरा फायदा।)


END नोट:

व्युत्पत्ति केसीएल से बहुत सरल है। निम्नलिखित व्यवस्था में चार प्रतिरोधों को रखें:

ढांच के रूप में

इस सर्किट का अनुकरण करें - सर्किटलैब का उपयोग करके बनाई गई योजनाबद्ध

केसीएल लागू करें:

VR1+VR2+VR3+VR4=V1R1+V2R2+V3R3+V4R4V=(V1R1+V2R2+V3R3+V4R4)(R1∣∣R2∣∣R3∣∣R4)

बीजगणित के साथ खेलने वाले कुछ को कोड में उपयोग किए गए परिणाम मिलते हैं।


महान जवाब के लिए धन्यवाद। मेरे पास कुछ स्पष्ट प्रश्न हैं। 1) ऐसा क्यों है कि आपको सिस्टम को = सम और = विषम में अलग करना होगा ? 2) क्या यह सब एक तरह से रैखिक प्रणाली का उपयोग करके हल किया जा सकता है, जहां एक रैखिक ऑपरेटर है और सीमा की स्थिति प्रदान करता है? इसे देखते हुए, यह आंशिक अंतर समीकरणों को हल करने के लिए अंतर विधियों के लिए कुछ हद तक अनुरूप लगता है ...i + j A x = b A bi+ji+jAx=bAb
डार्सी

भी, सूत्र दोनों और विषम चरणों के लिए समान है?
डार्सी

2
@ मैं इन मुद्दों को कवर करने में मदद करने के लिए थोड़ा और लिखूंगा।
जोंक

विवरण के लिए फिर से धन्यवाद। एक अंतिम प्रश्न (और शायद यह एक पूरी तरह से अलग प्रश्न के रूप में जा सकता है, लेकिन मैं इसे यहां पूछूंगा): यदि नेटवर्क में सभी प्रतिरोधों का एक ही प्रतिरोध है (1 ओम कहो), तो क्या यह पालन करता है कि प्रभावी प्रतिरोध भी होना चाहिए 1 ओहम? मेरा अंतर्ज्ञान कहता है कि यह होना चाहिए, लेकिन मुझे यकीन नहीं है।
डार्सी

1
@Darcy आपका अंतर्ज्ञान गलत है और MATLAB परिणाम सही है।
जोंक

1

आप निश्चित रूप से 2 डी समस्या को मॉडल करने के लिए 2 डी अवरोधक नेटवर्क का दृष्टिकोण ले सकते हैं लेकिन 3 आयामों के लिए जाने पर यह कुछ मुश्किल हो सकता है। आप अपने डोमेन में परिभाषित किए गए वॉल्यूम कंडक्टरों के साथ एक अधिक पारंपरिक (इन दिनों) दृष्टिकोण का उपयोग करने के लिए विचार कर सकते हैं, प्रत्येक के लिए एक उपयुक्त चालकता के साथ। FEMM फ्रीवेयर कोड ( http://www.femm.info/wiki/HomePage ) बहुत सक्षम है और इसका उपयोग 2 डी, अक्षीय समरूपता और 3 डी के लिए किया जा सकता है। वहां से आप बहुत अधिक सक्षम कोड जैसे SCIrun ( https://www.sci.utah.edu/) पर जाने पर विचार कर सकते हैं) जो पर्याप्त जटिलता की मात्रा कंडक्टर समस्याओं के लिए एक शैक्षणिक कोड है। मैं इसे एक लाख से अधिक टेट्राहेड्रॉन के मेश के लिए नियमित रूप से उपयोग करता हूं। भले ही यह मुख्य रूप से जैविक मॉडलिंग के लिए विकसित किया गया था लेकिन यह जो आप कर रहे हैं उसके लिए महान काम करना चाहिए। आगे / उल्टे टूलकिट में आगे की समस्याओं के उदाहरण आपको मिलने चाहिए। आप प्रतिबाधा टोमोग्राफी के लिए भी विलोम समस्याएँ खोज सकते हैं। मैं आमतौर पर संस्करण 4 का उपयोग करता हूं क्योंकि संस्करण 5 अभी भी प्रगति पर है। सॉफ्टवेयर में टेटगेन का एक इंटरफ़ेस भी है जो एक महान जाल निर्माण कोड है।

अंत में, यदि आप पैसे खर्च करने के विरोध में नहीं हैं, तो हमेशा COMSOL है, जिसका उपयोग करना बहुत आसान है (और काफी महंगा है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.