VeraGridEngine.Simulations.EMT packageο
Subpackagesο
- VeraGridEngine.Simulations.EMT.JMARTI_Sim package
- Submodules
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_fit_bundle module
JMartiFitBundleJMartiFitBundle.get_decoupling_error_y()JMartiFitBundle.get_decoupling_error_z()JMartiFitBundle.get_frequency_hz()JMartiFitBundle.get_hres_fits()JMartiFitBundle.get_line_length_m()JMartiFitBundle.get_modal_transform()JMartiFitBundle.get_modal_transform_inv()JMartiFitBundle.get_mode_count()JMartiFitBundle.get_mode_delays()JMartiFitBundle.get_passivity_report()JMartiFitBundle.get_phase_labels()JMartiFitBundle.get_reference_frequency_hz()JMartiFitBundle.get_yc_fits()
build_jmarti_fit_bundle()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_fit_options module
JMartiFitOptionsJMartiFitOptions.CLASS_NON_EDITABLE_PROPERTIESJMartiFitOptions.CLASS_PROPERTIES_WITH_PROFILEJMartiFitOptions.CLASS_PROPERTY_DECLARATIONSJMartiFitOptions.CLASS_PROPERTY_LISTJMartiFitOptions.CLASS_REGISTERED_PROPERTIESJMartiFitOptions.LOCAL_PROPERTY_DECLARATIONSJMartiFitOptions.decoupling_warning_toleranceJMartiFitOptions.delay_fit_high_hzJMartiFitOptions.delay_fit_low_hzJMartiFitOptions.exploration_high_hzJMartiFitOptions.exploration_low_hzJMartiFitOptions.forced_model_orderJMartiFitOptions.get_decoupling_warning_tolerance()JMartiFitOptions.get_delay_fit_high_hz()JMartiFitOptions.get_delay_fit_low_hz()JMartiFitOptions.get_exploration_high_hz()JMartiFitOptions.get_exploration_low_hz()JMartiFitOptions.get_forced_model_order()JMartiFitOptions.get_loewner_relative_tolerance()JMartiFitOptions.get_maximum_model_order()JMartiFitOptions.get_minimum_frequency_samples()JMartiFitOptions.get_passivity_frequency_sample_count()JMartiFitOptions.get_passivity_maximum_hres_gain_tolerance()JMartiFitOptions.get_passivity_minimum_real_yc_tolerance()JMartiFitOptions.get_reference_frequency_hz()JMartiFitOptions.get_use_delay_fit_window()JMartiFitOptions.get_use_frequency_exploration_window()JMartiFitOptions.get_vf_enforce_stable_poles()JMartiFitOptions.get_vf_include_constant_term()JMartiFitOptions.get_vf_include_proportional_term()JMartiFitOptions.get_vf_max_iterations()JMartiFitOptions.get_vf_pole_shift_tolerance()JMartiFitOptions.get_vf_stability_real_part_floor()JMartiFitOptions.loewner_relative_toleranceJMartiFitOptions.maximum_model_orderJMartiFitOptions.minimum_frequency_samplesJMartiFitOptions.passivity_frequency_sample_countJMartiFitOptions.passivity_maximum_hres_gain_toleranceJMartiFitOptions.passivity_minimum_real_yc_toleranceJMartiFitOptions.reference_frequency_hzJMartiFitOptions.set_decoupling_warning_tolerance()JMartiFitOptions.set_delay_fit_high_hz()JMartiFitOptions.set_delay_fit_low_hz()JMartiFitOptions.set_exploration_high_hz()JMartiFitOptions.set_exploration_low_hz()JMartiFitOptions.set_forced_model_order()JMartiFitOptions.set_loewner_relative_tolerance()JMartiFitOptions.set_maximum_model_order()JMartiFitOptions.set_minimum_frequency_samples()JMartiFitOptions.set_passivity_frequency_sample_count()JMartiFitOptions.set_passivity_maximum_hres_gain_tolerance()JMartiFitOptions.set_passivity_minimum_real_yc_tolerance()JMartiFitOptions.set_reference_frequency_hz()JMartiFitOptions.set_use_delay_fit_window()JMartiFitOptions.set_use_frequency_exploration_window()JMartiFitOptions.set_vf_enforce_stable_poles()JMartiFitOptions.set_vf_include_constant_term()JMartiFitOptions.set_vf_include_proportional_term()JMartiFitOptions.set_vf_max_iterations()JMartiFitOptions.set_vf_pole_shift_tolerance()JMartiFitOptions.set_vf_stability_real_part_floor()JMartiFitOptions.use_delay_fit_windowJMartiFitOptions.use_frequency_exploration_windowJMartiFitOptions.vf_enforce_stable_polesJMartiFitOptions.vf_include_constant_termJMartiFitOptions.vf_include_proportional_termJMartiFitOptions.vf_max_iterationsJMartiFitOptions.vf_pole_shift_toleranceJMartiFitOptions.vf_stability_real_part_floor
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_fit_workflow module
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_frequency_samples module
JMartiFrequencySamplesJMartiFrequencySamples.get_angular_frequency_rad_per_s()JMartiFrequencySamples.get_frequency_count()JMartiFrequencySamples.get_frequency_hz()JMartiFrequencySamples.get_line_length_m()JMartiFrequencySamples.get_phase_count()JMartiFrequencySamples.get_phase_labels()JMartiFrequencySamples.get_y_per_length()JMartiFrequencySamples.get_z_per_length()
build_jmarti_frequency_samples()build_jmarti_frequency_subset()validate_jmarti_frequency_samples()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_loewner_seed module
JMartiModeLoewnerSeedJMartiModeLoewnerSeed.get_estimated_order()JMartiModeLoewnerSeed.get_initial_poles_s()JMartiModeLoewnerSeed.get_left_frequencies_hz()JMartiModeLoewnerSeed.get_mode_index()JMartiModeLoewnerSeed.get_right_frequencies_hz()JMartiModeLoewnerSeed.get_singular_values()JMartiModeLoewnerSeed.get_target_name()JMartiModeLoewnerSeed.get_truncation_ratio()
build_jmarti_loewner_left_right_partition()build_jmarti_loewner_matrices()build_jmarti_mode_loewner_seed()estimate_jmarti_loewner_order()extract_jmarti_loewner_initial_poles()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_modal_processing module
JMartiModalSamplesJMartiModalSamples.get_angular_frequency_rad_per_s()JMartiModalSamples.get_decoupling_error_y()JMartiModalSamples.get_decoupling_error_z()JMartiModalSamples.get_frequency_hz()JMartiModalSamples.get_gamma_modal()JMartiModalSamples.get_line_length_m()JMartiModalSamples.get_modal_transform()JMartiModalSamples.get_modal_transform_inv()JMartiModalSamples.get_mode_count()JMartiModalSamples.get_phase_labels()JMartiModalSamples.get_reference_frequency_hz()JMartiModalSamples.get_y_modal()JMartiModalSamples.get_y_modal_diag()JMartiModalSamples.get_yc_modal()JMartiModalSamples.get_z_modal()JMartiModalSamples.get_z_modal_diag()
JMartiModeDelayEstimatebuild_jmarti_modal_samples()estimate_jmarti_mode_delays()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_passivity module
JMartiModePassivityReportJMartiModePassivityReport.get_maximum_gain()JMartiModePassivityReport.get_maximum_gain_frequency_hz()JMartiModePassivityReport.get_minimum_real_frequency_hz()JMartiModePassivityReport.get_minimum_real_part()JMartiModePassivityReport.get_mode_index()JMartiModePassivityReport.get_passes_gain_check()JMartiModePassivityReport.get_passes_real_part_check()JMartiModePassivityReport.get_target_name()
JMartiPassivityReportbuild_jmarti_passivity_frequency_grid()evaluate_jmarti_mode_passivity()evaluate_jmarti_passivity_report()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_runtime module
JMartiHistoryRuntimeJMartiHistoryRuntime.Ih_fJMartiHistoryRuntime.Ih_tJMartiHistoryRuntime.active_phJMartiHistoryRuntime.bind_terminals()JMartiHistoryRuntime.blockJMartiHistoryRuntime.buf_a_fJMartiHistoryRuntime.buf_a_tJMartiHistoryRuntime.buffer_sizeJMartiHistoryRuntime.direct_yc_modalJMartiHistoryRuntime.direct_yc_phaseJMartiHistoryRuntime.direct_zc_modalJMartiHistoryRuntime.get_mode_count()JMartiHistoryRuntime.get_nodal_injections()JMartiHistoryRuntime.hJMartiHistoryRuntime.hres_order_countsJMartiHistoryRuntime.hres_state_fromJMartiHistoryRuntime.hres_state_toJMartiHistoryRuntime.idx_p_hfJMartiHistoryRuntime.idx_p_htJMartiHistoryRuntime.idx_vfJMartiHistoryRuntime.idx_vtJMartiHistoryRuntime.initialize_from_fundamental_phasors()JMartiHistoryRuntime.initialize_from_initial_point()JMartiHistoryRuntime.lineJMartiHistoryRuntime.mJMartiHistoryRuntime.max_delay_stepsJMartiHistoryRuntime.ph_labelsJMartiHistoryRuntime.ph_maskJMartiHistoryRuntime.phase_idxJMartiHistoryRuntime.runtime_dataJMartiHistoryRuntime.setup_indices()JMartiHistoryRuntime.update_history()JMartiHistoryRuntime.v_f_varsJMartiHistoryRuntime.v_t_varsJMartiHistoryRuntime.yc_order_countsJMartiHistoryRuntime.yc_state_fromJMartiHistoryRuntime.yc_state_to
get_jmarti_block_fit_bundle()get_jmarti_block_runtime_data()set_jmarti_block_fit_bundle()set_jmarti_block_runtime_data()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_runtime_data module
JMartiModeRuntimeDataJMartiModeRuntimeData.get_delay_step_count()JMartiModeRuntimeData.get_hres_alpha()JMartiModeRuntimeData.get_hres_beta()JMartiModeRuntimeData.get_hres_constant_term()JMartiModeRuntimeData.get_hres_poles_s()JMartiModeRuntimeData.get_hres_proportional_term()JMartiModeRuntimeData.get_hres_residues()JMartiModeRuntimeData.get_mode_index()JMartiModeRuntimeData.get_residual_delay_s()JMartiModeRuntimeData.get_tau_s()JMartiModeRuntimeData.get_yc_alpha()JMartiModeRuntimeData.get_yc_beta()JMartiModeRuntimeData.get_yc_constant_term()JMartiModeRuntimeData.get_yc_poles_s()JMartiModeRuntimeData.get_yc_proportional_term()JMartiModeRuntimeData.get_yc_residues()
JMartiRuntimeDataJMartiRuntimeData.get_line_length_m()JMartiRuntimeData.get_modal_transform()JMartiRuntimeData.get_modal_transform_inv()JMartiRuntimeData.get_mode_count()JMartiRuntimeData.get_mode_data()JMartiRuntimeData.get_phase_labels()JMartiRuntimeData.get_reference_frequency_hz()JMartiRuntimeData.get_time_step_s()
build_jmarti_runtime_data()
- VeraGridEngine.Simulations.EMT.JMARTI_Sim.jmarti_vector_fit module
JMartiRationalModeFitJMartiRationalModeFit.get_constant_term()JMartiRationalModeFit.get_converged()JMartiRationalModeFit.get_fit_error_rms()JMartiRationalModeFit.get_iterations_completed()JMartiRationalModeFit.get_max_relative_error()JMartiRationalModeFit.get_mode_index()JMartiRationalModeFit.get_poles_s()JMartiRationalModeFit.get_proportional_term()JMartiRationalModeFit.get_residues()JMartiRationalModeFit.get_stable()JMartiRationalModeFit.get_target_name()
build_jmarti_complex_frequency_points()build_jmarti_mode_vector_fit()evaluate_jmarti_rational_mode_fit()
- Module contents
- VeraGridEngine.Simulations.EMT.problems package
- Submodules
- VeraGridEngine.Simulations.EMT.problems.emt_problem_dae module
EmtInjectionSeedStoreEmtInterfaceValidationErrorEmtProblemDaeEmtProblemDae.add_device_var()EmtProblemDae.boundary_updateEmtProblemDae.emt_boundary_update()EmtProblemDae.get_build_report()EmtProblemDae.get_device_vars_dict()EmtProblemDae.get_floquet_ak_stack()EmtProblemDae.get_floquet_jacobian_evaluator()EmtProblemDae.get_init_guess_info()EmtProblemDae.get_init_guess_table()EmtProblemDae.get_next_forced_event_time()EmtProblemDae.reset_boundary_update_state()EmtProblemDae.set_diff_init_guess()EmtProblemDae.set_events_group()EmtProblemDae.set_external_param()EmtProblemDae.set_if_exists()EmtProblemDae.set_init_guess()EmtProblemDae.set_init_guess_and_preserve_post_init()EmtProblemDae.set_internal_diff_init_if_exists()EmtProblemDae.set_internal_init_if_exists()EmtProblemDae.set_internal_mode_if_exists()EmtProblemDae.set_internal_runtime_if_exists()EmtProblemDae.update()EmtProblemDae.vars_glob_name2uid
EmtTopologyErrorfind_name_in_block()validate_line_phase_layout()
- VeraGridEngine.Simulations.EMT.problems.emt_problem_template module
EmtBoundaryUpdateProtocolEmtProblemTemplateEmtProblemTemplate.CONSTANT_PARAMS_NAMEEmtProblemTemplate.DIFF_NAMEEmtProblemTemplate.TIME_NAMEEmtProblemTemplate.VARIABLE_PARAMS_NAMEEmtProblemTemplate.VARS_NAMEEmtProblemTemplate.boundary_updateEmtProblemTemplate.def_event_params_fn()EmtProblemTemplate.event_parameters_eqsEmtProblemTemplate.event_params_valuesEmtProblemTemplate.get_algebraic_eqs()EmtProblemTemplate.get_algebraic_var_number()EmtProblemTemplate.get_algebraic_vars()EmtProblemTemplate.get_alias_names_dict()EmtProblemTemplate.get_all_vars_number()EmtProblemTemplate.get_compiler_names_dict()EmtProblemTemplate.get_constant_parameters()EmtProblemTemplate.get_diff_var_idx()EmtProblemTemplate.get_diff_var_number()EmtProblemTemplate.get_diff_vars()EmtProblemTemplate.get_dx0()EmtProblemTemplate.get_event_parameter_equations()EmtProblemTemplate.get_floquet_ak_stack()EmtProblemTemplate.get_full_param_index()EmtProblemTemplate.get_newton_trace_collector()EmtProblemTemplate.get_parameters_values()EmtProblemTemplate.get_runtime_continuous_parameters()EmtProblemTemplate.get_runtime_continuous_slice()EmtProblemTemplate.get_runtime_mode_parameters()EmtProblemTemplate.get_runtime_mode_slice()EmtProblemTemplate.get_state_eqs()EmtProblemTemplate.get_state_vars()EmtProblemTemplate.get_states_number()EmtProblemTemplate.get_var_idx()EmtProblemTemplate.get_variable_parameter_number()EmtProblemTemplate.get_variable_parameters()EmtProblemTemplate.get_x0()EmtProblemTemplate.glob_timeEmtProblemTemplate.rebuild_runtime_param_vectors()EmtProblemTemplate.report_progress()EmtProblemTemplate.report_progress2()EmtProblemTemplate.reset_boundary_update_state()EmtProblemTemplate.set_events_group()EmtProblemTemplate.set_newton_trace_collector()EmtProblemTemplate.set_runtime_mode_parameters()EmtProblemTemplate.state_and_algebraic_vars()EmtProblemTemplate.uid2idx_diffEmtProblemTemplate.uid2idx_event_paramsEmtProblemTemplate.uid2idx_paramsEmtProblemTemplate.uid2idx_varsEmtProblemTemplate.update_variable_params()EmtProblemTemplate.vars_glob_name2uid
get_solver_forced_event_time()is_problem_owned_boundary_updater()resolve_solver_boundary_updater()
- Module contents
- VeraGridEngine.Simulations.EMT.solvers package
- Submodules
- VeraGridEngine.Simulations.EMT.solvers.StructuralVectorizedSolver module
DirectResidualDispatcherEquationGroupFusedResidualDispatcherLegacyResidualEvaluatorAdapterPredictorSparseADJacobianSparseADJacobian.JSparseADJacobian.col_ptrSparseADJacobian.col_rowsSparseADJacobian.color_colsSparseADJacobian.color_groupsSparseADJacobian.color_ptrSparseADJacobian.colorsSparseADJacobian.data_idxSparseADJacobian.dtypeSparseADJacobian.equationsSparseADJacobian.get_data_buffer()SparseADJacobian.get_matrix()SparseADJacobian.methodSparseADJacobian.n_colorsSparseADJacobian.n_colsSparseADJacobian.n_rowsSparseADJacobian.parametersSparseADJacobian.row_idxSparseADJacobian.var_mapSparseADJacobian.variablesSparseADJacobian.verbose
StructuralVectorizedMasterJacobianDispatcherStructuralVectorizedSolverStructuralVectorizedSolver.auto_detect_vectorization()StructuralVectorizedSolver.dense_thresholdStructuralVectorizedSolver.fused_residualStructuralVectorizedSolver.get_backend_build_stats()StructuralVectorizedSolver.get_last_runtime_stats()StructuralVectorizedSolver.get_last_sim_loop_time()StructuralVectorizedSolver.hStructuralVectorizedSolver.jit_jacobians_adStructuralVectorizedSolver.methodStructuralVectorizedSolver.newton_max_iterStructuralVectorizedSolver.pred_methodStructuralVectorizedSolver.problemStructuralVectorizedSolver.simulate()StructuralVectorizedSolver.sorted_varsStructuralVectorizedSolver.t0StructuralVectorizedSolver.t_endStructuralVectorizedSolver.uid2idx_varsStructuralVectorizedSolver.vec_flat_argsStructuralVectorizedSolver.vec_jacobianStructuralVectorizedSolver.vec_kernelsStructuralVectorizedSolver.vectorized_readyStructuralVectorizedSolver.verbose
VectorizedKernelSpecVectorizedResidualTrialEvaluatorbuild_residual_evaluator()canonicalize_expression()evaluate_vectorized_residual()fill_full_parameter_buffer()
- VeraGridEngine.Simulations.EMT.solvers.jit_symbolic_solver module
HybridJacobianEvaluatorJitSymbolicSolverJitSymbolicSolver.algebraic_eqsJitSymbolicSolver.algebraic_varsJitSymbolicSolver.build_jit_kernel()JitSymbolicSolver.dense_thresholdJitSymbolicSolver.diff_varsJitSymbolicSolver.dyJitSymbolicSolver.get_backend_build_stats()JitSymbolicSolver.get_last_runtime_stats()JitSymbolicSolver.get_last_sim_loop_time()JitSymbolicSolver.hJitSymbolicSolver.jit_compilerJitSymbolicSolver.jit_jacobian_symbolicJitSymbolicSolver.jit_kernelsJitSymbolicSolver.methodJitSymbolicSolver.newton_max_iterJitSymbolicSolver.pred_methodJitSymbolicSolver.problemJitSymbolicSolver.simulate()JitSymbolicSolver.state_eqsJitSymbolicSolver.state_varsJitSymbolicSolver.stepsJitSymbolicSolver.tJitSymbolicSolver.t0JitSymbolicSolver.t_endJitSymbolicSolver.verboseJitSymbolicSolver.y
PredictorResidualTrialEvaluatorSymbolicCompiledNumbaKernelCacheevaluate_batched_residual()fill_full_parameter_buffer()get_vars_in_expr()
- VeraGridEngine.Simulations.EMT.solvers.solver_AD module
AdBacktrackingResidualEvaluatorBoundaryUpdaterInterfaceJitAdSolverJitAdSolver.algebraic_eqsJitAdSolver.algebraic_varsJitAdSolver.build_jit_ad()JitAdSolver.dense_thresholdJitAdSolver.dyJitAdSolver.get_backend_build_stats()JitAdSolver.get_last_runtime_stats()JitAdSolver.get_last_sim_loop_time()JitAdSolver.hJitAdSolver.jit_jacobian_adJitAdSolver.jit_kernels_adJitAdSolver.methodJitAdSolver.newton_max_iterJitAdSolver.pred_methodJitAdSolver.problemJitAdSolver.simulate()JitAdSolver.state_eqsJitAdSolver.state_varsJitAdSolver.stepsJitAdSolver.tJitAdSolver.t0JitAdSolver.t_endJitAdSolver.verboseJitAdSolver.y
PredictorSparseADJacobianSparseADJacobian.JSparseADJacobian.col_ptrSparseADJacobian.col_rowsSparseADJacobian.color_colsSparseADJacobian.color_groupsSparseADJacobian.color_ptrSparseADJacobian.colorsSparseADJacobian.data_idxSparseADJacobian.dtypeSparseADJacobian.equationsSparseADJacobian.methodSparseADJacobian.n_colorsSparseADJacobian.n_colsSparseADJacobian.n_rowsSparseADJacobian.param_mapSparseADJacobian.parametersSparseADJacobian.row_idxSparseADJacobian.use_cseSparseADJacobian.var_mapSparseADJacobian.variables
SparseAdMasterJacobianDispatcherevaluate_batched_residual()fill_full_parameter_buffer()greedy_color_columns()
- VeraGridEngine.Simulations.EMT.solvers.structural_compiled_solver module
CompiledNumbaKernelCacheStructuralCompiledBoundaryUpdateWrapperStructuralCompiledDirectResidualAssemblerStructuralCompiledEquationGroupStructuralCompiledMasterJacobianDispatcherStructuralCompiledPredictorStructuralCompiledResidualAssemblerStructuralCompiledResidualDispatcherStructuralCompiledResidualTrialEvaluatorStructuralCompiledSolverStructuralCompiledSolver.get_backend_build_stats()StructuralCompiledSolver.get_jacobian_data_buffer()StructuralCompiledSolver.get_last_runtime_stats()StructuralCompiledSolver.get_last_sim_loop_time()StructuralCompiledSolver.get_residual_buffer()StructuralCompiledSolver.is_vectorized_ready()StructuralCompiledSolver.simulate()
StructuralCompiledSparseADJacobianStructuralCompiledSparseFactorizationManagerStructuralCompiledSparseFactorizationManager.factorize()StructuralCompiledSparseFactorizationManager.get_active_matrix()StructuralCompiledSparseFactorizationManager.get_stats()StructuralCompiledSparseFactorizationManager.has_factorization()StructuralCompiledSparseFactorizationManager.invalidate()StructuralCompiledSparseFactorizationManager.solve()StructuralCompiledSparseFactorizationManager.solve_fallback()
StructuralCompiledVectorKernelStructuralCompiledWarmupPolicycanonicalize_expression()
- Module contents
Submodulesο
VeraGridEngine.Simulations.EMT.emt_driver moduleο
- class VeraGridEngine.Simulations.EMT.emt_driver.EmtSimulationDriver(grid: MultiCircuit, options: EmtOptions, pf_results_3ph: PowerFlowResults3Ph | None = None, pf_results: PowerFlowResults | None = None, engine: EngineType = VeraGrid)[source]ο
Bases:
DriverTemplate- line_statesο
- name = 'EMT Simulation'ο
- optionsο
- pf_results: PowerFlowResults | Noneο
- pf_results_3Ph: PowerFlowResults3Ph | Noneο
- problem: EmtProblemDae | Noneο
- run() None[source]ο
Main function to initialize and run the system simulation.
This function sets up logging, starts the dynamic simulation, and logs the outcome. It handles and logs any exceptions raised during execution. :return:
- tpe = 'EMT Dynamic'ο
Dynamic wrapper to use with Qt
VeraGridEngine.Simulations.EMT.emt_options moduleο
- class VeraGridEngine.Simulations.EMT.emt_options.EmtOptions(time_step: float = 5e-06, simulation_time: float = 0.02, tolerance: float = 1e-06, solver_type: EmtSolverTypes = structuralAD, integration_method: DynamicIntegrationMethod = DAE_Trapezoidal, verbose: int = 0, initialization_method: EmtInitializationMethod = Auto, problem_type: EmtProblemTypes = EmtProblemDae, init_newton_tol: float = 1e-08, init_newton_max_iter: int = 20, init_newton_backtracking: bool = True, init_dense_threshold: int = 48, init_ptc_dtau0: float = 1.0, init_ptc_dtau_min: float = 1e-06, init_ptc_dtau_max: float = 10.0, init_ptc_max_iter: int = 60, init_allow_state_equilibrium: bool = True, newton_compute_dense_cond: bool = False, newton_enable_fallback: bool = False, newton_enable_index1_check: bool = False, newton_enable_backtracking: bool = False, newton_step_norm_explode: float = 1000000.0, newton_dense_cond_warn: float = 1000000000000.0, newton_dense_cond_max_n: int = 600, newton_index1_max_block_n: int = 128, newton_index1_warn_pivot_ratio: float = 1e-10, newton_index1_fail_pivot_ratio: float = 1e-14, newton_backtracking_beta: float = 0.5, newton_backtracking_min_alpha: float = 0.0001, newton_backtracking_max_iter: int = 6, compiled_warmup_policy: StructuralCompiledWarmupPolicy = StructuralCompiledWarmupPolicy.Adaptive, sparse_solver: SparseSolver = SuperLU, external_sparse_solver_directory: str = '', external_sparse_solver_plugin_name: str = '', allow_internal_sparse_fallback: bool = True)[source]ο
Bases:
OptionsTemplateEMT simulation options
- CLASS_NON_EDITABLE_PROPERTIES: Tuple[str, ...] = ('idtag', 'selected_to_merge', 'diff_changes')ο
- CLASS_PROPERTIES_WITH_PROFILE: Dict[str, str] = {}ο
- CLASS_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:selected_to_merge, prop:comment, prop:diff_changes, prop:time_step, prop:simulation_time, prop:tolerance, prop:solver_type, prop:integration_method, prop:verbose, prop:initialization_method, prop:problem_type, prop:init_newton_tol, prop:init_newton_max_iter, prop:init_newton_backtracking, prop:init_dense_threshold, prop:init_ptc_dtau0, prop:init_ptc_dtau_min, prop:init_ptc_dtau_max, prop:init_ptc_max_iter, prop:init_allow_state_equilibrium, prop:newton_compute_dense_cond, prop:newton_enable_fallback, prop:newton_enable_index1_check, prop:newton_enable_backtracking, prop:newton_step_norm_explode, prop:newton_dense_cond_warn, prop:newton_dense_cond_max_n, prop:newton_index1_max_block_n, prop:newton_index1_warn_pivot_ratio, prop:newton_index1_fail_pivot_ratio, prop:newton_backtracking_beta, prop:newton_backtracking_min_alpha, prop:newton_backtracking_max_iter, prop:compiled_warmup_policy, prop:sparse_solver, prop:external_sparse_solver_directory, prop:external_sparse_solver_plugin_name, prop:allow_internal_sparse_fallback)ο
- CLASS_PROPERTY_LIST: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:selected_to_merge, prop:comment, prop:diff_changes, prop:time_step, prop:simulation_time, prop:tolerance, prop:solver_type, prop:integration_method, prop:verbose, prop:initialization_method, prop:problem_type, prop:init_newton_tol, prop:init_newton_max_iter, prop:init_newton_backtracking, prop:init_dense_threshold, prop:init_ptc_dtau0, prop:init_ptc_dtau_min, prop:init_ptc_dtau_max, prop:init_ptc_max_iter, prop:init_allow_state_equilibrium, prop:newton_compute_dense_cond, prop:newton_enable_fallback, prop:newton_enable_index1_check, prop:newton_enable_backtracking, prop:newton_step_norm_explode, prop:newton_dense_cond_warn, prop:newton_dense_cond_max_n, prop:newton_index1_max_block_n, prop:newton_index1_warn_pivot_ratio, prop:newton_index1_fail_pivot_ratio, prop:newton_backtracking_beta, prop:newton_backtracking_min_alpha, prop:newton_backtracking_max_iter, prop:compiled_warmup_policy, prop:sparse_solver, prop:external_sparse_solver_directory, prop:external_sparse_solver_plugin_name, prop:allow_internal_sparse_fallback)ο
- CLASS_REGISTERED_PROPERTIES: Dict[str, GCProp] = {'action': prop:action, 'allow_internal_sparse_fallback': prop:allow_internal_sparse_fallback, 'code': prop:code, 'comment': prop:comment, 'compiled_warmup_policy': prop:compiled_warmup_policy, 'diff_changes': prop:diff_changes, 'external_sparse_solver_directory': prop:external_sparse_solver_directory, 'external_sparse_solver_plugin_name': prop:external_sparse_solver_plugin_name, 'idtag': prop:idtag, 'init_allow_state_equilibrium': prop:init_allow_state_equilibrium, 'init_dense_threshold': prop:init_dense_threshold, 'init_newton_backtracking': prop:init_newton_backtracking, 'init_newton_max_iter': prop:init_newton_max_iter, 'init_newton_tol': prop:init_newton_tol, 'init_ptc_dtau0': prop:init_ptc_dtau0, 'init_ptc_dtau_max': prop:init_ptc_dtau_max, 'init_ptc_dtau_min': prop:init_ptc_dtau_min, 'init_ptc_max_iter': prop:init_ptc_max_iter, 'initialization_method': prop:initialization_method, 'integration_method': prop:integration_method, 'name': prop:name, 'newton_backtracking_beta': prop:newton_backtracking_beta, 'newton_backtracking_max_iter': prop:newton_backtracking_max_iter, 'newton_backtracking_min_alpha': prop:newton_backtracking_min_alpha, 'newton_compute_dense_cond': prop:newton_compute_dense_cond, 'newton_dense_cond_max_n': prop:newton_dense_cond_max_n, 'newton_dense_cond_warn': prop:newton_dense_cond_warn, 'newton_enable_backtracking': prop:newton_enable_backtracking, 'newton_enable_fallback': prop:newton_enable_fallback, 'newton_enable_index1_check': prop:newton_enable_index1_check, 'newton_index1_fail_pivot_ratio': prop:newton_index1_fail_pivot_ratio, 'newton_index1_max_block_n': prop:newton_index1_max_block_n, 'newton_index1_warn_pivot_ratio': prop:newton_index1_warn_pivot_ratio, 'newton_step_norm_explode': prop:newton_step_norm_explode, 'problem_type': prop:problem_type, 'rdfid': prop:rdfid, 'selected_to_merge': prop:selected_to_merge, 'simulation_time': prop:simulation_time, 'solver_type': prop:solver_type, 'sparse_solver': prop:sparse_solver, 'time_step': prop:time_step, 'tolerance': prop:tolerance, 'verbose': prop:verbose}ο
- LOCAL_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:time_step, prop:simulation_time, prop:tolerance, prop:solver_type, prop:integration_method, prop:verbose, prop:initialization_method, prop:problem_type, prop:init_newton_tol, prop:init_newton_max_iter, prop:init_newton_backtracking, prop:init_dense_threshold, prop:init_ptc_dtau0, prop:init_ptc_dtau_min, prop:init_ptc_dtau_max, prop:init_ptc_max_iter, prop:init_allow_state_equilibrium, prop:newton_compute_dense_cond, prop:newton_enable_fallback, prop:newton_enable_index1_check, prop:newton_enable_backtracking, prop:newton_step_norm_explode, prop:newton_dense_cond_warn, prop:newton_dense_cond_max_n, prop:newton_index1_max_block_n, prop:newton_index1_warn_pivot_ratio, prop:newton_index1_fail_pivot_ratio, prop:newton_backtracking_beta, prop:newton_backtracking_min_alpha, prop:newton_backtracking_max_iter, prop:compiled_warmup_policy, prop:sparse_solver, prop:external_sparse_solver_directory, prop:external_sparse_solver_plugin_name, prop:allow_internal_sparse_fallback)ο
- action: ActionTypeο
- comment: strο
- device_type: DeviceTypeο
- diff_changesο
- selected_to_mergeο
VeraGridEngine.Simulations.EMT.emt_problem_factory moduleο
- VeraGridEngine.Simulations.EMT.emt_problem_factory.build_emt_problem(grid: MultiCircuit, options: EmtOptions, pf_results: PowerFlowResults | None = None, pf_results_3ph: PowerFlowResults3Ph | None = None, progress_signal: DummySignal | None = None)[source]ο
VeraGridEngine.Simulations.EMT.emt_results moduleο
- class VeraGridEngine.Simulations.EMT.emt_results.EmtResults(time_array: DatetimeIndex, emt_events_group_names: ndarray[tuple[Any, ...], dtype[str_]], emt_events_group_idtags: ndarray[tuple[Any, ...], dtype[str_]], variables: List[Var], diff_variables: List[Var], uid2idx_vars: Dict[int, int], uid2idx_diff: Dict[int, int], vars_glob_name2uid: Dict[str, int], devices_vars_info: Dict[Generator | Battery | Load | ExternalGrid | StaticGenerator | Shunt | ControllableShunt | CurrentInjection | Line | DcLine | Transformer2W | HvdcLine | VSC | UPFC | Winding | Switch | SeriesReactance | FluidNode | FluidPath | FluidP2x | FluidTurbine | FluidPump | Substation | Bus | BusBar | VoltageLevel | Country | Region | Community | Municipality | Area | Zone | Transformer3W | TransformerNW | OverheadLineType | Wire | TransformerType | EmissionGas | BranchGroup | LineLocations | LineLocation | ModellingAuthority | Facility | MarketUnit | Fuel | Investment | InvestmentsGroup | Contingency | ContingencyGroup | RemedialAction | RemedialActionGroup | Technology | Owner | UndergroundLineType | SequenceLineType | RmsModelTemplate | EmtModelTemplate | FmuTemplate | RmsEvent | RmsEventsGroup | ShortCircuitEvent | IfMeasurement | ItMeasurement | QfMeasurement | PfMeasurement | QtMeasurement | PtMeasurement | QiMeasurement | PiMeasurement | VmMeasurement | VaMeasurement | PgMeasurement | QgMeasurement, List[Var]], initial_parameter_value_maps: List[Dict[str, float]] | None = None, parameter_value_maps: List[Dict[str, float]] | None = None, has_event_group_results: ndarray[tuple[Any, ...], dtype[str_]] | None = None)[source]ο
Bases:
ResultsTemplate- CLASS_DATA_VARIABLES = {'converged': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'diff_values': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'dynamic_metadata_json': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'emt_events_group_idtags': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'emt_events_group_names': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'has_event_group_results': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'time_array': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'values': <VeraGridEngine.Simulations.results_template.ResultsProperty object>, 'well_initialized': <VeraGridEngine.Simulations.results_template.ResultsProperty object>}ο
- CLASS_RESULTS_DECLARATIONS = (<VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>)ο
- LOCAL_RESULTS_DECLARATIONS = (<VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>, <VeraGridEngine.Simulations.results_template.ResultsProperty object>)ο
- consolidate_after_loading() None[source]ο
Refresh the dynamic dimensions after disk restore.
- Returns:
None.
- convergedο
- diff_valuesο
- diff_variablesο
- dynamic_metadata_jsonο
- emt_events_group_idtagsο
- emt_events_group_namesο
- get_devices_dict_tree() Dict[DeviceType, Dict[Generator | Battery | Load | ExternalGrid | StaticGenerator | Shunt | ControllableShunt | CurrentInjection | Line | DcLine | Transformer2W | HvdcLine | VSC | UPFC | Winding | Switch | SeriesReactance | FluidNode | FluidPath | FluidP2x | FluidTurbine | FluidPump | Substation | Bus | BusBar | VoltageLevel | Country | Region | Community | Municipality | Area | Zone | Transformer3W | TransformerNW | OverheadLineType | Wire | TransformerType | EmissionGas | BranchGroup | LineLocations | LineLocation | ModellingAuthority | Facility | MarketUnit | Fuel | Investment | InvestmentsGroup | Contingency | ContingencyGroup | RemedialAction | RemedialActionGroup | Technology | Owner | UndergroundLineType | SequenceLineType | RmsModelTemplate | EmtModelTemplate | FmuTemplate | RmsEvent | RmsEventsGroup | ShortCircuitEvent | IfMeasurement | ItMeasurement | QfMeasurement | PfMeasurement | QtMeasurement | PtMeasurement | QiMeasurement | PiMeasurement | VmMeasurement | VaMeasurement | PgMeasurement | QgMeasurement, List[Var]]][source]ο
Build the device-variable tree consumed by the dynamic results handler.
- Returns:
Nested mapping
{device_type: {device: [variables]}}.
The handler preserves this structure when building the GUI tree of available dynamic variables.
- get_initial_parameter_value(group_idx: int, device_idtag: str, parameter_name: str) float | None[source]ο
Get one exported initial parameter value for one event group.
- Parameters:
group_idx β Event-group index.
device_idtag β Stable device identifier.
parameter_name β Canonical symbolic parameter name.
- Returns:
Initial parameter scalar value, or
None.
- get_parameter_value(group_idx: int, device_idtag: str, parameter_name: str) float | None[source]ο
Get one exported parameter value for one event group.
- Parameters:
group_idx β Event-group index.
device_idtag β Stable device identifier.
parameter_name β Canonical symbolic parameter name.
- Returns:
Parameter scalar value, or
None.
- get_var(uid: int) Var | None[source]ο
Get one exported EMT variable from its uid.
- Parameters:
uid β Variable uid.
- Returns:
Matching algebraic/state variable, matching differential variable, or
None.
The EMT results object stores algebraic/state variables and differential variables in separate arrays. The lookup must therefore resolve the uid against both index maps and return the object from the matching storage.
- get_vars_data(var_list: List[Var], group_idx: int = 0) ndarray[tuple[Any, ...], dtype[float64]] | ndarray[tuple[int, int], dtype[float64]][source]ο
Get time, vars data matrix for the vars selection :param var_list: List of vars :param group_idx: group index :return: data (time, vars)
- has_event_group_resultsο
- initial_parameter_value_maps: List[Dict[str, float]]ο
- ndvο
- ngο
- ntο
- nvο
- parameter_value_maps: List[Dict[str, float]]ο
- plot_var(var: Var, group_idx: int = 0) None[source]ο
Plot one EMT variable trace when it exists in the results arrays.
- Parameters:
var β Variable to plot.
group_idx β Event-group index.
- Returns:
None.
EMT variables may live either in the algebraic/state array or in the differential-variable array. The plotting path must therefore inspect both index maps and route to the matching numeric array explicitly.
- prepare_for_saving() None[source]ο
Refresh the serialized dynamic metadata before the result archive is written.
- Returns:
None.
- restore_dynamic_metadata(grid: MultiCircuit) None[source]ο
Restore dynamic variable metadata from the serialized payload.
- Parameters:
grid β Current circuit used to resolve device idtags.
- Returns:
None.
- uid2idx: Dict[int, int]ο
- uid2idx_diff: Dict[int, int]ο
- uid2idx_vars: Dict[int, int]ο
- uid2vars_glob_nameο
- valuesο
- variable_arrayο
- variablesο
- vars_glob_name2uidο
- well_initializedο
VeraGridEngine.Simulations.EMT.emt_solver_factory moduleο
- VeraGridEngine.Simulations.EMT.emt_solver_factory.build_emt_solver(options: EmtOptions, problem: EmtProblemTemplate, t0: float, t_end: float, h: float, method: DynamicIntegrationMethod = DAE_Trapezoidal, newton_diag_config: NewtonDiagnosticsConfig | None = None, progress_signal: DummySignal | None = None, cancel_checker: Callable[[], bool] | None = None) Any[source]ο
Build the configured EMT solver.
- Parameters:
options (EmtOptions) β EMT options selecting the solver implementation.
problem (EmtProblemTemplate) β EMT problem instance consumed by the solver.
t0 (float) β Initial simulation time.
t_end (float) β Final simulation time.
h (float) β Nominal integration time step.
method (DynamicIntegrationMethod) β Integration method used by the solver.
newton_diag_config (NewtonDiagnosticsConfig | None) β Optional Newton diagnostics configuration.
progress_signal (DummySignal | None) β Optional progress signal propagated to the solver loop.
cancel_checker (Callable[[], bool] | None) β Optional cancellation callback checked by the solver at safe boundaries.
- Returns:
Configured EMT solver instance.
- Return type:
Any
VeraGridEngine.Simulations.EMT.initialization_emt moduleο
- class VeraGridEngine.Simulations.EMT.initialization_emt.EmtInitializationReport(method_requested: EmtInitializationMethod)[source]ο
Bases:
objectStores the outcome of the EMT-native initialization workflow.
- automatic_dx0_count: intο
- constant_param_build_s: floatο
- dx0_completion_s: floatο
- dx0_seed_build_s: floatο
- elapsed_s: floatο
- final_residual_inf: floatο
- initial_residual_eval_s: floatο
- initial_residual_inf: floatο
- message: strο
- method_requested: EmtInitializationMethodο
- method_used: EmtInitializationMethodο
- missing_dx_problem_collect_s: floatο
- missing_dx_scatter_s: floatο
- newton_elapsed_s: floatο
- newton_iterations: intο
- persistent_cache_hit: boolο
- persistent_cache_load_s: floatο
- persistent_cache_store_s: floatο
- pseudo_transient_elapsed_s: floatο
- pseudo_transient_steps: intο
- reduced_system_build_s: floatο
- runtime_param_build_s: floatο
- solution_apply_s: floatο
- state_rhs_eval_s: floatο
- state_rhs_vector_build_s: floatο
- state_rhs_vector_cache_hit: boolο
- status: EmtInitializationStatusο
- unknown_var_count: intο
- unresolved_state_count: intο
- x0_rebuild_s: floatο
- class VeraGridEngine.Simulations.EMT.initialization_emt.EmtPseudoTransientProblemAdapter(reduced_system: ReducedInitializationSystem, problem: EmtProblemTemplate, x_full: ndarray, dx_full: ndarray, runtime_params: ndarray, constant_params: ndarray)[source]ο
Bases:
RmsProblemTemplateAdapt one EMT reduced initialization system to the RMS pseudo-transient solver API.
The RMS pseudo-transient implementation expects a problem object exposing the RMS numerical interface. This adapter provides that interface on top of the EMT reduced initialization residual and Jacobian so the EMT initializer can reuse the existing pseudo-transient algorithm without changing the solver.
- algebraic_vars() List[Var][source]ο
Return the reduced non-state unknowns.
- Returns:
Reduced non-state unknown list.
- Return type:
List[Var]
- get_algebraic_var_number() int[source]ο
Return the number of reduced algebraic-like unknowns.
The reduced initialization system mixes algebraic variables with any unresolved states. The RMS solver only needs a partition size, so the complementary block to the unresolved-state count is returned here.
- Returns:
Number of reduced unknowns treated as non-state variables.
- Return type:
int
- get_algebraic_vars() List[Var][source]ο
Return the reduced unknowns treated as algebraic by the adapter partition.
- Returns:
Reduced non-state unknown list.
- Return type:
List[Var]
- get_all_vars_number() int[source]ο
Return the number of reduced initialization unknowns.
- Returns:
Number of reduced unknowns.
- Return type:
int
- get_diff_var_number() int[source]ο
Return the number of differential variables used by the reduced solver.
The RMS pseudo-transient solver asks for a differential-vector size even when the EMT reduced initialization stage does not solve an explicit EMT differential system in local coordinates. Returning the full EMT dx length preserves compatibility with the residual evaluation helpers.
- Returns:
Differential-vector size expected by the EMT residual evaluation.
- Return type:
int
- get_dx(x: ndarray, xn: ndarray, dx: ndarray, h: float) ndarray[source]ο
Return the EMT differential vector used by the reduced residual helpers.
The RMS pseudo-transient code requests a derivative estimate for its DAE residual construction. The EMT reduced initialization residual already carries all required differential information through the full EMT dx buffer, so the adapter returns a copy of that frozen vector.
- Parameters:
x (np.ndarray) β Current reduced iterate.
xn (np.ndarray) β Previous reduced iterate.
dx (np.ndarray) β Previous differential estimate.
h (float) β Pseudo-time step size.
- Returns:
Differential vector used by EMT residual evaluation.
- Return type:
np.ndarray
- get_j11(x: ndarray, dx: ndarray, h: float) csc_matrix[source]ο
Return the reduced Jacobian state-state block.
- Parameters:
x (np.ndarray) β Current reduced iterate.
dx (np.ndarray) β Differential vector requested by the solver.
h (float) β Pseudo-time step size.
- Returns:
State-state Jacobian block.
- Return type:
sp.csc_matrix
- get_j12(x: ndarray, dx: ndarray, h: float) csc_matrix[source]ο
Return the reduced Jacobian state-algebraic block.
- Parameters:
x (np.ndarray) β Current reduced iterate.
dx (np.ndarray) β Differential vector requested by the solver.
h (float) β Pseudo-time step size.
- Returns:
State-algebraic Jacobian block.
- Return type:
sp.csc_matrix
- get_j21(x: ndarray, dx: ndarray, h: float) csc_matrix[source]ο
Return the reduced Jacobian algebraic-state block.
- Parameters:
x (np.ndarray) β Current reduced iterate.
dx (np.ndarray) β Differential vector requested by the solver.
h (float) β Pseudo-time step size.
- Returns:
Algebraic-state Jacobian block.
- Return type:
sp.csc_matrix
- get_j22(x: ndarray, dx: ndarray, h: float) csc_matrix[source]ο
Return the reduced Jacobian algebraic-algebraic block.
- Parameters:
x (np.ndarray) β Current reduced iterate.
dx (np.ndarray) β Differential vector requested by the solver.
h (float) β Pseudo-time step size.
- Returns:
Algebraic-algebraic Jacobian block.
- Return type:
sp.csc_matrix
- get_states_number() int[source]ο
Return the number of reduced unknowns that correspond to unresolved states.
- Returns:
Count of reduced state unknowns.
- Return type:
int
- get_x0() ndarray[source]ο
Return the reduced unknown vector used to seed pseudo-transient iterations.
- Returns:
Reduced initialization vector.
- Return type:
np.ndarray
- rhs_algebraic(values: ndarray, diff_values: ndarray) ndarray[source]ο
Return the reduced residual entries associated with non-state unknowns.
- Parameters:
values (np.ndarray) β Current reduced iterate.
diff_values (np.ndarray) β Differential vector requested by the solver.
- Returns:
Reduced residual algebraic block.
- Return type:
np.ndarray
- rhs_state(x: ndarray, dx: ndarray) ndarray[source]ο
Return the reduced residual entries associated with unresolved states.
- Parameters:
x (np.ndarray) β Current reduced iterate.
dx (np.ndarray) β Differential vector requested by the solver.
- Returns:
Reduced residual state block.
- Return type:
np.ndarray
- state_vars() List[Var][source]ο
Return the reduced unknowns treated as states by the adapter partition.
- Returns:
Reduced state unknown list.
- Return type:
List[Var]
- uid2idx_vars: Dict[int, int]ο
- update_variable_params(t: float, x_snapshot: ndarray | None = None) None[source]ο
Keep the EMT runtime-parameter snapshot aligned with the RMS solver API.
The EMT reduced initializer freezes the runtime parameters before entering the pseudo-transient solve. The RMS solver still invokes this hook at the beginning of the loop, so the adapter accepts the call and intentionally preserves the already prepared parameter arrays.
- Parameters:
t (float) β Pseudo-time value requested by the solver.
x_snapshot (np.ndarray | None) β Optional reduced state snapshot.
- Returns:
None.
- Return type:
None
- class VeraGridEngine.Simulations.EMT.initialization_emt.InitializationStateRhsVector(source_code: str, use_jit: bool, output_size: int)[source]ο
Bases:
objectLightweight state-RHS evaluator used by
dx0completion.
- class VeraGridEngine.Simulations.EMT.initialization_emt.InitializationVectorCache[source]ο
Bases:
objectIn-process cache for symbolic vectors used during EMT initialization.
- get_entry(cache_key: str) InitializationVectorCacheEntry | None[source]ο
Return one cached initialization-vector entry.
- Parameters:
cache_key (str) β Deterministic cache key.
- Returns:
Cached entry or
None.- Return type:
- set_entry(cache_key: str, entry: InitializationVectorCacheEntry) None[source]ο
Store one cached initialization-vector entry.
- Parameters:
cache_key (str) β Deterministic cache key.
entry (InitializationVectorCacheEntry) β Cache entry.
- Returns:
None.
- Return type:
None
- class VeraGridEngine.Simulations.EMT.initialization_emt.InitializationVectorCacheEntry(vector: SymbolicVector)[source]ο
Bases:
objectIn-process cache entry for one initialization-stage symbolic vector.
- get_vector() SymbolicVector[source]ο
Return the cached symbolic vector evaluator.
- Returns:
Cached symbolic vector evaluator.
- Return type:
- class VeraGridEngine.Simulations.EMT.initialization_emt.ReducedInitializationSystem(problem: EmtProblemTemplate, unknown_vars: List[Var], residual_eqs: List[Expr], state_unknown_mask: ndarray)[source]ο
Bases:
objectReduced EMT initialization system built on top of the unresolved variables only.
- jacobian_fnο
- residual_eqsο
- residual_fnο
- state_unknown_maskο
- unknown_varsο
- class VeraGridEngine.Simulations.EMT.initialization_emt.ReducedInitializationSystemCache[source]ο
Bases:
objectIn-process cache for reduced EMT initialization systems.
- get_entry(cache_key: str) ReducedInitializationSystemCacheEntry | None[source]ο
Return one cached reduced-system entry.
- Parameters:
cache_key (str) β Deterministic cache key.
- Returns:
Cached entry or
None.- Return type:
- set_entry(cache_key: str, entry: ReducedInitializationSystemCacheEntry) None[source]ο
Store one cached reduced-system entry.
- Parameters:
cache_key (str) β Deterministic cache key.
entry (ReducedInitializationSystemCacheEntry) β Cache entry.
- Returns:
None.
- Return type:
None
- class VeraGridEngine.Simulations.EMT.initialization_emt.ReducedInitializationSystemCacheEntry(residual_fn: SymbolicVector, jacobian_fn: SymbolicJacobian)[source]ο
Bases:
objectIn-process cache entry for reduced EMT initialization systems.
- get_jacobian_fn() SymbolicJacobian[source]ο
Return the cached reduced Jacobian evaluator.
- Returns:
Reduced Jacobian evaluator.
- Return type:
- get_residual_fn() SymbolicVector[source]ο
Return the cached reduced residual evaluator.
- Returns:
Reduced residual evaluator.
- Return type:
- VeraGridEngine.Simulations.EMT.initialization_emt.build_uid_bindings(eq: Expr | Const, event_params_array: ndarray, x: ndarray, params_array: ndarray, dx: ndarray, uid2idx_event_params: Dict[int, int], uid2idx_vars: Dict[int, int], uid2idx_params: Dict[int, int], uid2idx_diff: Dict[int, int]) Dict[int, float][source]ο
Builds a mapping of Unique Identifiers (UIDs) to their current numeric values.
- Parameters:
eq β The symbolic expression to analyze.
event_params_array β Array containing resolved event parameters.
x β Array containing state and algebraic variables.
params_array β Array containing constant model parameters.
dx β Array containing derivative values.
uid2idx_event_params β Mapping of UID to index for event parameters.
uid2idx_vars β Mapping of UID to index for variables.
uid2idx_params β Mapping of UID to index for constants.
uid2idx_diff β Mapping of UID to index for derivatives.
- Returns:
A dictionary mapping UIDs to their float values.
- VeraGridEngine.Simulations.EMT.initialization_emt.can_compute_init(var: Var, eq: Expr | Const, mdl: Block, init_guess: Dict[int, float], diff_init_guess: Dict[int, float], uid2idx_diff: Dict[int, int], uid2idx_vars: Dict[int, int]) bool[source]ο
Determines if an initialization equation is computable based on current knowns.
- Parameters:
var β Target variable.
eq β The expression to evaluate.
mdl β The model block.
init_guess β Current variable guesses.
diff_init_guess β Current derivative guesses.
uid2idx_diff β UID map for derivatives.
uid2idx_vars β UID map for variables.
- Returns:
Boolean indicating if all dependencies are met.
- VeraGridEngine.Simulations.EMT.initialization_emt.event_param_is_resolved(v: Var, mdl: Block) bool[source]ο
Checks if an event parameter has been assigned a concrete value.
- Parameters:
v β The variable representing the event parameter.
mdl β The symbolic model block.
- Returns:
True if resolved, False otherwise.
- VeraGridEngine.Simulations.EMT.initialization_emt.init_explicit_emt(mdl: Block, sys_vars: Dict[int, Var], sys_diff_vars: Dict[int, Var], variable_parameters: List[Var], event_parameters_eqs: List[Expr | Const], constant_parameters: List[Var], constant_parameter_values: List[Const], init_guess: Dict[int, float], diff_init_guess: Dict[int, float], uid2idx_vars: Dict[int, int], uid2idx_diff: Dict[int, int], uid2idx_params: Dict[int, int], uid2idx_event_params: Dict[int, int], compiler_names_dict: Dict[int, str], alias_names_dict: Dict[int, str], VARIABLE_PARAMS_NAME: str, VARS_NAME: str, DIFF_NAME: str, CONSTANT_PARAMS_NAME: str, verbose: bool = False) Tuple[Dict[int, float], Dict[int, float]] | None[source]ο
Initializes the EMT model by solving initialization and differential equations.
This function performs a topological-like resolution of model variables. It uses fixed-point iteration for self-referencing equations and handles dependencies between algebraic and differential states.
- Parameters:
mdl β Symbolic model block.
sys_vars β Registry of system variables.
sys_diff_vars β Registry of system differential variables.
variable_parameters β List of parameters that change on events.
event_parameters_eqs β Initial equations for event parameters.
constant_parameters β List of constant parameters.
constant_parameter_values β Values associated with
constant_parameters.init_guess β Initial guesses for variables.
diff_init_guess β Initial guesses for derivatives.
uid2idx_vars β Index map for variables.
uid2idx_diff β Index map for derivatives.
uid2idx_params β Index map for parameters.
uid2idx_event_params β Index map for event parameters.
compiler_names_dict β Map for variable naming in compilation.
alias_names_dict β Map for variable aliases.
VARIABLE_PARAMS_NAME β Name for variable parameter array.
VARS_NAME β Name for state variable array.
DIFF_NAME β Name for derivative array.
CONSTANT_PARAMS_NAME β Name for constant parameter array.
verbose β Whether to print explicit initialization diagnostics.
- Returns:
Updated initial guesses and modified model block.
- VeraGridEngine.Simulations.EMT.initialization_emt.init_pseudo_transient(problem: EmtProblemTemplate, options: EmtOptions) EmtInitializationReport[source]ο
Run the EMT-native initialization workflow forcing the pure pseudo-transient path.
This helper does not execute explicit initialization. It starts from the current problem seed, which in the main EMT build workflow corresponds to the power-flow projected variables.
- Parameters:
problem β EMT problem being initialized.
options β EMT simulation options.
- Returns:
Initialization report.
- VeraGridEngine.Simulations.EMT.initialization_emt.run_emt_explicit_initialization(problem: EmtProblemTemplate, verbose: bool = False) None[source]ο
Run the explicit EMT initialization stage on a full problem object.
- Parameters:
problem β EMT problem being initialized.
verbose β Print explicit initialization details.
- Returns:
None
- VeraGridEngine.Simulations.EMT.initialization_emt.run_emt_native_initialization(problem: EmtProblemTemplate, options: EmtOptions) EmtInitializationReport[source]ο
Run the EMT-native initialization stages after power-flow variable projection.
The workflow keeps the current seed intact, then solves only the unresolved subset with the native initialization algorithm requested by
options.initialization_method. In the main EMT build workflow, the seed comes either from power-flow projection alone for purePseudoTransientor from power-flow projection plus explicit initialization for the other modes. Missing differential initial values are computed automatically from the state equations.- Parameters:
problem β EMT problem being initialized.
options β EMT simulation options.
- Returns:
Initialization report.