Modelica.Electrical.Analog.Basic

Modelica.Electrical.Analog.Basic.Ground Modelica.Electrical.Analog.Basic.Resistor Modelica.Electrical.Analog.Basic.HeatingResistor Modelica.Electrical.Analog.Basic.Conductor Modelica.Electrical.Analog.Basic.Capacitor Modelica.Electrical.Analog.Basic.Inductor Modelica.Electrical.Analog.Basic.SaturatingInductor Modelica.Electrical.Analog.Basic.Transformer Modelica.Electrical.Analog.Basic.Gyrator Modelica.Electrical.Analog.Basic.EMF Modelica.Electrical.Analog.Basic.VCV Modelica.Electrical.Analog.Basic.VCC Modelica.Electrical.Analog.Basic.CCV Modelica.Electrical.Analog.Basic.CCC Modelica.Electrical.Analog.Basic.OpAmp Modelica.Electrical.Analog.Basic.VariableResistor Modelica.Electrical.Analog.Basic.VariableConductor Modelica.Electrical.Analog.Basic.VariableCapacitor Modelica.Electrical.Analog.Basic.VariableInductor

Information


This package contains basic analog electrical components:

NameDescription
Ground Ground node
Resistor Ideal linear electrical resistor
HeatingResistor Temperature dependent electrical resistor
Conductor Ideal linear electrical conductor
Capacitor Ideal linear electrical capacitor
Inductor Ideal linear electrical inductor
SaturatingInductor Simple model of an inductor with saturation
Transformer Transformer with two ports
Gyrator Gyrator
EMF Electromotoric force (electric/mechanic transformer)
VCV Linear voltage-controlled voltage source
VCC Linear voltage-controlled current source
CCV Linear current-controlled voltage source
CCC Linear current-controlled current source
OpAmp Simple nonideal model of an OpAmp with limitation
VariableResistor Ideal linear electrical resistor with variable resistance
VariableConductor Ideal linear electrical conductor with variable conductance
VariableCapacitor Ideal linear electrical capacitor with variable capacitance
VariableInductor Ideal linear electrical inductor with variable inductance


Modelica.Electrical.Analog.Basic.Ground Modelica.Electrical.Analog.Basic.Ground

Ground node

Modelica.Electrical.Analog.Basic.Ground

Information


Ground of an electrical circuit. The potential at the ground node is zero. Every electrical circuit has to contain at least one ground object.


Modelica definition

model Ground "Ground node" 
  Interfaces.Pin p;
equation 
  p.v = 0;
end Ground;

Modelica.Electrical.Analog.Basic.Resistor Modelica.Electrical.Analog.Basic.Resistor

Ideal linear electrical resistor

Modelica.Electrical.Analog.Basic.Resistor

Information


The linear resistor connects the branch voltage v with the branch current i by i*R = v. The Resistance R is allowed to be positive, zero, or negative.


Parameters

NameDefaultDescription
R1Resistance [Ohm]

Modelica definition

model Resistor "Ideal linear electrical resistor" 
  extends Interfaces.OnePort;
  parameter SI.Resistance R =      1 "Resistance";
equation 
  R*i = v;
end Resistor;

Modelica.Electrical.Analog.Basic.HeatingResistor Modelica.Electrical.Analog.Basic.HeatingResistor

Temperature dependent electrical resistor

Modelica.Electrical.Analog.Basic.HeatingResistor

Information


This is a model for an electrical resistor where the generated heat is dissipated to the environment via connector heatPort and where the resistance R is temperature dependent according to the following equation:

    R = R_ref*(1 + alpha*(heatPort.T - T_ref))

alpha is the temperature coefficient of resistance, which is often abbreviated as TCR. In resistor catalogues, it is usually defined as X [ppm/K] (parts per million, similarly to per centage) meaning X*1.e-6 [1/K]. Resistors are available for 1 .. 7000 ppm/K, i.e., alpha = 1e-6 .. 7e-3 1/K;

When connector heatPort is not connected, the temperature dependent behaviour is switched off by setting heatPort.T = T_ref. Additionally, the equation heatPort.Q_dot = 0 is implicitly present due to a special rule in Modelica that flow variables of not connected connectors are set to zero.


Parameters

NameDefaultDescription
R_ref Resistance at temperature T_ref [Ohm]
T_ref300Reference temperature [K]
alpha0Temperature coefficient of resistance [1/K]

Modelica definition

