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.import_line_lengthJMartiFitOptions.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
EmtDeviceDispositionEmtInterfaceValidationErrorEmtProblemDaeEmtProblemDae.add_device_var()EmtProblemDae.boundary_updateEmtProblemDae.build_reportEmtProblemDae.commit_boundary()EmtProblemDae.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.history_modelsEmtProblemDae.initialization_reportEmtProblemDae.loggerEmtProblemDae.optionsEmtProblemDae.power_flow_resultsEmtProblemDae.power_flow_results_3phEmtProblemDae.reset_boundary_update_state()EmtProblemDae.resolve_manufacturer_native_boundary()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.step_counterEmtProblemDae.update()EmtProblemDae.vars_glob_name2uid
EmtTopologyErrorfind_name_in_block()validate_line_phase_layout()
- VeraGridEngine.Simulations.EMT.problems.emt_problem_multilinear module
EmtProblemMultilinearEmtProblemMultilinear.PhiEmtProblemMultilinear.SEmtProblemMultilinear.build_multilinear_matrices()EmtProblemMultilinear.build_sparse_h_from_s_phi()EmtProblemMultilinear.evaluate_residual_from_cptensor()EmtProblemMultilinear.exact_phi_from_s()EmtProblemMultilinear.exact_residual_from_s_phi()EmtProblemMultilinear.fit_cptensor_from_s_phi()EmtProblemMultilinear.get_E_matrix()EmtProblemMultilinear.get_floquet_ak_stack()EmtProblemMultilinear.get_floquet_jacobian_evaluator()EmtProblemMultilinear.get_static_state_matrix()EmtProblemMultilinear.linearize_matrices()EmtProblemMultilinear.linearize_multilinear()
- 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.diff_init_guessEmtProblemTemplate.event_parameters_eqsEmtProblemTemplate.event_params_init_dictEmtProblemTemplate.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.gridEmtProblemTemplate.init_guessEmtProblemTemplate.progress_signalEmtProblemTemplate.progress_textEmtProblemTemplate.rebuild_runtime_param_vectors()EmtProblemTemplate.refresh_runtime_equations_from_hierarchy()EmtProblemTemplate.report_progress()EmtProblemTemplate.report_progress2()EmtProblemTemplate.reset_boundary_update_state()EmtProblemTemplate.set_dx0()EmtProblemTemplate.set_events_group()EmtProblemTemplate.set_newton_trace_collector()EmtProblemTemplate.set_runtime_mode_parameters()EmtProblemTemplate.set_x0()EmtProblemTemplate.state_and_algebraic_vars()EmtProblemTemplate.sys_blockEmtProblemTemplate.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_step()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.diff_varsSparseADJacobian.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, init_fix_pf_bus_voltages: bool = False, 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, fmi_state_event_time_tolerance: float = 1e-09, fmi_state_event_max_iterations: int = 32, fmi_me_newton_absolute_tolerance: float = 1e-08, fmi_me_newton_relative_tolerance: float = 1e-08, fmi_me_newton_max_iterations: int = 20, fmi_me_max_continuous_states: int = 128, fmi_me_max_runtime_evaluations_per_step: int = 100000)[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:init_fix_pf_bus_voltages, 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, prop:fmi_state_event_time_tolerance, prop:fmi_state_event_max_iterations, prop:fmi_me_newton_absolute_tolerance, prop:fmi_me_newton_relative_tolerance, prop:fmi_me_newton_max_iterations, prop:fmi_me_max_continuous_states, prop:fmi_me_max_runtime_evaluations_per_step)ο
- 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:init_fix_pf_bus_voltages, 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, prop:fmi_state_event_time_tolerance, prop:fmi_state_event_max_iterations, prop:fmi_me_newton_absolute_tolerance, prop:fmi_me_newton_relative_tolerance, prop:fmi_me_newton_max_iterations, prop:fmi_me_max_continuous_states, prop:fmi_me_max_runtime_evaluations_per_step)ο
- 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, 'fmi_me_max_continuous_states': prop:fmi_me_max_continuous_states, 'fmi_me_max_runtime_evaluations_per_step': prop:fmi_me_max_runtime_evaluations_per_step, 'fmi_me_newton_absolute_tolerance': prop:fmi_me_newton_absolute_tolerance, 'fmi_me_newton_max_iterations': prop:fmi_me_newton_max_iterations, 'fmi_me_newton_relative_tolerance': prop:fmi_me_newton_relative_tolerance, 'fmi_state_event_max_iterations': prop:fmi_state_event_max_iterations, 'fmi_state_event_time_tolerance': prop:fmi_state_event_time_tolerance, 'idtag': prop:idtag, 'init_allow_state_equilibrium': prop:init_allow_state_equilibrium, 'init_dense_threshold': prop:init_dense_threshold, 'init_fix_pf_bus_voltages': prop:init_fix_pf_bus_voltages, '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:init_fix_pf_bus_voltages, 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, prop:fmi_state_event_time_tolerance, prop:fmi_state_event_max_iterations, prop:fmi_me_newton_absolute_tolerance, prop:fmi_me_newton_relative_tolerance, prop:fmi_me_newton_max_iterations, prop:fmi_me_max_continuous_states, prop:fmi_me_max_runtime_evaluations_per_step)ο
- allow_internal_sparse_fallback: boolο
- compiled_warmup_policy: StructuralCompiledWarmupPolicyο
- external_sparse_solver_directory: strο
- external_sparse_solver_plugin_name: strο
- fmi_me_max_continuous_states: intο
- fmi_me_max_runtime_evaluations_per_step: intο
- fmi_me_newton_absolute_tolerance: floatο
- fmi_me_newton_max_iterations: intο
- fmi_me_newton_relative_tolerance: floatο
- fmi_state_event_max_iterations: intο
- fmi_state_event_time_tolerance: floatο
- init_allow_state_equilibrium: boolο
- init_dense_threshold: intο
- init_fix_pf_bus_voltages: boolο
- init_newton_backtracking: boolο
- init_newton_max_iter: intο
- init_newton_tol: floatο
- init_ptc_dtau0: floatο
- init_ptc_dtau_max: floatο
- init_ptc_dtau_min: floatο
- init_ptc_max_iter: intο
- initialization_method: EmtInitializationMethodο
- integration_method: DynamicIntegrationMethodο
- newton_backtracking_betaο
- newton_backtracking_max_iterο
- newton_backtracking_min_alphaο
- newton_compute_dense_condο
- newton_dense_cond_max_nο
- newton_dense_cond_warnο
- newton_enable_backtrackingο
- newton_enable_fallbackο
- newton_enable_index1_checkο
- newton_index1_fail_pivot_ratioο
- newton_index1_max_block_nο
- newton_index1_warn_pivot_ratioο
- newton_step_norm_explodeο
- problem_type: EmtProblemTypesο
- simulation_time: floatο
- solver_type: EmtSolverTypesο
- sparse_solver: SparseSolverο
- time_step: floatο
- tolerance: floatο
- verboseο
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, logger: Logger | None = None) EmtProblemDae[source]ο
Build the EMT problem implementation selected in the simulation options.
- Parameters:
grid β Electrical grid whose devices define the EMT problem.
options β EMT configuration, including the requested problem type.
pf_results β Optional balanced power-flow initialization results.
pf_results_3ph β Optional three-phase power-flow initialization results.
progress_signal β Optional signal used to publish numeric progress.
logger β Optional logger owned by the simulation driver.
- Returns:
Configured EMT problem ready to be passed to a solver.
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 | UndergroundCableType | TransformerType | EmissionGas | BranchGroup | LineLocations | LineLocation | ModellingAuthority | Facility | MarketUnit | MarketUnitsGroup | Fuel | Investment | InvestmentsGroup | Contingency | ContingencyGroup | RemedialAction | RemedialActionGroup | Technology | Owner | UndergroundLineType | DcCableType | SequenceLineType | ManufacturerNativeModel | RmsModelTemplate | EmtModelTemplate | FmuTemplate | ControlPc | 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ο
- 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 | UndergroundCableType | TransformerType | EmissionGas | BranchGroup | LineLocations | LineLocation | ModellingAuthority | Facility | MarketUnit | MarketUnitsGroup | Fuel | Investment | InvestmentsGroup | Contingency | ContingencyGroup | RemedialAction | RemedialActionGroup | Technology | Owner | UndergroundLineType | DcCableType | SequenceLineType | ManufacturerNativeModel | RmsModelTemplate | EmtModelTemplate | FmuTemplate | ControlPc | RmsEvent | RmsEventsGroup | ShortCircuitEvent | IfMeasurement | ItMeasurement | QfMeasurement | PfMeasurement | QtMeasurement | PtMeasurement | QiMeasurement | PiMeasurement | VmMeasurement | VaMeasurement | PgMeasurement | QgMeasurement, List[Var]]ο
- 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 | UndergroundCableType | TransformerType | EmissionGas | BranchGroup | LineLocations | LineLocation | ModellingAuthority | Facility | MarketUnit | MarketUnitsGroup | Fuel | Investment | InvestmentsGroup | Contingency | ContingencyGroup | RemedialAction | RemedialActionGroup | Technology | Owner | UndergroundLineType | DcCableType | SequenceLineType | ManufacturerNativeModel | RmsModelTemplate | EmtModelTemplate | FmuTemplate | ControlPc | 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]]ο
- 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: InitializationStateRhsVector | SymbolicVector)[source]ο
Bases:
objectIn-process cache entry for one initialization-stage symbolic vector.
- get_vector() InitializationStateRhsVector | 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.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_device_pseudo_transient_initialization(problem: EmtProblemTemplate, blocks: List[Block], options: EmtOptions, check_kcl: bool = True) EmtInitializationReport[source]ο
Solve each complete device at a balanced periodic PF operating point.
Device registration and residuals use only dynamic equations. Machine and controller children share one solve. PF terminal voltages remain fixed and mapped terminal currents anchor the operating point. Unseeded Const(None) event parameters become unknown references; symbolic references also carry their defining residual. Neither init_eqs nor diff_init_eqs is evaluated.
Pseudo time relaxes f(x)-D_periodic(x)=0. ABC state triples use their fundamental sinusoidal derivatives; dq/controller states use zero and absolute rotor angles advance at grid frequency. This balanced fundamental approximation is checked against the assembled DAE at four cycle phases.
- 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. The concrete EMT build uses device-local periodic pseudo-transient initialization directly from PF seeds forPseudoTransient; this native dispatcher remains available for direct helper calls and the other initialization methods. Missing differential initial values are computed automatically from the state equations.- Parameters:
problem β EMT problem being initialized.
options β EMT simulation options.
- Returns:
Initialization report.
- VeraGridEngine.Simulations.EMT.initialization_emt.validate_emt_periodic_initialization(problem: EmtProblemTemplate, blocks: List[Block], options: EmtOptions, report: EmtInitializationReport) EmtInitializationReport[source]ο
Check the assembled periodic DAE at four phases without time integration.