VeraGridEngine.Simulations.Rms.numerical package

Submodules

VeraGridEngine.Simulations.Rms.numerical.back_euler_fx module

class VeraGridEngine.Simulations.Rms.numerical.back_euler_fx.BackEulerImplicitIntegration(problem: RmsProblemDae, t0: float, t_end: float, h: float, max_iter: int, tolerance: float = 1e-07)[source]

Bases: object

simulate()[source]
Returns:

VeraGridEngine.Simulations.Rms.numerical.back_euler_mti module

class VeraGridEngine.Simulations.Rms.numerical.back_euler_mti.BackEulerImplicitIntegrationMTI(problem: RmsProblemMTI, t0: float, t_end: float, h: float, max_iter: int, tolerance: float = 1e-07, inequality_tolerance: float = 1e-09)[source]

Bases: BackEulerImplicitIntegration

Backward Euler variant with MTI inequality/mode checks.

This solver keeps the same Newton/Jacobian structure as BackEulerImplicitIntegration and adds a post-Newton MTI feasibility gate based on inequality residuals G <= tol.

simulate()[source]
Returns:

VeraGridEngine.Simulations.Rms.numerical.back_euler_ts module

class VeraGridEngine.Simulations.Rms.numerical.back_euler_ts.BackEulerImplicitTensygrid(problem: RmsProblemDae, t0: float, t_end: float, h: float, max_iter: int)[source]

Bases: object

simulate()[source]
Returns:

VeraGridEngine.Simulations.Rms.numerical.midpoint module

class VeraGridEngine.Simulations.Rms.numerical.midpoint.MidpointImplicitIntegration(problem: RmsProblemDae, t0: float, t_end: float, h: float, max_iter: int, tolerance: float = 1e-07, dx0_init: ndarray[tuple[Any, ...], dtype[float64]] | None = None, use_fd_jacobian: bool = True)[source]

Bases: object

simulate()[source]

VeraGridEngine.Simulations.Rms.numerical.pseudo_transient module

class VeraGridEngine.Simulations.Rms.numerical.pseudo_transient.PseudoTransient(problem: RmsProblemDae, h: float, dtau0: float, dtau_max: float = 100.0, dtau_min: float = 1e-05, tol: float = 1e-06, reference_error_tol: float = 3.0, max_iter: int = 1000, verbose: bool = True, fixed_var_uids: list[int] | None = None, debug_check_x_new: bool = False, debug_x_new_abs_max: float = 1000000.0)[source]

Bases: object

simulate(plot=True, x0: ndarray[tuple[Any, ...], dtype[float64]] | None = None)[source]

VeraGridEngine.Simulations.Rms.numerical.trapezoidal module

class VeraGridEngine.Simulations.Rms.numerical.trapezoidal.TrapezoidalImplicitIntegration(problem: RmsProblemDae, t0: float, t_end: float, h: float, max_iter: int, tolerance: float = 1e-07, dx0_init: ndarray[tuple[Any, ...], dtype[float64]] | None = None, use_fd_jacobian: bool = True, use_chain_rule_jacobian: bool = True)[source]

Bases: object

simulate()[source]

Module contents