<?xml version="1.0" standalone="no"?>
<!DOCTYPE model PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
"http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<model name="topLevel" class="ptolemy.actor.TypedCompositeActor">

  <director name="PNDirector" class="ptolemy.domains.pn.kernel.BasePNDirector">
   <property name="Initial_queue_capacity" class="ptolemy.data.expr.Parameter" value="1"></property>
  </director>

  <property name="notation"
      class="ptolemy.vergil.ptolemy.CompaanNotation">
  </property>

  <property name="N" class="ptolemy.data.expr.Parameter" value="100">
    <doc>No documentation.</doc>
  </property>

  <entity name="ND_1" class="ptolemy.domains.pn.panda.faddeev.ND_1">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="4*N^2 + 8*N + 4"></property>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d2" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d3" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d4" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d5" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_2" class="ptolemy.domains.pn.panda.faddeev.ND_2">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="1"></property>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_3" class="ptolemy.domains.pn.panda.faddeev.ND_3">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 + 1/2.0*N"></property>
    <port name="IP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_2" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_3" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_4" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_5" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d1" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_4" class="ptolemy.domains.pn.panda.faddeev.ND_4">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 + 1/2.0*N"></property>
    <port name="IP_6" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_7" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_8" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_9" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_10" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d2" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_5" class="ptolemy.domains.pn.panda.faddeev.ND_5">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 + 1/2.0*N"></property>
    <port name="IP_11" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d1" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_6" class="ptolemy.domains.pn.panda.faddeev.ND_6">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 + N^2 + 1/6.0*N"></property>
    <port name="IP_12" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_13" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_14" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_15" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_16" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_7" class="ptolemy.domains.pn.panda.faddeev.ND_7">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 + N^2 + 1/6.0*N"></property>
    <port name="IP_17" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_18" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_19" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_20" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_21" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d2" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d3" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d4" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d5" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d6" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d7" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_8" class="ptolemy.domains.pn.panda.faddeev.ND_8">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 + N^2 + 1/6.0*N"></property>
    <port name="IP_22" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d1" class="ptolemy.actor.TypedIOPort"></port>
    <port name="OP_1_d2" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <entity name="ND_9" class="ptolemy.domains.pn.panda.faddeev.ND_9">
    <property name="N" class="ptolemy.data.expr.Parameter" value="N"></property>
      <property name="ehrhart" class="ptolemy.data.expr.Parameter" value="N^2"></property>
    <port name="IP_23" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_24" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_25" class="ptolemy.actor.TypedIOPort"></port>
    <port name="IP_26" class="ptolemy.actor.TypedIOPort"></port>
  </entity>

  <relation name="ED_1" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 - 1/2.0*N"></property>
    <doc>A_4(k-1,j,i)</doc>
  </relation>
  <link port="ND_7.OP_1" relation="ED_1"/>
  <link port="ND_3.IP_1" relation="ED_1"/>

  <relation name="ED_2" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="N"></property>
    <doc>A_1(j,i)</doc>
  </relation>
  <link port="ND_1.OP_1" relation="ED_2"/>
  <link port="ND_3.IP_2" relation="ED_2"/>

  <relation name="ED_3" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 - 1/2.0*N"></property>
    <doc>A_2(k,j-1,i)</doc>
  </relation>
  <link port="ND_4.OP_1" relation="ED_3"/>
  <link port="ND_3.IP_3" relation="ED_3"/>

  <relation name="ED_4" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="N - 1"></property>
    <doc>A_4(k-1,i,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d1" relation="ED_4"/>
  <link port="ND_3.IP_4" relation="ED_4"/>

  <relation name="ED_5" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1"></property>
    <doc>A_1(i,i)</doc>
  </relation>
  <link port="ND_1.OP_1_d1" relation="ED_5"/>
  <link port="ND_3.IP_5" relation="ED_5"/>

  <relation name="ED_6" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 - 1/2.0*N"></property>
    <doc>A_2(k,j-1,i)</doc>
  </relation>
  <link port="ND_4.OP_1_d1" relation="ED_6"/>
  <link port="ND_4.IP_6" relation="ED_6"/>

  <relation name="ED_7" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="N - 1"></property>
    <doc>A_4(k-1,i,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d2" relation="ED_7"/>
  <link port="ND_4.IP_7" relation="ED_7"/>

  <relation name="ED_8" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1"></property>
    <doc>A_1(i,i)</doc>
  </relation>
  <link port="ND_1.OP_1_d2" relation="ED_8"/>
  <link port="ND_4.IP_8" relation="ED_8"/>

  <relation name="ED_9" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 - 1/2.0*N"></property>
    <doc>A_4(k-1,j,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d3" relation="ED_9"/>
  <link port="ND_4.IP_9" relation="ED_9"/>

  <relation name="ED_10" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="N"></property>
    <doc>A_1(j,i)</doc>
  </relation>
  <link port="ND_1.OP_1_d3" relation="ED_10"/>
  <link port="ND_4.IP_10" relation="ED_10"/>

  <relation name="ED_11" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="-1"></property>
    <doc>x_1(1) broadcast</doc>
  </relation>
  <link port="ND_2.OP_1" relation="ED_11"/>
  <link port="ND_5.IP_11" relation="ED_11"/>

  <relation name="ED_12" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 - 1/2.0*N^2 - 1/3.0*N"></property>
    <doc>A_5(k,j-1,i)</doc>
  </relation>
  <link port="ND_8.OP_1" relation="ED_12"/>
  <link port="ND_6.IP_12" relation="ED_12"/>

  <relation name="ED_13" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="3/2.0*N^2 + 1/2.0*N"></property>
    <doc>A_4(k-1,k,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d4" relation="ED_13"/>
  <link port="ND_6.IP_13" relation="ED_13"/>

  <relation name="ED_14" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="-1"></property>
    <doc>phi_1(k,j,k) broadcast</doc>
  </relation>
  <link port="ND_3.OP_1" relation="ED_14"/>
  <link port="ND_6.IP_14" relation="ED_14"/>

  <relation name="ED_15" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 - N^2 + 1/6.0*N"></property>
    <doc>A_4(k-1,j,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d5" relation="ED_15"/>
  <link port="ND_6.IP_15" relation="ED_15"/>

  <relation name="ED_16" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="2*N^2"></property>
    <doc>A_1(j,i)</doc>
  </relation>
  <link port="ND_1.OP_1_d4" relation="ED_16"/>
  <link port="ND_6.IP_16" relation="ED_16"/>

  <relation name="ED_17" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 - 1/2.0*N^2 - 1/3.0*N"></property>
    <doc>A_5(k,j-1,i)</doc>
  </relation>
  <link port="ND_8.OP_1_d1" relation="ED_17"/>
  <link port="ND_7.IP_17" relation="ED_17"/>

  <relation name="ED_18" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="3/2.0*N^2 + 1/2.0*N"></property>
    <doc>A_4(k-1,k,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d6" relation="ED_18"/>
  <link port="ND_7.IP_18" relation="ED_18"/>

  <relation name="ED_19" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="-1"></property>
    <doc>phi_1(k,j,k) broadcast</doc>
  </relation>
  <link port="ND_3.OP_1_d1" relation="ED_19"/>
  <link port="ND_7.IP_19" relation="ED_19"/>

  <relation name="ED_20" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 - N^2 + 1/6.0*N"></property>
    <doc>A_4(k-1,j,i)</doc>
  </relation>
  <link port="ND_7.OP_1_d7" relation="ED_20"/>
  <link port="ND_7.IP_20" relation="ED_20"/>

  <relation name="ED_21" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="2*N^2"></property>
    <doc>A_1(j,i)</doc>
  </relation>
  <link port="ND_1.OP_1_d5" relation="ED_21"/>
  <link port="ND_7.IP_21" relation="ED_21"/>

  <relation name="ED_22" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="5/6.0*N^3 + N^2 + 1/6.0*N"></property>
    <doc>temp_A_1(k,j,i)</doc>
  </relation>
  <link port="ND_6.OP_1" relation="ED_22"/>
  <link port="ND_8.IP_22" relation="ED_22"/>

  <relation name="ED_23" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="N"></property>
    <doc>A_2(i,N+1,i)</doc>
  </relation>
  <link port="ND_4.OP_1_d2" relation="ED_23"/>
  <link port="ND_9.IP_23" relation="ED_23"/>

  <relation name="ED_24" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 - 1/2.0*N"></property>
    <doc>A_5(i,N+1,j)</doc>
  </relation>
  <link port="ND_8.OP_1_d2" relation="ED_24"/>
  <link port="ND_9.IP_24" relation="ED_24"/>

  <relation name="ED_25" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="N - 1"></property>
    <doc>A_3(i-1,i,i-1)</doc>
  </relation>
  <link port="ND_5.OP_1" relation="ED_25"/>
  <link port="ND_9.IP_25" relation="ED_25"/>

  <relation name="ED_26" class="ptolemy.actor.TypedIORelation">
    <property name="communication" class="ptolemy.data.expr.Parameter" value="1/2.0*N^2 - 3/2.0*N + 1"></property>
    <doc>A_3(j,i,j)</doc>
  </relation>
  <link port="ND_5.OP_1_d1" relation="ED_26"/>
  <link port="ND_9.IP_26" relation="ED_26"/>

</model>