model HeatingResistor "Temperature dependent electrical resistor" 
  extends Interfaces.OnePort;
  
  parameter SI.Resistance R_ref "Resistance at temperature T_ref";
  parameter SI.Temperature T_ref =      300 "Reference temperature";
  parameter Real alpha(unit="1/K") = 0 "Temperature coefficient of resistance";
  
  SI.Resistance R "Resistance = R_ref*(1 + alpha*(heatPort.T - T_ref));";
  
  Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a heatPort;
equation 
  v = R*i;
  
  if cardinality(heatPort) > 0 then
    R = R_ref*(1 + alpha*(heatPort.T - T_ref));
    heatPort.Q_dot = -v*i;
  else
    /* heatPort is not connected resulting in the
         implicit equation 'heatPort.Q_dot = 0'
      */
    R = R_ref;
    heatPort.T = T_ref;
  end if;
end HeatingResistor;

Modelica.Electrical.Analog.Basic.Conductor Modelica.Electrical.Analog.Basic.Conductor

Ideal linear electrical conductor

Modelica.Electrical.Analog.Basic.Conductor

Information


The linear conductor connects the branch voltage v with the branch current i by i = v*G. The Conductance G is allowed to be positive, zero, or negative.


Parameters

NameDefaultDescription
G1Conductance [S]

Modelica definition

model Conductor "Ideal linear electrical conductor" 
  extends Interfaces.OnePort;
  parameter SI.Conductance G =      1 "Conductance";
equation 
  i = G*v;
end Conductor;

Modelica.Electrical.Analog.Basic.Capacitor Modelica.Electrical.Analog.Basic.Capacitor

Ideal linear electrical capacitor

Modelica.Electrical.Analog.Basic.Capacitor

Information


The linear capacitor connects the branch voltage v with the branch current i by i = C * dv/dt. The Capacitance C is allowed to be positive, zero, or negative.


Parameters

NameDefaultDescription
C1Capacitance [F]

Modelica definition

model Capacitor "Ideal linear electrical capacitor" 
  extends Interfaces.OnePort;
  parameter SI.Capacitance C =      1 "Capacitance";
equation 
  i = C*der(v);
end Capacitor;

Modelica.Electrical.Analog.Basic.Inductor Modelica.Electrical.Analog.Basic.Inductor

Ideal linear electrical inductor

Modelica.Electrical.Analog.Basic.Inductor

Information


The linear inductor connects the branch voltage v with the branch current i by v = L * di/dt. The Inductance L is allowed to be positive, zero, or negative.


Parameters

NameDefaultDescription
L1Inductance [H]

Modelica definition

model Inductor "Ideal linear electrical inductor" 
  extends Interfaces.OnePort;
  parameter SI.Inductance L =      1 "Inductance";
equation 
  L*der(i) = v;
end Inductor;

Modelica.Electrical.Analog.Basic.SaturatingInductor Modelica.Electrical.Analog.Basic.SaturatingInductor

Simple model of an inductor with saturation

Modelica.Electrical.Analog.Basic.SaturatingInductor

Information


This model approximates the behaviour of an inductor with the influence of saturation, i.e. the value of the inductance depends on the current flowing through the inductor. The inductance decreases as current increases.
The parameters are:


Parameters

NameDefaultDescription
Inom1Nominal current [A]
Lnom1Nominal inductance at Nominal current [H]
Lzer2*LnomInductance near current=0 [H]
LinfLnom/2Inductance at large currents [H]

Modelica definition

model SaturatingInductor 
  "Simple model of an inductor with saturation" 
  extends Modelica.Electrical.Analog.Interfaces.OnePort;
  parameter Modelica.SIunits.Current Inom =      1 "Nominal current";
  parameter Modelica.SIunits.Inductance Lnom =      1 
    "Nominal inductance at Nominal current";
  parameter Modelica.SIunits.Inductance Lzer =      2*Lnom "Inductance near current=0";
  parameter Modelica.SIunits.Inductance Linf =      Lnom/2 
    "Inductance at large currents";
protected 
  Modelica.SIunits.Inductance Lact(
                                   start=Lzer);
  Modelica.SIunits.MagneticFlux Psi;
  parameter Modelica.SIunits.Current Ipar(       start=Inom/10, fixed=false);
initial equation 
  (Lnom - Linf) = (Lzer - Linf)*Ipar/Inom*(Modelica.Constants.pi/2-arctan(Ipar/Inom));
