Thanks. What you describe makes sense. Of course the simple code I used to demonstrate isn't what I'm really trying to do. I want to do something like this which probably won't work outside of SystemModeler based on your comment. It does work just fine within SystemModeler so it's not a complete loss. It was my hope I could drive models like this using WSMSimulate and I frequently need to initialize to steady-state, but not always.
model Volume
parameter Boolean steady = false;
Real p(start = pinit, fixed = not steady);
Real h(start = 300);
Real t(start = 500, fixed = not steady);
Real rho(start = 1.5);
Real mass(start = 3);
Real u(start = 100);
Real U(start = 300);
parameter String fluid = "O2";
parameter Real Volume = 10000;
parameter Real pinit = 500;
MyConnector myConnector annotation(Placement(visible = true, transformation(origin = {137.82, -0}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {90, -0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
MyConnector myConnector1 annotation(Placement(visible = true, transformation(origin = {-136.911, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {-90, -0}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
equation
t = Props.pht(fluid, p, h);
u = Props.phu(fluid, p, h);
rho = Props.phrho(fluid, p, h);
mass = rho * Volume / 12 / 12 / 12;
der(mass) = myConnector.m_flow + myConnector1.m_flow;
U = u * mass;
der(U) = myConnector.m_flow * actualStream(myConnector.h_outflow) + myConnector1.m_flow * actualStream(myConnector1.h_outflow);
myConnector.h_outflow = h;
myConnector.Pt = p;
myConnector1.h_outflow = h;
myConnector1.Pt = p;
initial equation
if steady then
der(mass) = 0;
der(U) = 0;
end if ;
end Volume;