SineVoltage
model SineVoltage "Sine voltage source"
parameter Real V=1 "Amplitude of sine wave";
parameter Real phase=0 "Phase of sine wave";
parameter Real freqHz=1 "Frequency of sine wave";
parameter Real offset=0 "Offset volatge of sine wave";
parameter Real startTime=0 "sine wave start time";
parameter Real PI=3.141592653589793;
Pin p, n;
Real v;
equation
v = offset + (if time < startTime then 0 else V*Modelica.Math.sin(2*PI*freqHz*(time - startTime) +phase));
v= p.v - n.v;
0 = p.i + n.i;
end SineVoltage;