#1
char Aclass(3,24)
Adymosim
1.4
Modelica experiment file


#    Experiment parameters
double experiment(7,1)
       0                   # StartTime    Time at which integration starts
                           #              (and linearization and trimming time)
       1                   # StopTime     Time at which integration stops
       0                   # Increment    Communication step size, if > 0
     500                   # nInterval    Number of communication intervals, if > 0
  1.000000000000000E-004   # Tolerance    Relative precision of signals for
                           #              simulation, linearization and trimming
       0                   # MaxFixedStep Maximum step size of fixed step size
                           #              integrators, if > 0.0
       8                   # Algorithm    Integration algorithm as integer (1...28)
                           #
                           #             | model|       |        | dense | state |
                           # Algorithm   | typ  | stiff | order  | output| event |
                           # ------------+------+-------+--------+-------+-------+
                           #  1 | deabm  |  ode |   no  |  1-12  |  yes  |   no  |
                           #  2 | lsode1 |  ode |   no  |  1-12  |  yes  |   no  |
                           #  3 | lsode2 |  ode |  yes  |  1-5   |  yes  |   no  |
                           #  4 | lsodar |  ode |  both |1-12,1-5|  yes  |  yes  |
                           #  5 | dopri5 |  ode |   no  |   5    |   no  |   no  |
                           #  6 | dopri8 |  ode |   no  |   8    |   no  |   no  |
                           #  7 | grk4t  |  ode |  yes  |   4    |   no  |   no  |
                           #  8 | dassl  |  dae |  yes  |  1-5   |  yes  |  yes  |
                           #  9 | odassl | hdae |  yes  |  1-5   |  yes  |  yes  |
                           # 10 | mexx   | hdae |   no  |  2-24  |   no  |   no  |
                           # 11 | euler  |  ode |   no  |   1    |   no  |  yes  |
                           # 12 | rkfix2 |  ode |   no  |   2    |   no  |  yes  |
                           # 13 | rkfix3 |  ode |   no  |   3    |   no  |  yes  |
                           # 14 | rkfix4 |  ode |   no  |   4    |   no  |  yes  |
                           #>=14| others |  ode |yes/no |  2-5   |   yes |  yes  |
                           # ---+--------+------+-------+--------+-------+-------+
                           # euler and rkfix have fixed stepsize.


#    Method tuning parameters
double method(27,1)
       1                   # grid     type of communication time grid, defined by
                           #          = 1: equidistant points ("Increment/nInterval")
                           #          = 2: vector of grid points ("tgrid")
                           #          = 3: variable step integrator (automatically)
                           #          = 4: model (call of "increment" in Dymola, e.g.
                           #                      incr=Time > 2 then 0 else 0.1
                           #                      dummy=increment(incr))
                           #          grid = 1,3 is stopped by "StopTime"
                           #          grid = 2   is stopped by "tgrid(last)"
                           #          grid = 4   runs forever (stopped by model)
       1                   # nt       Use every NT time instant, if grid = 3
       3                   # dense    1/2/3 restart/step/interpolate GRID points
       1                   # evgrid   0/1 do not/save event points in comm. time grid
       1                   # evu      0/1 U-discontinuity does not/trigger events
       0                   # evuord       U-discontinuity order to consider (0,1,...)
       0                   # error    0/1/2 One message/warning/error messages
       0                   # jac      0/1 Compute jacobian numerically/by BLOCKJ
       0                   # xd0c     0/1 Compute/set XD0
       0                   # f3       0/1 Ignore/use F3 of HDAE (= index 1)
       0                   # f4       0/1 Ignore/use F4 of HDAE (= index 2)
       0                   # f5       0/1 Ignore/use F5 of HDAE (= invar.)
       0                   # debug    flags for debug information (1<<0 uses pdebug) 
     100                   # pdebug       priority of debug information (1...100)
       0                   # fmax     Maximum number of evaluations of BLOCKF, if > 0
       0                   # ordmax   Maximum allowed integration order, if > 0
       0                   # hmax     Maximum absolute stepsize, if > 0
       0                   # hmin     Minimum absolute stepsize, if > 0 (use with care!)
       0                   # h0       Stepsize to be attempted on first step, if > 0
  2.000000000000000E-014   # teps     Bound to check, if 2 equal time instants
  1.000000000000000E-010   # eveps    Hysteresis epsilon at event points
      20                   # eviter   Maximum number of event iterations
  1.000000000000000E-006   # delaym   Minimum time increment in delay buffers
       1                   # fexcep   0/1 floating exception crashes/stops dymosim
       1                   # tscale   clock-time = tscale*simulation-time, if grid = 5
                           #          > 1: simulation too slow
                           #          = 1: simulation-time = real-time
                           #          < 1: simulation too fast
       1                   # shared   (not used)
    2473                   # memkey   (not used)


