Barostat Parameters

SPONGE 2.0 documentation: Barostat Parameters.

Organized by GPT-6-Astra. SPONGE 2.0 is under active, iterative development; features, parameters, and documentation may change. Consult the GitHub repository’s docs and skills for the latest version information.

Source snapshot for this page.

Barostat Parameters

SPONGE requires a barostat in npt mode.

For TOML input, prefer the grouped form:

mode = "npt"
target_pressure = 1.0

[barostat]
mode = "andersen_barostat"
seed = 2026
tau = 0.1
update_interval = 10

The parser also accepts the flat compatibility keys barostat, barostat_tau, barostat_update_interval, and similar barostat_* keys, but new documentation should use grouped TOML form.

Barostat Selection

ParameterScopeTypeDefaultDescription
modebarostatstringrequired for NPTBarostat algorithm

Supported values:

ValueDescription
"andersen_barostat"Pressure-based Andersen barostat
"berendsen_barostat"Pressure-based Berendsen barostat
"bussi_barostat"Pressure-based Bussi barostat
"monte_carlo_barostat"Monte Carlo barostat

Top-level Parameters

ParameterScopeTypeDefaultDescription
target_pressuretop-levelfloat1.0Target pressure in bar
target_surface_tensortop-levelfloat0.0Target surface tension term used by pressure-based barostats

target_pressure stays at the top level even when barostat options are written under [barostat].

Pressure-based Barostats

The algorithms andersen_barostat, berendsen_barostat, and bussi_barostat share the same parameter set.

[barostat]
mode = "andersen_barostat"
seed = 2026
tau = 0.1
compressibility = 4.5e-5
update_interval = 10
isotropy = "isotropic"

Common Parameters

ParameterScopeTypeDefaultDescription
seedbarostatintrandomSeed for the portable Philox stream used by stochastic pressure-based barostats
taubarostatfloat1.0Barostat time constant (ps)
compressibilitybarostatfloat4.5e-5Isothermal compressibility in bar^-1
update_intervalbarostatint10Pressure-coupling update interval
isotropybarostatstring"isotropic"Pressure-coupling mode

Supported isotropy values:

ValueDescription
"isotropic"Uniform scaling on all axes
"semiisotropic"Semi-isotropic coupling
"semianisotropic"Semi-anisotropic coupling
"anisotropic"Fully anisotropic coupling

Box-deformation Parameters

ParameterScopeTypeDescription
g11, g21, g22, g31, g32, g33barostatfloatInitial box-velocity tensor elements
x_constant, y_constant, z_constantbarostatboolFreeze box scaling on selected axes

The x_constant, y_constant, and z_constant flags are booleans in the source code, not floats.

Surface-tension Parameters

Pressure-based barostats read the target surface term from the top-level key target_surface_tensor. The compatibility key barostat_target_surface_tensor is also accepted by the parser, but should not be the primary form shown in the documentation.

Monte Carlo Barostat

monte_carlo_barostat uses a different parameter set and currently supports orthogonal boxes only.

[barostat]
mode = "monte_carlo_barostat"

[barostat.monte_carlo]
initial_ratio = 0.001
update_interval = 100
check_interval = 10
accept_rate_low = 30
accept_rate_high = 40
couple_dimension = "XYZ"

[barostat.monte_carlo] is a TOML alias group for existing monte_carlo_barostat_* runtime commands. The legacy top-level [monte_carlo_barostat] table remains accepted for compatibility.

Parameters

ParameterScopeTypeDefaultDescription
initial_ratiomonte_carlo_barostatfloat0.001Initial maximum fractional box-length move
update_intervalmonte_carlo_barostatint100MC attempt interval
check_intervalmonte_carlo_barostatint10Acceptance-rate adjustment interval
accept_rate_lowmonte_carlo_barostatfloat30Lower target acceptance rate in percent
accept_rate_highmonte_carlo_barostatfloat40Upper target acceptance rate in percent
couple_dimensionmonte_carlo_barostatstring"XYZ"Coupled box dimensions
only_directionmonte_carlo_barostatstring-Restrict moves within the selected coupling mode
surface_numbermonte_carlo_barostatint0Number of surfaces, only used for non-NO/non-XYZ coupling
surface_tensionmonte_carlo_barostatfloat0.0Surface tension, only used for non-NO/non-XYZ coupling

Supported couple_dimension values are "XYZ", "NO", "XY", "XZ", and "YZ".

Pressure Schedule

Pressure schedules are controlled by top-level keys, not by [barostat]:

ParameterTypeDescription
target_pressure_schedule_modestring"step" or "linear"
target_pressure_schedule_stepsarrayInline schedule: [{ step = N, value = P }, ...]
target_pressure_schedule_filestringPath to a TOML schedule file

Inline target_pressure_schedule_steps only works when the main mdin file is TOML.