equation 
  assert(Lzer > Lnom+Modelica.Constants.eps,
         "Lzer (= " + String(Lzer) + ") has to be > Lnom (= " + String(Lnom) + ")");
  assert(Linf < Lnom-Modelica.Constants.eps,
         "Linf (= " + String(Linf) + ") has to be < Lnom (= " + String(Lnom) + ")");
  (Lact - Linf)*i/Ipar = (Lzer - Linf)*noEvent(arctan(i/Ipar));
  Psi = Lact*i;
  v = der(Psi);
end SaturatingInductor;

Modelica.Electrical.Analog.Basic.Transformer Modelica.Electrical.Analog.Basic.Transformer

Transformer with two ports

Modelica.Electrical.Analog.Basic.Transformer

Information


The transformer is a two port. The left port voltage v1, left port current i1, right port voltage v2 and right port current i2 are connected by the following relation:

         | v1 |         | L1   M  |  | i1' |
         |    |    =    |         |  |     |
         | v2 |         | M    L2 |  | i2' |

L1, L2, and M are the primary, secondary, and coupling inductances respectively.


Parameters

NameDefaultDescription
L11Primary inductance [H]
L21Secondary inductance [H]
M1Coupling inductance [H]

Modelica definition

model Transformer "Transformer with two ports" 
  extends Interfaces.TwoPort;
  parameter SI.Inductance L1 =      1 "Primary inductance";
  parameter SI.Inductance L2 =      1 "Secondary inductance";
  parameter SI.Inductance M =      1 "Coupling inductance";
equation 
  v1 = L1*der(i1) + M*der(i2);
  v2 = M*der(i1) + L2*der(i2);
end Transformer;

Modelica.Electrical.Analog.Basic.Gyrator Modelica.Electrical.Analog.Basic.Gyrator

Gyrator

Modelica.Electrical.Analog.Basic.Gyrator

Information


A gyrator is a two-port element defined by the following equations:

    i1 =  G2 * v2
    i2 = -G1 * v1

where the constants G1, G2 are called the gyration conductance.


Parameters

NameDefaultDescription
G11Gyration conductance [S]
G21Gyration conductance [S]

Modelica definition

model Gyrator "Gyrator" 
  extends Interfaces.TwoPort;
  parameter SI.Conductance G1 =      1 "Gyration conductance";
  parameter SI.Conductance G2 =      1 "Gyration conductance";
equation 
  i1 = G2*v2;
  i2 = -G1*v1;
end Gyrator;

Modelica.Electrical.Analog.Basic.EMF Modelica.Electrical.Analog.Basic.EMF

Electromotoric force (electric/mechanic transformer)

Modelica.Electrical.Analog.Basic.EMF

Information


EMF transforms electrical energy into rotational mechanical energy. It is used as basic building block of an electrical motor. The mechanical connector flange_b can be connected to elements of the Modelica.Mechanics.Rotational library. flange_b.tau is the cut-torque, flange_b.phi is the angle at the rotational connection.


Parameters

NameDefaultDescription
k1Transformation coefficient [N.m/A]

Modelica definition

model EMF "Electromotoric force (electric/mechanic transformer)" 
  parameter Real k(final unit="N.m/A") = 1 "Transformation coefficient";
  
  SI.Voltage v "Voltage drop between the two pins";
  SI.Current i "Current flowing from positive to negative pin";
  SI.AngularVelocity w "Angular velocity of flange_b";
  Interfaces.PositivePin p;
  Interfaces.NegativePin n;
  Modelica.Mechanics.Rotational.Interfaces.Flange_b flange_b;
equation 
  v = p.v - n.v;
  0 = p.i + n.i;
  i = p.i;
  
  w = der(flange_b.phi);
  k*w = v;
  flange_b.tau = -k*i;
end EMF;

Modelica.Electrical.Analog.Basic.VCV Modelica.Electrical.Analog.Basic.VCV

Linear voltage-controlled voltage source

Modelica.Electrical.Analog.Basic.VCV

Information


The linear voltage-controlled voltage source is a TwoPort. The right port voltage v2 is controlled by the left port voltage v1 via

    v2 = v1 * gain.

The left port current is zero. Any voltage gain can be chosen.


Parameters

NameDefaultDescription
gain1Voltage gain

Modelica definition

model VCV "Linear voltage-controlled voltage source" 
  extends Interfaces.TwoPort;
  parameter Real gain=1 "Voltage gain";
equation 
  v2 = v1*gain;
  i1 = 0;
end VCV;

Modelica.Electrical.Analog.Basic.VCC Modelica.Electrical.Analog.Basic.VCC

