CHANGELOG¶
3.1.x¶
Added¶
- Added
analysis_mode(FAST/FULL) andswitching_mode(LITE/DETAIL) totransient_analysis().waveform_analysis()has been merged into it. - Added
PowerAnalysisOptions. The settings ofpower_analysis()are specified via this class. - Added
SwitchingMode(the successor toPowerAnalysisMode). - Added
AnalysisCondition.fast_tailandfet_lite. - Added
part_type(),attribute()/set_attribute(),valid_outputs(), andvalid_parameters()toConverter. SwitchingMode.LITE(the lite FET model) now supports SiC / IGBT.- Added the exception
SimulationError, which represents a simulation error during the analysis (state over and so on). It can be caught withtry/except, and you can obtain the type and message of the error frome.error. - Added
ScideampyError, the base class of the exceptions raised by scideampy. Use it when you want to catch the exceptions originating from this library together.
Changed¶
- Renamed
update_parameter()→carry_over_state(). - Renamed the arguments of
set_analysis_condition():divta→damped_step_subdiv,divtw→sine_step_subdiv,fctta→step_repetition_factor,divtprf→loss_long_step_subdiv,divtmdl→loss_short_step_subdiv. - The settings arguments of
power_analysis()/fra()are keyword-only (options=...). Specifying them as positional arguments is not possible. FraOptionsandPowerAnalysisOptionsare frozen. Attribute assignment after instance creation is not possible.set_parameter()raisesValueErrorwhen the parameter name is invalid (when the symbol is invalid it raisesRuntimeErroras before).- Embedded hints about the valid output candidates in the
RuntimeErrorofadd_output(). - When a simulation error occurs during an analysis (
transient_analysis()/steady_state_analysis()/power_analysis()),SimulationErroris raised. When a handler is registered withwith_error_handler(), the error is notified to the callback as before andSimulationErroris not raised.
Fixed¶
- Fixed the problem that files could not be handled with paths containing non-ASCII characters such as Japanese. On Windows, a path that contains characters that do not exist in the system character encoding results in a
RuntimeError.
Removed¶
- Removed
waveform_analysis(). Migrate totransient_analysis(time, analysis_mode=AnalysisMode.FULL). - Removed
AnalysisCondition.fet_crssandigbt_cres. They are now always treated as enabled on the engine side, and the settings cannot be changed. - Removed the
fet_crssandigbt_cresarguments ofset_analysis_condition(). - Removed
PowerAnalysisModefrom directly underscideampy. The successor isSwitchingMode. If you want to reference it by the old name, usefrom scideampy.legacy import PowerAnalysisMode. - Removed
Converter.enable_error_handler()/Converter.disable_error_handler(). Because error notification is enabled automatically, they are unnecessary.
Migration from the old API (scideampy.legacy)¶
⚠️
scideampy.legacyis scheduled to be removed in a future major version (4.0). Please use the main 3.1 API for new code. We also recommend migrating existing code progressively.
Most of the 3.0 API is frozen in scideampy.legacy. It works as before by rewriting the import path.
# 3.0
from scideampy import Converter, PowerAnalysisMode
# To maintain the 3.0 behavior in 3.1
from scideampy.legacy import Converter, PowerAnalysisMode
The 3.0 API that remains in legacy:
Converter.transient_analysis(time)(without the mode argument)Converter.waveform_analysis(time, for_detail_switch=False, ...)Converter.update_parameter()Converter.power_analysis(mode=PowerAnalysisMode.DETAIL, base_sw=..., ...)(the old signature)Converter.set_analysis_condition(divta=..., divtw=..., fctta=..., divtprf=..., divtmdl=..., ...)(the old argument names)AnalysisCondition.divta/divtw/fctta/divtprf/divtmdl(the old property names)PowerAnalysisMode(an alias ofSwitchingMode)
Changes that cannot be restored even with legacy (they behave as in 3.1):
AnalysisCondition.fet_crssandigbt_creshave been removed. They are now always treated as enabled on the engine side, and the settings can no longer be changed. They cannot be referenced in the legacy version either.set_analysis_condition(fet_crss=..., igbt_cres=...)has likewise been removed.
About using it together with the new API:
For a gradual migration, you can also use the main API and legacy together in the same script. The criteria are as follows.
- ✅ Common symbols can be mixed:
OutputType,NodeLockKey,LicenseType,Loss,LossNode,Error,FraOptions,Param,Params,ParamsEncoder,timeout_quit, and so on are the same objects whether you import them fromscideampyor fromscideampy.legacy. There is no problem with importing them from both. - ❌ Mixing both APIs on the same
Converterinstance is not possible: calling a new API method (such ascarry_over_state()) on an instance ofscideampy.legacy.Converterresults in anAttributeError, and passing a new argument (such asanalysis_mode=...) results in aTypeError. The reverse is also true.