ReferenceVoltageSource

model ReferenceVoltageSource "Variable multiphase AC voltage with reference angle input"
    import Modelica.Constants.pi;

    extends Electrical.QuasiStationary.MultiPhase.Interfaces.ReferenceSource;

    Modelica.Blocks.Interfaces.RealInput gamma "Reference angle of voltage source"
        annotation (Placement(transformation(
            origin = {60, 120},
            extent = {
                {-20, -20}, 
                {20, 20}},
            rotation = 270)));
    Modelica.ComplexBlocks.Interfaces.ComplexInput V[m] annotation (Placement(transformation(
        origin = {-60, 120},
        extent = {
            {-20, -20}, 
            {20, 20}},
        rotation = 270)));
equation
    v = V;
    plug_p.reference.gamma = gamma;

    annotation (
        defaultComponentName = "voltageSource",
        Documentation(info = "<html>\n\n<p>\nThis model describes <em>m</em> variable current sources, with <em>m</em> complex signal inputs,\nspecifying the complex current by the complex RMS voltage components.\nAdditionally, the frequency of the current source is defined by a real signal input.\n<em>m</em> <a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Sources.VariableCurrentSource\">single phase VariableCurrentSources</a> are used.\n</p>\n\n<h4>See also</h4>\n\n<p>\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Sources.VoltageSource\">SinglePhase.VoltageSource</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Sources.VoltageSource\">VoltageSource</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Sources.VariableVoltageSource\">VariableVoltageSource</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Sources.CurrentSource\">CurrentSource</a>.\n</p>\n</html>"),
        Icon(graphics = {
            Line(
                points = {
                    {-70, 30}, 
                    {-70, 10}},
                color = {85, 170, 255}), 
            Line(
                points = {
                    {-80, 20}, 
                    {-60, 20}},
                color = {85, 170, 255}), 
            Line(
                points = {
                    {60, 20}, 
                    {80, 20}},
                color = {85, 170, 255}), 
            Line(
                points = {
                    {-50, 0}, 
                    {50, 0}},
                color = {85, 170, 255})}));
end ReferenceVoltageSource;