Solver Settings
Solver settings control the behavior of the RAMSES simulation engine. They are specified as records starting with $ in the data files.
Sampling and Output
Section titled “Sampling and Output”Plot Step
Section titled “Plot Step”Sampling time for observed variables:
$PLOT_STEP time(s) ;Display Profiling
Section titled “Display Profiling”Display profiling results after simulation:
$DISP_PROF T/F ;Run-Time Refresh Rate
Section titled “Run-Time Refresh Rate”Refresh interval for runtime observable plots (requires Gnuplot):
$GP_REFRESH_RATE time_interval(s) ;Gnuplot Invocation
Section titled “Gnuplot Invocation”Enable or disable launching Gnuplot for runtime observables. When set to F, the runtime observable data are still written to file but Gnuplot is never called; useful for batch/headless runs:
$CALL_GP T/F ;Default: T.
Gnuplot Output Mode
Section titled “Gnuplot Output Mode”Select whether runtime observables are displayed in an interactive terminal window or written to PNG image files:
$GP_MODE term/png ;Default: term.
Observable Buffer Size
Section titled “Observable Buffer Size”Internal memory reserved for storing observables during simulation:
$OBS_BUFFER_SIZE size(GB) ;Default: 8 GB. Set this to less than half of your available RAM for large simulations.
Sparse Solver
Section titled “Sparse Solver”Selects the sparse linear solver used for Jacobian factorization:
$SPARSE_SOLVER name ;KLU: SuiteSparse KLU solver (default)ma41: HSL MA41 solver
System Parameters
Section titled “System Parameters”Base Power
Section titled “Base Power”Sets the global base power of the system:
$S_BASE BASE(MVA) ;Nominal Frequency
Section titled “Nominal Frequency”FNOM Frequency(Hz) ;Reference Frame
Section titled “Reference Frame”$OMEGA_REF SYN/COI ;SYN: Synchronous reference frame (suitable for short-term simulations)COI: Center of inertia reference (suitable for long-term simulations)
See Reference Frames for details.
Numerical Parameters
Section titled “Numerical Parameters”Newton Tolerance
Section titled “Newton Tolerance”$NEWTON_TOLER NETWORK_TOLERANCE INJ_RELATIVE_TOLERANCE INJ_ABSOLUTE_TOLERANCE ;Default values: 1e-03, 5e-04, 5e-04.
Finite Difference Values
Section titled “Finite Difference Values”Values used to compute Jacobian matrices of injectors numerically:
$FIN_DIFFER proportional_value absolute_value ;Full Jacobian Update
Section titled “Full Jacobian Update”Disable partial Jacobian updates (force full update at every step):
$FULL_UPDATE T/F ;Skip Converged Blocks
Section titled “Skip Converged Blocks”Activate/deactivate skipping of converged injectors in Newton iterations:
$SKIP_CONV T/F ;Maximum Fault Value
Section titled “Maximum Fault Value”$MAX_FAULT value ;Minimum Branch Impedance
Section titled “Minimum Branch Impedance”Branches whose series impedance magnitude is below this threshold have their resistance/reactance floored to it, to avoid a singular network admittance matrix:
$ZMIN value(pu) ;Default: 1e-05.
Advanced Solver Options
Section titled “Advanced Solver Options”Solution Scheme
Section titled “Solution Scheme”$SCHEME DE/IN ;DE: Decomposed schemeIN: Integrated scheme
Latency Settings
Section titled “Latency Settings”$LATENCY OBS_TIME_WINDOW(s) EARLY_STOP(T/F) ;Subnetwork Latency
Section titled “Subnetwork Latency”Apply the latency technique at the subnetwork level: subnetworks whose currents change less than the latency tolerance are not recomputed at each step. Only active when subnetworks exist:
$LAT_SUBNETS T/F ;Default: F.
Load Restoration Time Constant
Section titled “Load Restoration Time Constant”$T_LOAD_REST time(s) ;Network Frequency Update
Section titled “Network Frequency Update”Update network elements (admittances) with frequency:
$NET_FREQ_UPD T/F ;Parallel Computing
Section titled “Parallel Computing”Number of Threads
Section titled “Number of Threads”$NB_THREADS Number ;Thread Distribution Strategy
Section titled “Thread Distribution Strategy”$OMP STA/DYN/GUI chunk ;| Option | Description |
|---|---|
STA | Static assignment (better for NUMA architectures) |
DYN | Dynamic assignment (better for UMA architectures) |
GUI | Guided assignment |
chunk is the number of consecutive injectors assigned to each thread.
Miscellaneous
Section titled “Miscellaneous”User Model Library
Section titled “User Model Library”Load a compiled user-model library (MDL file) at startup, making its models available to the simulation (Windows/Intel builds only):
$BASE_MDL filename ;License
Section titled “License”Provide the licensee e-mail and the 64-character license key. A valid key unlocks the full version, removing the free-tier limit of 1000 buses:
$LICENSE email license_key ;Typical Configuration
Section titled “Typical Configuration”# System base$S_BASE 100. ;FNOM 50. ;
# Reference frame (COI for long-term)$OMEGA_REF COI ;
# Solution scheme$SCHEME IN ;
# Solver tolerances$NEWTON_TOLER 1e-03 5e-04 5e-04 ;
# Plotting$PLOT_STEP 0.01 ;
# Parallel computing$NB_THREADS 2 ;$OMP DYN 50 ;
# Acceleration features$SKIP_CONV T ;$FULL_UPDATE F ;Next Steps
Section titled “Next Steps”- PyRAMSES API, Run simulations programmatically from Python
- Test Systems, Try the Nordic or 5-bus benchmark systems