﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.99.7005.38226"?>
<worksheet xmlns="http://smath.info/schemas/worksheet/1.0">
  <settings ppi="119">
    <identity>
      <id>b34ced9b-964c-4b84-9760-5e39ae00547a</id>
      <revision>15</revision>
    </identity>
    <metadata lang="eng">
      <title>TDFD COUPLED ROUTINE ORIG</title>
      <author>Reg Curry</author>
      <description>Computes the transmission line coupled equations with an explicit time domain finite difference routine.  Runs faster if the POINTS PER DECADE is used first to allow broader time ranges.</description>
    </metadata>
    <calculation>
      <precision>3</precision>
      <exponentialThreshold>3</exponentialThreshold>
      <trailingZeros>false</trailingZeros>
      <significantDigitsMode>false</significantDigitsMode>
      <roundingMode>0</roundingMode>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="false" viewMode="2" printGrid="false" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="1" orientation="Portrait" width="850" height="1100" />
      <margins left="39" right="39" top="49" bottom="49" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependencies>
      <assembly name="SMath Studio Desktop" version="0.99.7005.38226" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Math Region" version="0.99.7005.38226" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
      <assembly name="SpecialFunctions" version="1.12.7005.38226" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="TextRegion" version="1.11.7005.38226" guid="485d28c5-349a-48b6-93be-12a35a1c1e39" />
    </dependencies>
  </settings>
  <regions type="content">
    <region id="0" left="252" top="54" width="244" height="31" color="#ff0000" bgColor="#ffffff" fontSize="14">
      <text lang="eng">
        <p bold="true">COUPLED TDFD ROUTINE</p>
      </text>
    </region>
    <region id="1" left="18" top="117" width="364" height="686" color="#000000" bgColor="#ffffff" fontSize="10">
      <math optimize="2" decimalPlaces="4" exponentialThreshold="5">
        <input>
          <e type="operand">Ans</e>
          <e type="operand">a</e>
          <e type="operand">1</e>
          <e type="operand">Ncell</e>
          <e type="function" args="2">range</e>
          <e type="operand">b</e>
          <e type="operand">1</e>
          <e type="operand">Nt</e>
          <e type="function" args="2">range</e>
          <e type="operand">AI</e>
          <e type="operand">a</e>
          <e type="operand">b</e>
          <e type="function" args="3">el</e>
          <e type="operand">0</e>
          <e type="operator" args="2">:</e>
          <e type="operand">VG</e>
          <e type="operand">a</e>
          <e type="operand">b</e>
          <e type="function" args="3">el</e>
          <e type="operand">0</e>
          <e type="operator" args="2">:</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">line</e>
          <e type="function" args="3">for</e>
          <e type="function" args="3">for</e>
          <e type="operand">k</e>
          <e type="operand">2</e>
          <e type="operand">Nt</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="bracket">(</e>
          <e type="function" args="2">range</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operand">Ncell</e>
          <e type="function" args="2">range</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operator" args="2">≤</e>
          <e type="operand">ΔI</e>
          <e type="operand">AI</e>
          <e type="operand">j</e>
          <e type="operand">k</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="3">el</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">ΔI</e>
          <e type="operand">AI</e>
          <e type="operand">j</e>
          <e type="operand">k</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="3">el</e>
          <e type="operand">AI</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="operand">k</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="3">el</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="function" args="3">if</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operator" args="2">≡</e>
          <e type="operand">VG</e>
          <e type="operand">AI</e>
          <e type="operand">ZT.0</e>
          <e type="operator" args="2">*</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">j</e>
          <e type="operand">Ncell</e>
          <e type="operator" args="2">≡</e>
          <e type="operand">VG</e>
          <e type="operand">AI</e>
          <e type="operand">ZT.Ncell</e>
          <e type="operator" args="2">*</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">VG</e>
          <e type="operand">j</e>
          <e type="operand">k</e>
          <e type="function" args="3">el</e>
          <e type="operand">VG</e>
          <e type="operand">j</e>
          <e type="operand">k</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="3">el</e>
          <e type="operand">ΔI</e>
          <e type="operand">Δz</e>
          <e type="operator" args="2">/</e>
          <e type="operand">Δt</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operand">CCg</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">/</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="operand">1</e>
          <e type="operand">Δt</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operand">CCg</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">/</e>
          <e type="operand">Gg</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operator" args="2">/</e>
          <e type="operator" args="2">:</e>
          <e type="function" args="3">if</e>
          <e type="function" args="3">if</e>
          <e type="operand">VT</e>
          <e type="operand">VG</e>
          <e type="operator" args="2">:</e>
          <e type="operand">3</e>
          <e type="operand">1</e>
          <e type="function" args="5">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">n</e>
          <e type="operand">1</e>
          <e type="operand">Ncell</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="bracket">(</e>
          <e type="function" args="2">range</e>
          <e type="operand">ΔV</e>
          <e type="operand">VT</e>
          <e type="operand">n</e>
          <e type="operand">1</e>
          <e type="operator" args="2">+</e>
          <e type="operand">k</e>
          <e type="function" args="3">el</e>
          <e type="operand">VT</e>
          <e type="operand">n</e>
          <e type="operand">k</e>
          <e type="function" args="3">el</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">AI</e>
          <e type="operand">n</e>
          <e type="operand">k</e>
          <e type="function" args="3">el</e>
          <e type="operand">AI</e>
          <e type="operand">n</e>
          <e type="operand">k</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="3">el</e>
          <e type="operand">Δt</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operand">L</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">/</e>
          <e type="operand">E</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operand">ΔV</e>
          <e type="operand">Δz</e>
          <e type="operator" args="2">/</e>
          <e type="operator" args="2">-</e>
          <e type="bracket">(</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operand">1</e>
          <e type="operand">Δt</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operand">L</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">/</e>
          <e type="operand">R</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">+</e>
          <e type="operator" args="2">/</e>
          <e type="operator" args="2">:</e>
          <e type="operand">AI</e>
          <e type="operand">3</e>
          <e type="operand">1</e>
          <e type="function" args="5">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="operand">VT</e>
          <e type="operand">AI</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">mat</e>
          <e type="operand">3</e>
          <e type="operand">1</e>
          <e type="function" args="5">line</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="2" left="423" top="126" width="270" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Initialize Results to Zero</p>
      </text>
    </region>
    <region id="3" left="423" top="207" width="151" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Time Loop on k</p>
      </text>
    </region>
    <region id="4" left="423" top="234" width="300" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Spatial Loop on j for Voltage</p>
      </text>
    </region>
    <region id="5" left="423" top="288" width="319" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Currents From Previous Time k-1</p>
      </text>
    </region>
    <region id="6" left="423" top="360" width="360" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Votage at End Point Terminations ZT</p>
      </text>
    </region>
    <region id="7" left="423" top="486" width="344" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Voltage at Remaining Cable Points </p>
      </text>
    </region>
    <region id="8" left="423" top="567" width="300" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Spatial Loop on n for Current</p>
      </text>
    </region>
    <region id="9" left="423" top="603" width="270" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Voltages at Present Time k</p>
      </text>
    </region>
    <region id="10" left="423" top="675" width="379" height="28" color="#ff0000" bgColor="#ffffff" fontSize="12">
      <text lang="eng">
        <p bold="true">Current at Point n and Present Time k</p>
      </text>
    </region>
    <region id="11" left="414" top="774" width="289" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
      <math optimize="2" evaluate="false" decimalPlaces="4" exponentialThreshold="5">
        <input>
          <e type="operand">V</e>
          <e type="operand">Ans</e>
          <e type="operand">1</e>
          <e type="operand">Ncell</e>
          <e type="operand">1</e>
          <e type="operand">Nt</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="5">submatrix</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="12" left="45" top="801" width="131" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
      <math decimalPlaces="4" exponentialThreshold="5">
        <input>
          <e type="operand">Ans1</e>
          <e type="operand">Ans</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="13" left="414" top="801" width="337" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
      <math optimize="2" evaluate="false" decimalPlaces="4" exponentialThreshold="5">
        <input>
          <e type="operand">I</e>
          <e type="operand">Ans</e>
          <e type="operand">Ncell</e>
          <e type="operand">2</e>
          <e type="operand">Ncell</e>
          <e type="operator" args="2">*</e>
          <e type="operand">1</e>
          <e type="operand">Nt</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="5">submatrix</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="14" left="36" top="837" width="79" height="33" color="#000000" bgColor="#ffffff" fontSize="10">
      <math decimalPlaces="4" exponentialThreshold="5">
        <input>
          <e type="operand">V</e>
          <e type="operand">Ans1</e>
          <e type="operand">1</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="15" left="135" top="837" width="79" height="33" color="#000000" bgColor="#ffffff" fontSize="10">
      <math decimalPlaces="4" exponentialThreshold="5">
        <input>
          <e type="operand">I</e>
          <e type="operand">Ans1</e>
          <e type="operand">2</e>
          <e type="function" args="2">el</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
  </regions>
</worksheet>