diff --git a/Modelica/Electrical/Analog/Examples/ChuaCircuit.mo b/Modelica/Electrical/Analog/Examples/ChuaCircuit.mo index c2b56664bd..50d5a2f775 100644 --- a/Modelica/Electrical/Analog/Examples/ChuaCircuit.mo +++ b/Modelica/Electrical/Analog/Examples/ChuaCircuit.mo @@ -1,58 +1,92 @@ within Modelica.Electrical.Analog.Examples; -model ChuaCircuit "Chua's circuit, ns, V, A" +model ChuaCircuit "Chua's circuit" extends Modelica.Icons.Example; - - Modelica.Electrical.Analog.Basic.Inductor L(L=18, i(start=0, fixed=true)) annotation (Placement(transformation( - origin={-75,38}, - extent={{-25,-25},{25,25}}, + parameter Modelica.Units.SI.Resistance R=1900 "Try R={1850,1800,1750}"; + SI.Voltage v1(start=+2.764331, fixed=true)=c1.v "Result: c1.v"; + SI.Voltage v2(start=+0.744123, fixed=true)=c2.v "Result: c2.v"; + Modelica.Electrical.Analog.Basic.Inductor inductor(i(fixed=true, start=0), L=18e-3) + annotation (Placement(transformation( + origin={-50,20}, + extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Electrical.Analog.Basic.Resistor Ro(R=12.5e-3) annotation (Placement(transformation( - origin={-75,-17}, - extent={{-25,-25},{25,25}}, + Modelica.Electrical.Analog.Basic.Resistor rL(R=14) annotation (Placement(transformation( + origin={-50,-20}, + extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Electrical.Analog.Basic.Conductor G(G=0.565) annotation (Placement(transformation(extent={{-25,38}, - {25,88}}))); - Modelica.Electrical.Analog.Basic.Capacitor C1(C=10, v(start=4, fixed=true)) annotation (Placement(transformation( - origin={25,3}, - extent={{-25,-25},{25,25}}, + Modelica.Electrical.Analog.Basic.Resistor resistor(R=R) annotation ( + Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=0, + origin={0,40}))); + Modelica.Electrical.Analog.Basic.Capacitor c1(C=10e-9) + annotation (Placement(transformation( + origin={20,0}, + extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Electrical.Analog.Basic.Capacitor C2(C=100, v(start=0, fixed=true)) annotation (Placement(transformation( - origin={-25,3}, - extent={{-25,-25},{25,25}}, + Modelica.Electrical.Analog.Basic.Capacitor c2(C=100e-9) + annotation (Placement(transformation( + origin={-20,0}, + extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Electrical.Analog.Examples.Utilities.NonlinearResistor Nr( - Ga(min=-1) = -0.757576, - Gb(min=-1) = -0.409091, - Ve=1) annotation (Placement(transformation( - origin={75,3}, - extent={{-25,-25},{25,25}}, + Modelica.Electrical.Analog.Examples.Utilities.NonlinearResistor chuasDiode( + Ga(min=-1) = -757.7576e-6, + Gb(min=-1) = -409.0909e-6, + Ve=1) annotation (Placement(transformation( + origin={50,0}, + extent={{-10,-10},{10,10}}, rotation=270))); - Modelica.Electrical.Analog.Basic.Ground Gnd annotation (Placement(transformation(extent={{-25,-112},{25, - -62}}))); + Modelica.Electrical.Analog.Basic.Ground Gnd annotation (Placement(transformation(extent={{-10,-60}, + {10,-40}}))); equation - connect(L.n, Ro.p) annotation (Line(points={{-75,13},{-75,8}})); - connect(C2.p, G.p) annotation (Line( - points={{-25,28},{-25,45.5},{-25,45.5},{-25,63}}, color={0,0,255})); - connect(L.p, G.p) annotation (Line( - points={{-75,63},{-25,63}}, color={0,0,255})); - connect(G.n, Nr.p) annotation (Line( - points={{25,63},{75,63},{75,28}}, color={0,0,255})); - connect(C1.p, G.n) annotation (Line( - points={{25,28},{25,45.5},{25,45.5},{25,63}}, color={0,0,255})); - connect(Ro.n, Gnd.p) annotation (Line( - points={{-75,-42},{-75,-62},{0,-62}}, color={0,0,255})); - connect(C2.n, Gnd.p) annotation (Line( - points={{-25,-22},{-24,-22},{-24,-62},{0,-62}}, color={0,0,255})); - connect(Gnd.p, C1.n) annotation (Line( - points={{0,-62},{25,-62},{25,-22}}, color={0,0,255})); - connect(Gnd.p, Nr.n) annotation (Line( - points={{0,-62},{75,-62},{75,-22}}, color={0,0,255})); + connect(inductor.n, rL.p) annotation (Line(points={{-50,10},{-50,-10}})); + connect(c2.p, resistor.p) + annotation (Line(points={{-20,10},{-20,40},{-10,40}}, + color={0,0,255})); + connect(inductor.p, resistor.p) + annotation (Line(points={{-50,30},{-50,40},{-10,40}}, + color={0,0,255})); + connect(resistor.n, chuasDiode.p) + annotation (Line(points={{10,40},{50,40},{50,10}}, color={0,0,255})); + connect(c1.p, resistor.n) + annotation (Line(points={{20,10},{20,40},{10,40}}, + color={0,0,255})); + connect(rL.n, Gnd.p) annotation (Line( + points={{-50,-30},{-50,-40},{0,-40}}, color={0,0,255})); + connect(c2.n, Gnd.p) annotation (Line( + points={{-20,-10},{-20,-40},{0,-40}}, color={0,0,255})); + connect(Gnd.p,c1. n) annotation (Line( + points={{0,-40},{20,-40},{20,-10}}, color={0,0,255})); + connect(Gnd.p, chuasDiode.n) + annotation (Line(points={{0,-40},{50,-40},{50,-10}}, color={0,0,255})); annotation ( + experiment( + StopTime=0.1, + Interval=1e-06, + Tolerance=1e-06), + Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{ + 100,100}})), Documentation(info=" -
Chua's circuit is the most simple nonlinear circuit which shows chaotic behaviour. The circuit consists of linear basic elements (capacitors, resistor, conductor, inductor), and one nonlinear element, which is called Chua's diode. The chaotic behaviour is simulated.
-The simulation end time should be set to 5e4. To get the chaotic behaviour please plot C1.v. Choose C2.v as the independent variable .
+This is a remake of the original implementation using realistic parameters for the components.
+Chua's circuit is the most simple nonlinear circuit which shows chaotic behaviour. The circuit consists of linear basic elements (capacitors, resistor, conductor, inductor), and one nonlinear element, which is called Chua's diode.
+It is possible to implement the nonlinear Chua's diode with two circuits called NIC +(negative impedance converter) using each an operational amplifier.
+
+The default paremeterization shows periodic behaviour at least after initial transients have vanished.
+In the periodic region two attractors exist: Try initialization for v1 and v2 with exact negative values.
+To investigate the path to chaos set (one after the other) R = {1900, 1850, 1800, 1750} Ohm and plot v2 vs. v1 as independent variable.
+
Reference:
-Kennedy, M.P.: Three Steps to Chaos - Part I: Evolution. IEEE Transactions on CAS I 40 (1993)10, 640-656
+