tops.dyn_models.blocks

Classes

PIRegulator

Base class for dynamic models

Integrator

Base class for dynamic models

Integrator2

Same as Integrator, but with time constant.

Gain

Base class for dynamic models

Limiter

Base class for dynamic models

Washout

Base class for dynamic models

TimeConstant

TimeConstantVar

TimeConstantGain

TimeConstantLims

___ V_max

TimeConstantGainLims

___ V_max

LeadLag

PIRegulator2

Base class for dynamic models

PIRegulator2Lims

Base class for dynamic models

WashoutGain

Saturation

Not verified!!

Backlash

Based on PowerFactory implementation

Module Contents

class tops.dyn_models.blocks.PIRegulator(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Base class for dynamic models

add_blocks()

Sub-modules can be specified by overwriting this function

output(x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.Integrator(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Base class for dynamic models

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
state_derivatives(dx, x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.Integrator2(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: Integrator

Same as Integrator, but with time constant.

output(x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.Gain(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Base class for dynamic models

output(x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.Limiter(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Base class for dynamic models

output(x, v)
class tops.dyn_models.blocks.Washout(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Base class for dynamic models

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
state_derivatives(dx, x, v)
class tops.dyn_models.blocks.TimeConstant(*args, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

1 |
u —->| ———– |—-> y
1 + s*T |

|_______________|

zero_idx
state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
initialize(x0, v0, output_value)
state_derivatives(dx, x, v)
class tops.dyn_models.blocks.TimeConstantVar(*args, **kwargs)

Bases: TimeConstant

1 |
u —->| ———– |—-> y
K + s*T |

|_______________|

initialize(x0, v0, output_value)
state_derivatives(dx, x, v)
class tops.dyn_models.blocks.TimeConstantGain(*args, **kwargs)

Bases: TimeConstant

1 |
u —->| ———– |—-> y
1 + s*T |

|_______________|

output(x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.TimeConstantLims(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

___ V_max

________/_____

1 |
u —->| ———– |—-> y
1 + s*T_2 |
|_______________|

___/

V_min

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
initialize(x0, v0, output_value)
state_derivatives(dx, x, v)
class tops.dyn_models.blocks.TimeConstantGainLims(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: TimeConstantLims

___ V_max

________/_____

K |
u —->| ———– |—-> y
1 + s*T_2 |
|_______________|

___/

V_min

state_derivatives(dx, x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.LeadLag(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

1 + s*T_1 |
u —->| ———– |—-> y
1 + s*T_2 |

|_______________|

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
initialize(x0, v0, output_value)
state_derivatives(dx, x, v)
class tops.dyn_models.blocks.PIRegulator2(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Base class for dynamic models

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
state_derivatives(dx, x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.PIRegulator2Lims(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: PIRegulator2

Base class for dynamic models

output(x, v)
state_derivatives(dx, x, v)
initialize(x0, v0, output_value)
class tops.dyn_models.blocks.WashoutGain(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

s*K |
u —->| ———– |—-> y
1 + s*T |

|_______________|

sK/(1+sT) = y/u u*sK = y + sTy s(Ku - Ty) = y x = Ku - Ty sx = y y = 1/T(Ku - x)

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

output(x, v)
state_derivatives(dx, x, v)
class tops.dyn_models.blocks.Saturation(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Not verified!!

output(x, v)
class tops.dyn_models.blocks.Backlash(par=None, sys_par=None, first_state_idx=0, n_units=None, **kwargs)

Bases: tops.dyn_models.utils.DAEModel

Based on PowerFactory implementation

state_list()

Returns list of states for dynamic model. Should be overwritten (if model has one or more states)

state_derivatives(dx, x, v)
output(x, v)
initialize(x0, v0, output_value)