function [wPipe] =  wPipe_abg
# This function is the acausal bond graph representation of wPipe
# Generated by MTT on Thu Mar 16 10:37:39 2000
# The file is in Octave format

# Subsystems and Ports

# Port Hydraulic_in
  wPipe.ports.Hydraulic_in.type = "SS";
  wPipe.ports.Hydraulic_in.cr = "SS";
  wPipe.ports.Hydraulic_in.arg = "external,external";
  wPipe.ports.Hydraulic_in.repetitions = 1;
  wPipe.ports.Hydraulic_in.status = -1;
  wPipe.ports.Hydraulic_in.connections = [-1 ];

# Port Hydraulic_out
  wPipe.ports.Hydraulic_out.type = "SS";
  wPipe.ports.Hydraulic_out.cr = "SS";
  wPipe.ports.Hydraulic_out.arg = "external,external";
  wPipe.ports.Hydraulic_out.repetitions = 1;
  wPipe.ports.Hydraulic_out.status = -1;
  wPipe.ports.Hydraulic_out.connections = [17 ];

# Port Shaft
  wPipe.ports.Shaft.type = "SS";
  wPipe.ports.Shaft.cr = "SS";
  wPipe.ports.Shaft.arg = "external,external";
  wPipe.ports.Shaft.repetitions = 1;
  wPipe.ports.Shaft.status = -1;
  wPipe.ports.Shaft.connections = [-20 ];

# Port Thermal_in
  wPipe.ports.Thermal_in.type = "SS";
  wPipe.ports.Thermal_in.cr = "SS";
  wPipe.ports.Thermal_in.arg = "external,external";
  wPipe.ports.Thermal_in.repetitions = 1;
  wPipe.ports.Thermal_in.status = -1;
  wPipe.ports.Thermal_in.connections = [-14 ];

# Port Thermal_out
  wPipe.ports.Thermal_out.type = "SS";
  wPipe.ports.Thermal_out.cr = "SS";
  wPipe.ports.Thermal_out.arg = "external,external";
  wPipe.ports.Thermal_out.repetitions = 1;
  wPipe.ports.Thermal_out.status = -1;
  wPipe.ports.Thermal_out.connections = [16 ];

# Component rho1
  wPipe.subsystems.rho1.type = "Density";
  wPipe.subsystems.rho1.cr = "none";
  wPipe.subsystems.rho1.arg = "density,ideal_gas,r";
  wPipe.subsystems.rho1.repetitions = 1;
  wPipe.subsystems.rho1.status = -1;
  wPipe.subsystems.rho1.connections = [4 3 -5 ];

# Component rho2
  wPipe.subsystems.rho2.type = "Density";
  wPipe.subsystems.rho2.cr = "none";
  wPipe.subsystems.rho2.arg = "density,ideal_gas,r";
  wPipe.subsystems.rho2.repetitions = 1;
  wPipe.subsystems.rho2.status = -1;
  wPipe.subsystems.rho2.connections = [12 11 -10 ];

# Component p2pv
  wPipe.subsystems.p2pv.type = "EMTF";
  wPipe.subsystems.p2pv.cr = "lin";
  wPipe.subsystems.p2pv.arg = "flow";
  wPipe.subsystems.p2pv.repetitions = 1;
  wPipe.subsystems.p2pv.status = -1;
  wPipe.subsystems.p2pv.connections = [2 -9 5 ];

# Component pv2p
  wPipe.subsystems.pv2p.type = "EMTF";
  wPipe.subsystems.pv2p.cr = "lin";
  wPipe.subsystems.pv2p.arg = "effort";
  wPipe.subsystems.pv2p.repetitions = 1;
  wPipe.subsystems.pv2p.status = -1;
  wPipe.subsystems.pv2p.connections = [7 -18 10 ];

# Component t2u
  wPipe.subsystems.t2u.type = "TF";
  wPipe.subsystems.t2u.cr = "lin";
  wPipe.subsystems.t2u.arg = "effort,c_v";
  wPipe.subsystems.t2u.repetitions = 1;
  wPipe.subsystems.t2u.status = -1;
  wPipe.subsystems.t2u.connections = [15 -6 ];

