andes.core.var.Algeb#

class andes.core.var.Algeb(name: Optional[str] = None, tex_name: Optional[str] = None, info: Optional[str] = None, unit: Optional[str] = None, v_str: Optional[Union[str, float]] = None, v_iter: Optional[str] = None, e_str: Optional[str] = None, discrete: Optional[andes.core.discrete.Discrete] = None, v_setter: Optional[bool] = False, e_setter: Optional[bool] = False, v_str_add: Optional[bool] = False, addressable: Optional[bool] = True, export: Optional[bool] = True, diag_eps: Optional[float] = 0.0, deps: Optional[List] = None, is_output: Optional[bool] = False)[source]#

Algebraic variable class, an alias of andes.core.var.BaseVar.

Note that residual equations corresponding to algebraic variables are given in an implicit form.

Examples

When an algebraic variable y and the equation y = x + z shall be defined, use

e_str = 'x + z - y'

because it expresses the equation x + z - y = 0. It is a common mistake to use e_str = 'x + z', which will result in a singular Jacobian matrix because d(x + z) / d(y) is zero.

Attributes
e_codestr

Equation code string, equals string literal g

v_codestr

Variable code string, equals string literal y

__init__(name: Optional[str] = None, tex_name: Optional[str] = None, info: Optional[str] = None, unit: Optional[str] = None, v_str: Optional[Union[str, float]] = None, v_iter: Optional[str] = None, e_str: Optional[str] = None, discrete: Optional[andes.core.discrete.Discrete] = None, v_setter: Optional[bool] = False, e_setter: Optional[bool] = False, v_str_add: Optional[bool] = False, addressable: Optional[bool] = True, export: Optional[bool] = True, diag_eps: Optional[float] = 0.0, deps: Optional[List] = None, is_output: Optional[bool] = False)#

Methods

get_names()

reset()

Reset the internal numpy arrays and flags.

set_address(addr[, contiguous])

Set the address of internal variables.

set_arrays(dae[, inplace, alloc])

Set the equation and values arrays.

Attributes

class_name

e_code

v_code