IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Num.DiffLorenzOscillator Class Reference

System of first order differential equations fro Lorentz Oscillator. More...

+ Inheritance diagram for IG.Num.DiffLorenzOscillator:
+ Collaboration diagram for IG.Num.DiffLorenzOscillator:

Public Member Functions

 DiffLorenzOscillator (double sigma, double ro, double beta)
 Construct a system of differential equations for Lorenz oscillator. More...
 
override void InitializeAndReset ()
 Initializes and resets the state of the current problem definition. More...
 
override void CalculateFunctionDerivatives (double t, double[] y, double[] derivative)
 Calculates derivatives of searched functions from the current time and form current More...
 
override void GetInitialFunctionValues (double[] initialValues)
 Stores initial values of unknown functions (position and velocity) to the specified array. More...
 
override double GetInitialParameter ()
 Returns the initial value of time (independent variable). More...
 
override double GetFinalParameter ()
 Returns the final value of time (independent variable). More...
 
override void SetNextStep (double parameter, double[] functionValues)
 Sets parameters and function values for the next step. More...
 
override void SaveState (double[] state)
 Saves state to the specified array. More...
 
override void RestoreState (double[] state)
 Restores state from the specified array. More...
 
- Public Member Functions inherited from IG.Num.DifferentialFirstOrderSystemBase
 DifferentialFirstOrderSystemBase ()
 Construct a system of first order ordinary differential equations, without specifying the number of equations. More...
 
 DifferentialFirstOrderSystemBase (int numEquations)
 Constructs a new definition of a system of numEquations first order ordinary differential equations. More...
 

Protected Attributes

double _sigma = 10
 
double _ro = 28
 
double _beta = 8.0/3.0
 
double _initialX = 0
 
double _initialY = 0
 
double _initialZ = 0
 
double _initialTime = 0
 
double _finalTime
 
double _time
 
double _x
 
double _y
 
double _z
 
- Protected Attributes inherited from IG.Num.DifferentialFirstOrderSystemBase
int _numEquations
 
int _numStateVariables
 
bool _isHistoryDependent = false
 

Properties

override int NumEquations [get, protected set]
 Number of first orter differential equations that govern the system. More...
 
double Sigma [get, set]
 Parameter σ of Lorenz oscillator, the Prandtl number. More...
 
double Ro [get, protected set]
 Parameter ρ of Lorenz oscillator, the Rayleigh number. More...
 
double Beta [get, set]
 Parameter β of Lorenz oscillator. More...
 
double InitialX [get, set]
 Initial Y coordinate of the system. More...
 
double InitialY [get, set]
 Initial Y coordinate of the system. More...
 
double InitialZ [get, set]
 Initial Z coordinate of the system. More...
 
double InitialTime [get, set]
 Initial time. More...
 
double FinalTime [get, set]
 The final time. More...
 
double Time [get, set]
 Current time. More...
 
double X [get, set]
 X coordinate of the current position. More...
 
double Y [get, set]
 Y coordinate of the current position. More...
 
double Z [get, set]
 Z coordinate of the current position. More...
 
- Properties inherited from IG.Num.DifferentialFirstOrderSystemBase
virtual int NumEquations [get, protected set]
 Number of equations in the system of first order equations. More...
 
int NumStateVariables [get, set]
 Number of state variables, including independent variable and function values. More...
 
bool IsHistoryDependent [get, set]
 Flag indicating whether the problem is history dependent (meaning that it has additional state variables that are not calculated by the solver). More...
 

Detailed Description

System of first order differential equations fro Lorentz Oscillator.

See http://en.wikipedia.org/wiki/Lorenz_oscillator

$A Igor Jan10 Dec11;

Constructor & Destructor Documentation

IG.Num.DiffLorenzOscillator.DiffLorenzOscillator ( double  sigma,
double  ro,
double  beta 
)
inline

Construct a system of differential equations for Lorenz oscillator.

Parameters
sigmaParameter σ of Lorenz oscillator, "Prandtl number".
roParameter ρ of Lorenz oscillator, "Rayleigh number".

System exhibits chaotic behavior for ρ = 28, but knotted periodic orbits behaviors for other values of ρ. For example, with ρ = 99.96 it becomes a T(3,2) torus knot.

Parameters
betaParameter β of Lorenz oscillator.

Member Function Documentation

override void IG.Num.DiffLorenzOscillator.InitializeAndReset ( )
inlinevirtual

Initializes and resets the state of the current problem definition.

All variables are set to initial values.

