Tags and keywords
The Modelica By Example page does not show the code for the usage comparison, but it does give this patch diagram:
This page contains content quoted, copied, or adapted for educational purposes from the Modelica By Example tutorials for educational purposes. The original © copyright is retained by Dr. Michael M. Tiller.
The exported complete Modelica code for the SysML/SysPhS block FoxRabbitWithInit
is:
model FoxRabbitWithInit
FoxRabbitWithInit _FoxRabbitWithInit;
model FoxRabbitWithInit
RegionalPopulation f;
RegionalPopulation r;
Starvation fS(gamma.start=0.4,gamma.fixed=true);
Reproduction rR(alpha.start=0.1,alpha.fixed=true);
Predation fP(beta.start=0.02,beta.fixed=true,delta.start=0.02,delta.fixed=true);
equation
connect(fS.s,f.s);
connect(fP.b,f.s);
connect(fP.a,r.s);
connect(r.s,rR.s);
end FoxRabbitWithInit;
model RegionalPopulation
SpeciesFlowElement s;
Population p(start=10.0,fixed=true);
parameter Population p0;
equation
der(p)=s.r;
p=s.p;
end RegionalPopulation;
model Starvation
extends SinkOrSource;
parameter Rate gamma;
equation
decline=gamma*s.p;
end Starvation;
model Reproduction
extends SinkOrSource;
parameter Rate alpha;
equation
growth=alpha*s.p;
end Reproduction;
model Predation
extends Interaction;
parameter Rate beta;
parameter Rate delta;
equation
b_growth=delta*a.p*b.p;
a_decline=beta*a.p*b.p;
end Predation;
connector SpeciesFlowElement
Population p;
flow Rate r;
end SpeciesFlowElement;
model SinkOrSource
Rate growth;
Rate decline;
SpeciesFlowElement s;
equation
decline=-growth;
s.r=decline;
end SinkOrSource;
model Interaction
SpeciesFlowElement a;
SpeciesFlowElement b;
Rate a_growth;
Rate a_decline;
Rate b_growth;
Rate b_decline;
equation
a_decline=-a_growth;
a.r=a_decline;
b_decline=-b_growth;
b.r=b_decline;
end Interaction;
type Population=Real;
type Rate=Real(unit="1/s");
end FoxRabbitWithInit;