#    Output parameters
int settings(13,1)
 0                         # lprec    0/1 do not/store result data in double
 1                         # lx       0/1 do not/store x  (state variables)
 1                         # lxd      0/1 do not/store xd (derivative of states)
 1                         # lu       0/1 do not/store u  (input     signals)
 1                         # ly       0/1 do not/store y  (output    signals)
 0                         # lz       0/1 do not/store z  (indicator signals)
 1                         # lw       0/1 do not/store w  (auxiliary signals)
 1                         # la       0/1 do not/store a  (alias     signals)
 0                         # lperf    0/1 do not/store performance indicators
 0                         # levent   0/1 do not/store event point
 1                         # lres     0/1 do not/store results on result file
 0                         # lshare   0/1 do not/store info data for shared memory on dsshare.txt
 1                         # lform    0/1 ASCII/Matlab-binary storage format of results
                           #              (for simulation/linearization; not for trimming)


#    Names of initial variables
char initialName(75,27)
r
m
motor.Vs.n.v
motor.G.p.v
motor.G.p.i
motor.Ra.v
motor.Ra.n.v
motor.Ra.R
motor.La.v
motor.La.i
motor.La.der(i)
motor.La.L
motor.emf.useSupport
motor.emf.k
motor.emf.v
motor.emf.phi
motor.emf.der(phi)
motor.emf.n.v
motor.emf.flange.tau
motor.emf.fixed.phi0
motor.Jm.J
motor.Jm.stateSelect
motor.Jm.phi
motor.Jm.der(w)
gearbox.useSupport
gearbox.flange_a.tau
gearbox.flange_b.tau
gearbox.internalSupport.tau
gearbox.fixed.phi0
gearbox.ratio
gearbox.phi_a
gearbox.phi_b
load.flange_b.tau
load.J
load.stateSelect
load.phi
load.der(phi)
load.w
load.der(w)
phiload.flange.tau
positionerror.u1
controller.k
controller.Ti
controller.Td
controller.Nd
controller.initType
controller.xi_start
controller.xd_start
controller.y_start
controller.P.k
controller.P.y
controller.I.k
controller.I.initType
controller.I.y_start
controller.I.y
controller.I.der(y)
controller.D.k
controller.D.T
controller.D.initType
controller.D.x_start
controller.D.y_start
controller.D.u
controller.D.y
controller.D.x
controller.D.der(x)
controller.D.zeroGain
controller.Gain.k
controller.Gain.u
controller.Gain.y
controller.Add.k1
controller.Add.k2
controller.Add.k3
Step1.height
Step1.offset
Step1.startTime