Any history dependent state variables are reset to the initial state.

Implements IG.Num.DifferentialFirstOrderSystemBase.

override void IG.Num.DiffLorenzOscillator.CalculateFunctionDerivatives ( double  t,
double[]  y,
double[]  derivative 
)
inlinevirtual

Calculates derivatives of searched functions from the current time and form current

Parameters
tTime (independent variable) ad which derivatives are calculated.
yFunction values (positio and velocity) at the specified time.
derivativeArray where calculated derivatives of unknown functions (of position and velocity) are stored.

Implements IG.Num.DifferentialFirstOrderSystemBase.

override void IG.Num.DiffLorenzOscillator.GetInitialFunctionValues ( double[]  initialValues)
inlinevirtual

Stores initial values of unknown functions (position and velocity) to the specified array.

Parameters
initialValuesArray where initial funtion values are stored.

Implements IG.Num.DifferentialFirstOrderSystemBase.

override double IG.Num.DiffLorenzOscillator.GetInitialParameter ( )
inlinevirtual

Returns the initial value of time (independent variable).

Implements IG.Num.DifferentialFirstOrderSystemBase.

override double IG.Num.DiffLorenzOscillator.GetFinalParameter ( )
inlinevirtual

Returns the final value of time (independent variable).

Implements IG.Num.DifferentialFirstOrderSystemBase.

override void IG.Num.DiffLorenzOscillator.SetNextStep ( double  parameter,
double[]  functionValues 
)
inlinevirtual

Sets parameters and function values for the next step.

Additional state variables (e.g. history variables) are updated if applicable.

Parameters
parameterParameter values in the next step.
functionValuesFunction values in the next step.

Implements IG.Num.DifferentialFirstOrderSystemBase.

override void IG.Num.DiffLorenzOscillator.SaveState ( double[]  state)
inlinevirtual

Saves state to the specified array.

Parameters
stateArray where state variables are stored.

Implements IG.Num.DifferentialFirstOrderSystemBase.

override void IG.Num.DiffLorenzOscillator.RestoreState ( double[]  state)
inlinevirtual

Restores state from the specified array.

Parameters
stateArray from which state variables are reatored.

Implements IG.Num.DifferentialFirstOrderSystemBase.

Member Data Documentation

double IG.Num.DiffLorenzOscillator._sigma = 10
protected
double IG.Num.DiffLorenzOscillator._ro = 28
protected
double IG.Num.DiffLorenzOscillator._beta = 8.0/3.0
protected
double IG.Num.DiffLorenzOscillator._initialX = 0
protected
double IG.Num.DiffLorenzOscillator._initialY = 0
protected
double IG.Num.DiffLorenzOscillator._initialZ = 0
protected
double IG.Num.DiffLorenzOscillator._initialTime = 0
protected
double IG.Num.DiffLorenzOscillator._finalTime
protected
double IG.Num.DiffLorenzOscillator._time
protected
double IG.Num.DiffLorenzOscillator._x
protected
double IG.Num.DiffLorenzOscillator._y
protected
double IG.Num.DiffLorenzOscillator._z
protected

Property Documentation

override int IG.Num.DiffLorenzOscillator.NumEquations
getprotected set

Number of first orter differential equations that govern the system.

double IG.Num.DiffLorenzOscillator.Sigma
getset

Parameter σ of Lorenz oscillator, the Prandtl number.

double IG.Num.DiffLorenzOscillator.Ro
getprotected set

Parameter ρ of Lorenz oscillator, the Rayleigh number.

double IG.Num.DiffLorenzOscillator.Beta
getset

Parameter β of Lorenz oscillator.

double IG.Num.DiffLorenzOscillator.InitialX
getset

Initial Y coordinate of the system.

double IG.Num.DiffLorenzOscillator.InitialY
getset

Initial Y coordinate of the system.

double IG.Num.DiffLorenzOscillator.InitialZ
getset

Initial Z coordinate of the system.

double IG.Num.DiffLorenzOscillator.InitialTime
getset

Initial time.

double IG.Num.DiffLorenzOscillator.FinalTime
getset

The final time.

double IG.Num.DiffLorenzOscillator.Time
getset

Current time.

double IG.Num.DiffLorenzOscillator.X
getset

X coordinate of the current position.

double IG.Num.DiffLorenzOscillator.Y
getset

Y coordinate of the current position.

double IG.Num.DiffLorenzOscillator.Z
getset

Z coordinate of the current position.


The documentation for this class was generated from the following file: