Skip to content

Solver Settings

Solver settings control the behavior of the RAMSES simulation engine. They are specified as records starting with $ in the data files.

Episode 4 of the video series, Solvers, Tolerances and Parallelism, covers this page.

Sampling time for observed variables:

$PLOT_STEP time(s) ;

Display profiling results after simulation:

$DISP_PROF T/F ;

How often the engine flushes the run-time observable file, in seconds. A reader watching that file, such as STEPSS GUI’s run-time curve window, polls at this rate, so it is also how often those curves advance:

$GP_REFRESH_RATE time_interval(s) ;

Whether the engine drives Gnuplot itself through a pipe. With F it writes the observable file and the .plt script beside it and calls nothing, which is what the STEPSS interfaces read. With T it pipes to Gnuplot, which must then be on the PATH; STEPSS does not ship it.

$CALL_GP T/F ;

Default: F.

Which terminal the .plt script names, for opening that script in Gnuplot. It has no effect on the curves STEPSS draws:

$GP_MODE term/png ;

Default: term.

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.

Sets the global base power of the system:

$S_BASE BASE(MVA) ;
FNOM Frequency(Hz) ;
$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.

$NEWTON_TOLER NETWORK_TOLERANCE INJ_RELATIVE_TOLERANCE INJ_ABSOLUTE_TOLERANCE ;

Default values: 1e-03, 5e-04, 5e-04.

Values used to compute Jacobian matrices of injectors numerically:

$FIN_DIFFER proportional_value absolute_value ;

Disable partial Jacobian updates (force full update at every step):

$FULL_UPDATE T/F ;

Activate/deactivate skipping of converged injectors in Newton iterations:

$SKIP_CONV T/F ;
$MAX_FAULT value ;

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.

$SCHEME DE/IN ;
  • DE: Decomposed scheme
  • IN: Integrated scheme

Largest state count accepted by small-signal analysis:

$EIG_MAX_STATES Number ;

Default: 5000. The reduced state matrix is solved densely, so the peak workspace is roughly 9Nx29N_x^2 doubles, about 1.8 GB at the default. Above the limit the analysis refuses and exits 78 rather than attempting the allocation.

Floor below which a participation entry is not written to <name>_pf.dat by small-signal analysis:

$PF_THRES Number ;

Default: 1e-3. This is a size guard rather than a parameter of the analysis, which is why it sits here beside $EIG_MAX_STATES and not on the EIG record. Participation is the one output quadratic in the state count, one row per (mode, state) pair, so at the $EIG_MAX_STATES default an unfloored file would be 25 million rows and roughly 2 GB.

No mode can be emptied by it for any value below 1: each mode’s column is normalised so its largest entry is exactly 1. Raise it to bound the file on a large system; lower it to see smaller entries. Which entries are worth reading is decided by whoever reads the file, not here.

$LATENCY OBS_TIME_WINDOW(s) EARLY_STOP(T/F) ;

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.

$T_LOAD_REST time(s) ;

Update network elements (admittances) with frequency:

Network frequency update model
$NET_FREQ_UPD T/F ;
$NB_THREADS Number ;
$OMP STA/DYN/GUI chunk ;
OptionDescription
STAStatic assignment (better for NUMA architectures)
DYNDynamic assignment (better for UMA architectures)
GUIGuided assignment

chunk is the number of consecutive injectors assigned to each thread.

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 ;
# 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 ;