double initialValue(75,6)
 -1  5.000000000000000E-001       0                  1.000000000000000E+100
  1   280   # r
 -1      80                       0                  1.000000000000000E+100
  1   280   # m
  0       0                       0                       0                
  6   260   # motor.Vs.n.v
  0       0                       0                       0                
  6   260   # motor.G.p.v
  0       0                       0                       0                
  6   388   # motor.G.p.i
  0       0                       0                       0                
  6   256   # motor.Ra.v
  0       0                       0                       0                
  6   260   # motor.Ra.n.v
 -1  5.000000000000000E-001       0                       0                
  1   280   # motor.Ra.R
  0       0                       0                       0                
  6   256   # motor.La.v
 -1       0                       0                       0                
  2   280   # motor.La.i
  0       0                       0                       0                
  3   256   # motor.La.der(i)
 -1  5.000000000000000E-002       0                       0                
  1   280   # motor.La.L
  0       0                       0                       0                
  6   769   # motor.emf.useSupport
 -1       1                       0                       0                
  1   280   # motor.emf.k
  0       0                       0                       0                
  6   256   # motor.emf.v
  0       0                       0                       0                
  6   256   # motor.emf.phi
  0       0                       0                       0                
  6   256   # motor.emf.der(phi)
  0       0                       0                       0                
  6   260   # motor.emf.n.v
  0       0                       0                       0                
  6   388   # motor.emf.flange.tau
 -1       0                       0                       0                
  1  1304   # motor.emf.fixed.phi0
 -1  1.000000000000000E-003       0                  1.000000000000000E+100
  1   280   # motor.Jm.J
  0       3                       1                       5                
  6   770   # motor.Jm.stateSelect
  0       0                       0                       0                
  6   256   # motor.Jm.phi
  0       0                       0                       0                
  6   256   # motor.Jm.der(w)
  0       0                       0                       0                
  6   769   # gearbox.useSupport
  0       0                       0                       0                
  6   388   # gearbox.flange_a.tau
  0       0                       0                       0                
  6   388   # gearbox.flange_b.tau
  0       0                       0                       0                
  6  1280   # gearbox.internalSupport.tau
 -1       0                       0                       0                
  1  1304   # gearbox.fixed.phi0
 -1     100                       0                       0                
  1   280   # gearbox.ratio
  0       0                       0                       0                
  6   256   # gearbox.phi_a
  0       0                       0                       0                
  6   256   # gearbox.phi_b
  0       0                       0                       0                
  6   388   # load.flange_b.tau
  0       1                       0                  1.000000000000000E+100
  6   256   # load.J
  0       3                       1                       5                
  6   770   # load.stateSelect
 -1       0                       0                       0                
  2   280   # load.phi
  0       0                       0                       0                
  3   256   # load.der(phi)
 -1       0                       0                       0                
  2   280   # load.w
  0       0                       0                       0                
  3   256   # load.der(w)
  0       0                       0                       0                
  6   388   # phiload.flange.tau
  0       0                       0                       0                
  6   320   # positionerror.u1
 -1       1                       0                       0                
  1   280   # controller.k
 -1  5.000000000000000E-001  1.000000000000000E-060  1.000000000000000E+100
  1   280   # controller.Ti
 -1  1.000000000000000E-001       0                  1.000000000000000E+100
  1   280   # controller.Td
 -1      10                  1.000000000000000E-060  1.000000000000000E+100
  1   280   # controller.Nd
  0       5                       1                       5                
  6   258   # controller.initType
 -1       0                       0                       0                
  1   280   # controller.xi_start
 -1       0                       0                       0                
  1   280   # controller.xd_start
 -1       0                       0                       0                
  1   280   # controller.y_start
 -1       1                       0                       0                
  1   280   # controller.P.k
  0       0                       0                       0                
  6   256   # controller.P.y
  0       0                       0                       0                
  6   256   # controller.I.k
  0       3                       1                       4                
  6   258   # controller.I.initType
  0       0                       0                       0                
  6   256   # controller.I.y_start
 -1       0                       0                       0                
  2   272   # controller.I.y
  0       0                       0                       0                
  3   256   # controller.I.der(y)
  0       0                       0                       0                
  6   256   # controller.D.k
  0  1.000000000000000E-060  1.000000000000000E-060  1.000000000000000E+100
  6   256   # controller.D.T
  0       1                       1                       4                
  6   258   # controller.D.initType
  0       0                       0                       0                
  6   256   # controller.D.x_start
 -1       0                       0                       0                
  1   280   # controller.D.y_start
  0       0                       0                       0                
  6   256   # controller.D.u
  0       0                       0                       0                
  6   256   # controller.D.y
 -1       0                       0                       0                
  2   272   # controller.D.x
  0       0                       0                       0                
  3   256   # controller.D.der(x)
  0       0                       0                       0                
  6  1281   # controller.D.zeroGain
  0       1                       0                       0                
  6   256   # controller.Gain.k
  0       0                       0                       0                
  6   256   # controller.Gain.u
  0       0                       0                       0                
  6   256   # controller.Gain.y
 -1       1                       0                       0                
  1   280   # controller.Add.k1
 -1       1                       0                       0                
  1   280   # controller.Add.k2
 -1       1                       0                       0                
  1   280   # controller.Add.k3
 -1       1                       0                       0                
  1   280   # Step1.height
 -1       0                       0                       0                
  1   280   # Step1.offset
 -1       0                       0                       0                
  1   280   # Step1.startTime


