Overview
| Comment: | Added extra info - current subsystem |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | origin/master | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
d7b29b20262b686a69dc5856cc636c7d |
| User & Date: | gawthrop@users.sourceforge.net on 1999-11-01 03:17:45.000 |
| Other Links: | branch diff | manifest | tags |
Context
|
1999-11-01
| ||
| 21:20:14 | Removed the E matrix from the cse file. check-in: ca241a01ee user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
| 03:17:45 | Added extra info - current subsystem check-in: d7b29b2026 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
|
1999-10-28
| ||
| 05:08:48 | Added elseif check-in: 80e1d032bc user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/bin/trans/m/abg2cbg.m
from [b751c30fd5]
to [0ce9d167d6].
| ︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # [bonds,status] = abg2cbg(system_name, system_type, full_name, port_bonds, infofile) # ############################################################### # ## Version control history # ############################################################### # ## $Id$ # ## $Log$ # ## Revision 1.43 1998/12/14 15:19:36 peterg # ## Added missing "derivative_causality," argument to recursive call of # ## this function # ## # ## Revision 1.42 1998/12/03 14:55:40 peterg # ## Now uses number of components with complete causality to measure # ## progress of algorithm -- Done. | > > > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # [bonds,status] = abg2cbg(system_name, system_type, full_name, port_bonds, infofile) # ############################################################### # ## Version control history # ############################################################### # ## $Id$ # ## $Log$ # ## Revision 1.44 1999/03/11 23:54:11 peterg # ## Include possibility of vector SS when finding port_bond_index # ## # ## Revision 1.43 1998/12/14 15:19:36 peterg # ## Added missing "derivative_causality," argument to recursive call of # ## this function # ## # ## Revision 1.42 1998/12/03 14:55:40 peterg # ## Now uses number of components with complete causality to measure # ## progress of algorithm -- Done. |
| ︙ | ︙ | |||
178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# ## Now recursively does causality on subsystems.
# ##
# ## Revision 1.1 1996/08/04 17:55:55 peter
# ## Initial revision
# ##
# ###############################################################
pc = '%';
if nargin<1
system_name = 'no_name';
end;
if nargin<4
port_bonds = [];
| > > | 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# ## Now recursively does causality on subsystems.
# ##
# ## Revision 1.1 1996/08/04 17:55:55 peter
# ## Initial revision
# ##
# ###############################################################
mtt_info(sprintf("\nCompleting causality for subsystem %s", system_name), infofile);
pc = '%';
if nargin<1
system_name = 'no_name';
end;
if nargin<4
port_bonds = [];
|
| ︙ | ︙ | |||
277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 |
# of the bonds in the encapsulating system -- but not at top level
Flipped.ports="";Flipped.subs="";Flipped.cons="";
if (n_ports>0)&&(!at_top_level) # Coerce directions
for i=1:n_ports
name = deblank(ABG.portlist(i,:)); # Name of this port
eval(["port = ABG.ports.",name,";"]); # Extract port info
if (sign(port.connections)!=port_bond_direction(i)) # Direction different?
eval(["ABG.ports.",name,".connections = - port.connections;"]); # Flip direction at port
Flipped.ports=[Flipped.ports;name]; # Remember which port has been flipped
bond_index=abs(port.connections); # Index of bond on port
mtt_info(sprintf("Flip port %s on %s"\
,name,full_name),infofile); # And report
for [subsystem,name] = ABG.subsystems # and at the other end
for k=1:length(subsystem.connections)
| > > > > > > > | | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 |
# of the bonds in the encapsulating system -- but not at top level
Flipped.ports="";Flipped.subs="";Flipped.cons="";
if (n_ports>0)&&(!at_top_level) # Coerce directions
for i=1:n_ports
name = deblank(ABG.portlist(i,:)); # Name of this port
eval(["port = ABG.ports.",name,";"]); # Extract port info
disp ("----");
i
name
port
port_bond_direction
port.connections
if (sign(port.connections)!=port_bond_direction(i)) # Direction different?
eval(["ABG.ports.",name,".connections = - port.connections;"]); # Flip direction at port
Flipped.ports=[Flipped.ports;name]; # Remember which port has been flipped
bond_index=abs(port.connections); # Index of bond on port
mtt_info(sprintf("Flip port %s on %s"\
,name,full_name),infofile); # And report
for [subsystem,name] = ABG.subsystems # and at the other end
for k=1:length(subsystem.connections)
if (abs(subsystem.connections(k))==bond_index) # Then flip the connection
eval(["ABG.subsystems.",name,".connections(k) = -subsystem.connections(k);"]);
Flipped.subs=[Flipped.subs;name]; # Remember which subsystem has been flipped
Flipped.cons=[Flipped.cons;k]; # Remember which connection has been flipped
mtt_info(sprintf("Flip subsystem %s on %s"\
,name,full_name),infofile); # And report
endif
endfor
|
| ︙ | ︙ | |||
389 390 391 392 393 394 395 396 397 398 399 400 401 402 |
if exist(cause_name)==2 # If there is a predefined causality function; use it
comp_bonds = comp_bonds.*(port_bond_direction*[1 1]); # Convert from arrow orientated to component orientated causality
eval([ "[comp_bonds] = ", cause_name, "(comp_bonds);" ]); # Evaluate the built-in causality procedure
comp_bonds = comp_bonds.*(port_bond_direction*[1 1]); # and convert from component orientated to arrow orientated causality
end;
[comp_bonds,subsystem.status] = abg2cbg(name, subsystem.type, full_name,
comp_bonds, port_bond_direction, port_status, ...
derivative_causality, ...
typefile, infofile, errorfile);
# # Create a single status from the status vector s
# if max(abs(s)) == 0 # Causal
# status(i) = 0;
| > | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
if exist(cause_name)==2 # If there is a predefined causality function; use it
comp_bonds = comp_bonds.*(port_bond_direction*[1 1]); # Convert from arrow orientated to component orientated causality
eval([ "[comp_bonds] = ", cause_name, "(comp_bonds);" ]); # Evaluate the built-in causality procedure
comp_bonds = comp_bonds.*(port_bond_direction*[1 1]); # and convert from component orientated to arrow orientated causality
end;
port_bond_direction,comp_bonds
[comp_bonds,subsystem.status] = abg2cbg(name, subsystem.type, full_name,
comp_bonds, port_bond_direction, port_status, ...
derivative_causality, ...
typefile, infofile, errorfile);
# # Create a single status from the status vector s
# if max(abs(s)) == 0 # Causal
# status(i) = 0;
|
| ︙ | ︙ |