# Component u2t
  wPipe.subsystems.u2t.type = "TF";
  wPipe.subsystems.u2t.cr = "lin";
  wPipe.subsystems.u2t.arg = "flow,c_v";
  wPipe.subsystems.u2t.repetitions = 1;
  wPipe.subsystems.u2t.status = -1;
  wPipe.subsystems.u2t.connections = [8 -13 ];

# Component mtt1
  wPipe.subsystems.mtt1.type = "0";
  wPipe.subsystems.mtt1.cr = "";
  wPipe.subsystems.mtt1.arg = "";
  wPipe.subsystems.mtt1.repetitions = 1;
  wPipe.subsystems.mtt1.status = -1;
  wPipe.subsystems.mtt1.connections = [-3 14 -15 ];

# Component mtt2
  wPipe.subsystems.mtt2.type = "0";
  wPipe.subsystems.mtt2.cr = "";
  wPipe.subsystems.mtt2.arg = "";
  wPipe.subsystems.mtt2.repetitions = 1;
  wPipe.subsystems.mtt2.status = -1;
  wPipe.subsystems.mtt2.connections = [1 -2 -4 ];

# Component mtt3
  wPipe.subsystems.mtt3.type = "1";
  wPipe.subsystems.mtt3.cr = "";
  wPipe.subsystems.mtt3.arg = "";
  wPipe.subsystems.mtt3.repetitions = 1;
  wPipe.subsystems.mtt3.status = -1;
  wPipe.subsystems.mtt3.connections = [6 -7 -8 9 19 ];

# Component mtt4
  wPipe.subsystems.mtt4.type = "0";
  wPipe.subsystems.mtt4.cr = "";
  wPipe.subsystems.mtt4.arg = "";
  wPipe.subsystems.mtt4.repetitions = 1;
  wPipe.subsystems.mtt4.status = -1;
  wPipe.subsystems.mtt4.connections = [-11 13 -16 ];

# Component mtt5
  wPipe.subsystems.mtt5.type = "0";
  wPipe.subsystems.mtt5.cr = "";
  wPipe.subsystems.mtt5.arg = "";
  wPipe.subsystems.mtt5.repetitions = 1;
  wPipe.subsystems.mtt5.status = -1;
  wPipe.subsystems.mtt5.connections = [-12 -17 18 ];

# Component mtt6
  wPipe.subsystems.mtt6.type = "1";
  wPipe.subsystems.mtt6.cr = "";
  wPipe.subsystems.mtt6.arg = "";
  wPipe.subsystems.mtt6.repetitions = 1;
  wPipe.subsystems.mtt6.status = -1;
  wPipe.subsystems.mtt6.connections = [-19 20 ];

# Ordered list of Port names
  wPipe.portlist(1,:) = "Hydraulic_in ";
  wPipe.portlist(2,:) = "Hydraulic_out";
  wPipe.portlist(3,:) = "Shaft        ";
  wPipe.portlist(4,:) = "Thermal_in   ";
  wPipe.portlist(5,:) = "Thermal_out  ";

# Ordered list of subsystem names
  wPipe.subsystemlist(1,:) = "rho1";
  wPipe.subsystemlist(2,:) = "rho2";
  wPipe.subsystemlist(3,:) = "p2pv";
  wPipe.subsystemlist(4,:) = "pv2p";
  wPipe.subsystemlist(5,:) = "t2u ";
  wPipe.subsystemlist(6,:) = "u2t ";
  wPipe.subsystemlist(7,:) = "mtt1";
  wPipe.subsystemlist(8,:) = "mtt2";
  wPipe.subsystemlist(9,:) = "mtt3";
  wPipe.subsystemlist(10,:) = "mtt4";
  wPipe.subsystemlist(11,:) = "mtt5";
  wPipe.subsystemlist(12,:) = "mtt6";

# Bonds 
  wPipe.bonds = [
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      0 0 
      -1 -1 
      ];

# Aliases 
# A double underscore __ represents a comma 
wPipe.alias.out = "Thermal_out,Hydraulic_out";
wPipe.alias.Hy_out = "Hydraulic_out";
wPipe.alias.c_v = "$1";
wPipe.alias.Th_in = "Thermal_in";
wPipe.alias.Th_out = "Thermal_out";
wPipe.alias.Work = "Shaft";
wPipe.alias.in = "Thermal_in,Hydraulic_in";
wPipe.alias.Hy_in = "Hydraulic_in";
wPipe.alias.density__ideal_gas__r = "$2";