# Matrix with 6 columns defining the initial value calculation
# (columns 5 and 6 are not utilized for the calculation but are
#  reported by dymosim via dymosim -i for user convenience):
#
# column 1: Type of initial value
#           = -2: special case: for continuing simulation (column 2 = value)
#           = -1: fixed value (column 2 = fixed value)
#           =  0: free value, i.e., no restriction (column 2 = initial value)
#           >  0: desired value (column 1 = weight for optimization
#                                column 2 = desired value)
#                 use weight=1, since automatic scaling usually
#                 leads to equally weighted terms
# column 2: fixed, free or desired value according to column 1.
# column 3: Minimum value (ignored, if Minimum >= Maximum).
# column 4: Maximum value (ignored, if Minimum >= Maximum).
#           Minimum and maximum restrict the search range in initial
#           value calculation. They might also be used for scaling.
# column 5: Category of variable.
#           = 1: parameter.
#           = 2: state.
#           = 3: state derivative.
#           = 4: output.
#           = 5: input.
#           = 6: auxiliary variable.
# column 6: Data type of variable.
#           = 0: real.
#           = 1: boolean.
#           = 2: integer.
#
# Initial values are calculated according to the following procedure:
#
# - If parameters, states and inputs are FIXED, and other variables
#   are FREE, no special action takes place (default setting).
#
# - If there are only FIXED and FREE variables and the number of
#   FREE parameters, states and inputs is IDENTICAL to the number of
#   FIXED state derivatives, outputs and auxiliary variables, a non-linear
#   equation is solved to determine a consistent set of initial conditions.
#
# - In all other cases the following optimization problem is solved:
#      min( sum( weight(i)*( (value(i) - DESIRED(i))/scale(i) )^2 ) )
#   under the constraint that the differential equation is fulfilled
#   at the initial time. In most cases weight(i)=1 is sufficient, due
#   to the automatic scaling (if DESIRED(i) is not close to zero,
#   scale(i) = DESIRED(i). Otherwise, the scaling is based on the
#   nominal value (and maybe minimum and maximum values given in 
#   column 3 and 4). If these values are zero, scale(i)=1 is used).
#
char initialDescription(75,120)
Radius of load [m]
Mass of load [kg]
Potential at the pin [V]
Potential at the pin [V]
Current flowing into the pin [A]
Voltage drop between the two pins (= p.v - n.v) [V]
Potential at the pin [V]
Resistance [Ohm]
Voltage drop between the two pins (= p.v - n.v) [V]
Current flowing from pin p to pin n [A]
der(Current flowing from pin p to pin n) [A/s]
Inductance [H]
= true, if support flange enabled, otherwise implicitly grounded
Transformation coefficient [N.m/A]
Voltage drop between the two pins [V]
Angle of shaft flange with respect to support (= flange.phi - support.phi) [rad|deg]
der(Angle of shaft flange with respect to support (= flange.phi - support.phi)) [rad/s]
Potential at the pin [V]
Cut torque in the flange [N.m]
Fixed offset angle of housing [rad|deg]
Moment of inertia [kg.m2]
Priority to use phi and w as states
Absolute rotation angle of component [rad|deg]
der(Absolute angular velocity of component (= der(phi))) [rad/s/s]
= true, if support flange enabled, otherwise implicitly grounded
Cut torque in the flange [N.m]
Cut torque in the flange [N.m]
External support torque (must be computed via torque balance in model where InternalSupport is used; = flange.tau) [N.m]
Fixed offset angle of housing [rad|deg]
Transmission ratio (flange_a.phi/flange_b.phi) [1]
Angle between left shaft flange and support [rad|deg]
Angle between right shaft flange and support [rad|deg]
Cut torque in the flange [N.m]
Moment of inertia [kg.m2]
Priority to use phi and w as states
Absolute rotation angle of component [rad|deg]
der(Absolute rotation angle of component) [rad/s]
Absolute angular velocity of component (= der(phi)) [rad/s]
der(Absolute angular velocity of component (= der(phi))) [rad/s/s]
Cut torque in the flange [N.m]
[rad]
Gain
Time Constant of Integrator [s]
Time Constant of Derivative block [s]
The higher Nd, the more ideal the derivative block
Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
Initial or guess value value for integrator output (= integrator state) [rad]
Initial or guess value for state of derivative block [rad]
Initial value of output [V]
Gain value multiplied with input signal
Output signal connector
Integrator gain [s-1]
Type of initialization (1: no init, 2: steady state, 3,4: initial output)
Initial or guess value of output (= state) [rad]
Connector of Real output signal [rad]
der(Connector of Real output signal) [rad/s]
Gains [s]
Time constants (T>0 required; T=0 is ideal derivative block) [s]
Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
Initial or guess value of state [rad]
Initial value of output (= state) [rad]
Connector of Real input signal [rad]
Connector of Real output signal [rad]
State of block [rad]
der(State of block) [rad/s]

Gain value multiplied with input signal
Input signal connector
Output signal connector [V]
Gain of upper input
Gain of middle input
Gain of lower input
Height of step [rad]
Offset of output signal y [rad]
Output y = offset for time < startTime [s]