Linear voltage-controlled current source

Modelica.Electrical.Analog.Basic.VCC

Information


The linear voltage-controlled current source is a TwoPort. The right port current i2 is controlled by the left port voltage v1 via

    i2 = v1 * transConductance.

The left port current is zero. Any transConductance can be chosen.


Parameters

NameDefaultDescription
transConductance1Transconductance [S]

Modelica definition

model VCC "Linear voltage-controlled current source" 
  extends Interfaces.TwoPort;
  parameter SI.Conductance transConductance =      1 "Transconductance";
equation 
  i2 = v1*transConductance;
  i1 = 0;
end VCC;

Modelica.Electrical.Analog.Basic.CCV Modelica.Electrical.Analog.Basic.CCV

Linear current-controlled voltage source

Modelica.Electrical.Analog.Basic.CCV

Information


The linear current-controlled voltage source is a TwoPort. The right port voltage v2 is controlled by the left port current i1 via

    v2 = i1 * transResistance.

The left port voltage is zero. Any transResistance can be chosen.


Parameters

NameDefaultDescription
transResistance1Transresistance [Ohm]

Modelica definition

model CCV "Linear current-controlled voltage source" 
  extends Interfaces.TwoPort;
  
  parameter SI.Resistance transResistance =      1 "Transresistance";
equation 
  v2 = i1*transResistance;
  v1 = 0;
end CCV;

Modelica.Electrical.Analog.Basic.CCC Modelica.Electrical.Analog.Basic.CCC

Linear current-controlled current source

Modelica.Electrical.Analog.Basic.CCC

Information


The linear current-controlled current source is a TwoPort. The right port current i2 is controlled by the left port current i1 via

    i2 = i1 * gain.

The left port voltage is zero. Any current gain can be chosen.


Parameters

NameDefaultDescription
gain1Current gain

Modelica definition

model CCC "Linear current-controlled current source" 
  extends Interfaces.TwoPort;
  parameter Real gain=1 "Current gain";
equation 
  i2 = i1*gain;
  v1 = 0;
end CCC;

Modelica.Electrical.Analog.Basic.OpAmp Modelica.Electrical.Analog.Basic.OpAmp

Simple nonideal model of an OpAmp with limitation

Modelica.Electrical.Analog.Basic.OpAmp

Information


The OpAmp is a simle nonideal model with a smooth out.v = f(vin) characteristic, where "vin = in_p.v - in_n.v". The characteristic is limited by VMax.v and VMin.v. Its slope at vin=0 is the parameter Slope, which must be positive. (Therefore, the absolute value of Slope is taken into calculation.)


Parameters

NameDefaultDescription
Slope1Slope of the out.v/vin characteristic at vin=0

Modelica definition

model OpAmp "Simple nonideal model of an OpAmp with limitation" 
  parameter Real Slope=1 "Slope of the out.v/vin characteristic at vin=0";
  Modelica.Electrical.Analog.Interfaces.PositivePin in_p 
    "Positive pin of the input port";
  Modelica.Electrical.Analog.Interfaces.NegativePin in_n 
    "Negative pin of the input port";
  Modelica.Electrical.Analog.Interfaces.PositivePin out "Output pin";
  Modelica.Electrical.Analog.Interfaces.PositivePin VMax 
    "Positive output voltage limitation";
  Modelica.Electrical.Analog.Interfaces.NegativePin VMin 
    "Negative output voltage limitation";
  SI.Voltage vin "input voltagae";
protected 
  Real f "auxiliary variable";
  Real absSlope;
equation 
  in_p.i = 0;
  in_n.i = 0;
  VMax.i = 0;
  VMin.i = 0;
  vin = in_p.v - in_n.v;
  f = 2/(VMax.v - VMin.v);
  absSlope = if (Slope < 0) then -Slope else Slope;
  out.v = (VMax.v + VMin.v)/2 + absSlope*vin/(1 + absSlope*noEvent(if (f*vin
     < 0) then -f*vin else f*vin));
end OpAmp;

Modelica.Electrical.Analog.Basic.VariableResistor Modelica.Electrical.Analog.Basic.VariableResistor

Ideal linear electrical resistor with variable resistance

Modelica.Electrical.Analog.Basic.VariableResistor

Information


The linear resistor connects the branch voltage v with the branch current i by

i*R = v

The Resistance R is defined by the R_Port signal.

Attention!!!
It is recomended that the R_Port signal should not cross the zero value. Otherwise depending on the surrounding circuit the probability of singularities is high.


