Difference between revisions of "Van der Pol Oscillator (JModelica)"

From mintOC
Jump to: navigation, search
Line 2: Line 2:
  
 
<source lang="Python">
 
<source lang="Python">
#-------------------------------------------------------------------------
+
//-------------------------------------------------------------------------
#Van der Pol Oscillator with direct collocation using JModelica
+
//Van der Pol Oscillator with direct collocation using JModelica
#(c) Madeleine Schroter
+
//(c) Madeleine Schroter
#--------------------------------------------------------------------------
+
//--------------------------------------------------------------------------
  
 
optimization VDP_Opt(objectiveIntegrand = y^2+x^2+u^2, startTime = 0, finalTime = 20)
 
optimization VDP_Opt(objectiveIntegrand = y^2+x^2+u^2, startTime = 0, finalTime = 20)

Revision as of 15:29, 12 January 2016

This page contains the source code to solve the Van der Pol Oscillator problem with JModelica. The automatic differentiation tool CasADI and the solver IPOPT were used to solve the problem.

//-------------------------------------------------------------------------
//Van der Pol Oscillator with direct collocation using JModelica
//(c) Madeleine Schroter
//--------------------------------------------------------------------------
 
optimization VDP_Opt(objectiveIntegrand = y^2+x^2+u^2, startTime = 0, finalTime = 20)
 
//The states
Real x(start=1, fixed=true); //position coordinate
Real y(start=0, fixed=true); 
 
 
//The control signal
input Real u; //damping of the oscillation
 
equation
der(y) = (1-x^2) * y - x +u;
der(x) = y;
 
constraint
u<=0.75;
 
end VDP_Opt;