function [bonds,status] = RS_cause(bonds);
% Causality for RS component
%SUMMARY RS: resistor with entropy generation
%DESCRIPTION Port[in]: a simple one port resistor
%DESCRIPTION Port[out]: thermal power - effort is temperature, flow is entropy flow
%DESCRIPTION Not bicausal (yet)
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% Version control history
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% $Id$
% %% $Log$
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (c) P.J. Gawthrop, 1997.
status = -1;
% Check that there are exactly two bonds.
if check_bonds(bonds,2,'RS')==0
return
end
% There are 2 ports; extract the information
in_bonds = bonds(1,:);
out_bonds = bonds(2,:);
% Port [in] is an ordinary resistor
[in_bonds,in_status] = R_cause(in_bonds);
% Port [out] has the same causality pattern as an ordinary resistor
[out_bonds,out_status] = R_cause(out_bonds);
% Reconstruct the bonds
bonds = [in_bonds; out_bonds];
% Generate an overall status
if (in_status==1)|(out_status==1)
status = 1;
elseif
(in_status==-1)|(out_status==-1)
status=-1;
else
status = 0;
end;