Modelica definition

model VariableResistor 
  "Ideal linear electrical resistor with variable resistance" 
  extends Modelica.Electrical.Analog.Interfaces.OnePort;
  Modelica.Blocks.Interfaces.InPort R_Port(
                                           final n=1);
protected 
  Modelica.SIunits.Resistance R;
equation 
  R = R_Port.signal[1];
  v = R*i;
end VariableResistor;

Modelica.Electrical.Analog.Basic.VariableConductor Modelica.Electrical.Analog.Basic.VariableConductor

Ideal linear electrical conductor with variable conductance

Modelica.Electrical.Analog.Basic.VariableConductor

Information


The linear conductor connects the branch voltage v with the branch current i by

i = G*v

The Conductance G is defined by the G_Port signal.

Attention!!!
It is recomended that the G_Port signal should not cross the zero value. Otherwise depending on the surrounding circuit the probability of singularities is high.


Modelica definition

model VariableConductor 
  "Ideal linear electrical conductor with variable conductance" 
  extends Modelica.Electrical.Analog.Interfaces.OnePort;
  Modelica.Blocks.Interfaces.InPort G_Port(
                                           final n=1);
protected 
  Modelica.SIunits.Conductance G "Conductance";
equation 
  G = G_Port.signal[1];
  i = G*v;
end VariableConductor;

Modelica.Electrical.Analog.Basic.VariableCapacitor Modelica.Electrical.Analog.Basic.VariableCapacitor

Ideal linear electrical capacitor with variable capacitance

Modelica.Electrical.Analog.Basic.VariableCapacitor

Information


The linear capacitor connects the branch voltage v with the branch current i by

i = dQ/dt with Q = C * v .

The capacitance C is defined by the C_Port signal.

It is required that C_Port.signal ≥ 0, otherwise an assertion is raised. To avoid a variable index system,
C = Cmin, if 0 ≤ C_Port.signal < Cmin, where Cmin is a parameter with default value Modelica.Constants.eps.


Parameters

NameDefaultDescription
CminModelica.Constants.eps[F]

Modelica definition

model VariableCapacitor 
  "Ideal linear electrical capacitor with variable capacitance" 
  extends Modelica.Electrical.Analog.Interfaces.OnePort;
  Modelica.Blocks.Interfaces.InPort C_Port(
                                           final n=1);
  parameter Modelica.SIunits.Capacitance Cmin =      Modelica.Constants.eps;
  Modelica.SIunits.ElectricCharge Q;
protected 
  Modelica.SIunits.Capacitance C;
equation 
  assert(C_Port.signal[1]>=0,"Capacitance C_Port.signal[1] (= " +
                             String(C_Port.signal[1]) + ") has to be >= 0!");
  // protect solver from index change
  C = noEvent(max(C_Port.signal[1],Cmin));
  Q = C*v;
  i = der(Q);
end VariableCapacitor;

Modelica.Electrical.Analog.Basic.VariableInductor Modelica.Electrical.Analog.Basic.VariableInductor

Ideal linear electrical inductor with variable inductance

Modelica.Electrical.Analog.Basic.VariableInductor

Information


The linear inductor connects the branch voltage v with the branch current i by

v = d Psi/dt with Psi = L * i .

The inductance L is defined by the L_Port signal.

It is required that L_Port.signal ≥ 0, otherwise an assertion is raised. To avoid a variable index system,
L = Lmin, if 0 ≤ L_Port.signal < Lmin, where Lmin is a parameter with default value Modelica.Constants.eps.


Parameters

NameDefaultDescription
LminModelica.Constants.eps[H]

Modelica definition

model VariableInductor 
  "Ideal linear electrical inductor with variable inductance" 
  
  extends Modelica.Electrical.Analog.Interfaces.OnePort;
  Modelica.Blocks.Interfaces.InPort L_Port(
                                           final n=1);
  Modelica.SIunits.MagneticFlux Psi;
  parameter Modelica.SIunits.Inductance Lmin =      Modelica.Constants.eps;
protected 
  Modelica.SIunits.Inductance L;
equation 
  assert(L_Port.signal[1]>=0,"Inductance L_Port.signal[1] (= " +
                             String(L_Port.signal[1]) + ") has to be >= 0!");
  // protect solver from index change
  L = noEvent(max(L_Port.signal[1],Lmin));
  Psi = L*i;
  v = der(Psi);
end VariableInductor;

HTML-documentation generated by Dymola Wed Jun 30 17:43:07 2004 .